Commit Graph

632 Commits

Author SHA1 Message Date
Michael Niedermayer 17596198ca Merge commit '80ac87c13dc8c6c063e26a464c5c542357c0583f'
* commit '80ac87c13dc8c6c063e26a464c5c542357c0583f':
  lavc: support ZenoXVID custom tag
  libcdio: support recent cdio-paranoia
  float_dsp: Add #ifdef HAVE_INLINE_ASM around vector_fmul_window
  theora: Skip zero-sized headers

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 13:36:39 +01:00
Luca Barbato 43e0e0c4e5 libcdio: support recent cdio-paranoia
Upstream decided to split the paranoia interface and move the headers
accordingly.
2013-01-17 21:41:18 +01:00
Nicolas George 0e79fe37e5 lavd/v4l2: init return value.
Fix a warning and random failures.
2013-01-16 12:21:58 +01:00
Stephan Hilb f245a2086a lavd/v4l2: update broken link to v4l2 video capture example
Reviewed-by: Stefano Sabatini
2013-01-16 11:27:20 +01:00
Stephan Hilb 36810215fa lavd/v4l2: improve debug message
Reviewed-by: Stefano Sabatini
2013-01-16 11:26:38 +01:00
Stefano Sabatini d012059e7b lavd/v4l2: apply grammar/consistency fixes to options help fields 2013-01-15 21:57:37 +01:00
Stefano Sabatini aa359d3808 lavd/v4l2: return meaningful error code from device_init()
In particular, propagate errno value in case of device init failure.
2013-01-15 21:48:36 +01:00
Stefano Sabatini fce165027f lavd/v4l2: fix misc messages 2013-01-15 21:48:27 +01:00
Stefano Sabatini 1b325ce91a lavd/v4l2: extend error/debug feedback in case of invalid codec/pix_fmt 2013-01-15 21:48:21 +01:00
Michael Niedermayer a646ac8ef5 Merge commit '90cfc084e3e6d37ab88fc96a95f0401d8e8b4cd1'
* commit '90cfc084e3e6d37ab88fc96a95f0401d8e8b4cd1':
  avpacket: free side data in av_free_packet().
  v4l2: do not assert on a value received from outside of Libav
  v4l2: set the average framerate instead of codec timebase.

Conflicts:
	libavcodec/avpacket.c
	libavdevice/v4l2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 14:16:21 +01:00
Michael Niedermayer 53c2f401f7 Merge commit '246da0b13551b1f80f067e4f258e5bd691f5ab33'
* commit '246da0b13551b1f80f067e4f258e5bd691f5ab33':
  v4l2: avoid pointless indirection.
  vdpau: Add VC-1 decoding via hwaccel infrastructure
  vdpau: Add H.264 decoding via hwaccel infrastructure

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/version.h
	libavdevice/v4l2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 14:00:21 +01:00
Anton Khirnov 49dc82eef7 v4l2: do not assert on a value received from outside of Libav 2013-01-13 16:31:17 +01:00
Anton Khirnov 838b849e70 v4l2: set the average framerate instead of codec timebase.
Codec timebase is supposed to be set by decoders only.
2013-01-13 16:31:09 +01:00
Anton Khirnov 246da0b135 v4l2: avoid pointless indirection.
v4l2_read_header() does no cleanup, so it can return directly, without
any need for goto.
2013-01-13 16:30:38 +01:00
Michael Niedermayer e1cf1a9c89 Merge commit 'a0b7e289075dccf223b7f407790d8a86fc5d77e8'
* commit 'a0b7e289075dccf223b7f407790d8a86fc5d77e8':
  aviobuf: Partial support for reading in read/write contexts
  build: Avoid detecting bogus components named 'x'

Conflicts:
	libavcodec/allcodecs.c
	libavdevice/alldevices.c
	libavformat/allformats.c
	libavformat/aviobuf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 13:01:54 +01:00
Clément Bœsch 3048fae63c build: Avoid detecting bogus components named 'x'
The function find_things() in configure is confused by component
registration calls as part of multiline macros defining combined
component registration.  Coalesce those macros into one line to
work around the issue.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-03 15:11:25 +02:00
Clément Bœsch 613001d75f Merge back some registering macros in all*.c.
This breaks the sed in configure:find_things(). Fixes regression from
c73c87b. Fixes Ticket2079.

Found-by: jamal
2012-12-30 07:18:21 +01:00
Michael Niedermayer 4f1d7cc0ed bktr: fix warning: missing braces around initializer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-29 19:27:07 +01:00
Michael Niedermayer 83d4a8442c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cosmetics: Prettyprint codec/format/filter registration files

Conflicts:
	libavcodec/allcodecs.c
	libavdevice/alldevices.c
	libavfilter/allfilters.c
	libavformat/allformats.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-29 14:27:38 +01:00
Diego Biurrun c73c87b412 cosmetics: Prettyprint codec/format/filter registration files 2012-12-28 19:18:13 +01:00
Carl Eugen Hoyos 0fb79f30db Support H264 over video4linux2.
Tested-by: Val Malykh
2012-12-21 18:12:29 +01:00
Diego Biurrun 511cf612ac miscellaneous typo fixes 2012-12-21 00:18:34 +01:00
Ramiro Polla 83a9f29f60 dshow: call CoUninitialize() on dshow_read_close()
Every call to CoInitialize should have a matching CoUnititalize.

Based on patch by Don Moir <donmoir@comcast.net>.
2012-12-17 03:44:51 -02:00
Ramiro Polla 190f6135b4 dshow: handle events in graph
Handling DirectShow events prevents infinite loops when there is an error in
the graph, such as a device being disconnected. This makes it possible for
dshow to return an error to the caller and run the cleanup code.

Based on patch by Don Moir <donmoir@comcast.net>.
2012-12-17 03:44:12 -02:00
rogerdpack fe3e0e486e lavd/dshow: rename dshow class name
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-12-15 15:46:20 +01:00
Ramiro Polla f2c49da9ac dshow: fix return code when opening device
Successfully opening a device altered the ret variable, making the function
not cleanup properly and return an incorrect value for errors that happened
afterwards.

Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 21:44:30 +01:00
Clément Bœsch 377d201790 lavd/lavfi: fix float.h include.
float.h is a system header.
2012-12-06 15:09:47 +01:00
Michael Niedermayer 99efd59626 Merge commit 'cb45553f577f8e0ebfe05d3287e1b6fa5859b967'
* commit 'cb45553f577f8e0ebfe05d3287e1b6fa5859b967':
  Remove pointless #undefs of previously forbidden functions.
  fate: Add dependencies for bmp, cdxl, dfa, mp3

Conflicts:
	doc/examples/muxing.c
	libavfilter/filtfmts.c
	libavutil/des.c
	libavutil/eval.c
	libavutil/log.c
	libavutil/parseutils.c
	tests/fate/mp3.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 13:34:45 +01:00
Anton Khirnov cb45553f57 Remove pointless #undefs of previously forbidden functions. 2012-12-04 21:40:22 +01:00
Stefano Sabatini c9ff32215b lavu/opt: allow to set sample and pixel format with av_opt_set_int()
This change requires the user to specify min and max value, and makes
possible to prevent the user to set AV_{SAMPLE,PIX}_FMT_NONE if
forbidden.

Add required ifdeffery in case of mixed libraries, when libavutil is
updated but not the other libraries.

This is a followup of 08d0969c14.
2012-12-01 19:33:30 +01:00
Stefano Sabatini 08d0969c14 lavu/opt: change the way default pixel and sample format value is set
Use the i64 field rather than the string value. Using a string to set a
default sample/pixel format is weird, also the new interface is more
consistent with the rest of the API.

This is technically an API break, but hopefully there are no applications
using this feature outside of FFmpeg. In order to save backward
compatibility with mixed libraries in case libavutil is updated but not
the other libraries, some ifdeffery hacks are added.

Note that the version check is only performed when class->version != 0,
since if it is not defined then we assume that no version was defined and
the class is not affected by the change.

We will luckily get rid of the hack at the next major bump.
2012-11-30 00:01:53 +01:00
Alexander Strasser 7750c48d30 dshow: Use NO_DSHOW_STRSAFE for all dshow header inclusions
Move the NO_DSHOW_STRSAFE macro definition in front of the dshow.h
system header inclusion.

This excludes the usage of the STRSAFE functions consistently.

Further background on this can be found in the commit message of
revision 05ee0db1 where the #define was initially introduced.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-11-16 19:26:13 +01:00
Georg Lippitsch 15b02ddee0 Update iec61883 to handle multiple devices, and allow
selection of DV device by its GUID
2012-11-13 19:44:21 +01:00
Paul B Mahol 1acd2f6ba7 Replace rest of libavutil/audioconvert.h with libavutil/channel_layout.h
Also remove it in once case when it is not needed.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-13 13:21:21 +00:00
Michael Niedermayer 03b078721c Merge commit '97bf7c03b1338a867da52c159a2afecbdedcfa88'
* commit '97bf7c03b1338a867da52c159a2afecbdedcfa88':
  doc: git-howto: Leave reviewers time to react before pushing patches
  Include libavutil/channel_layout.h instead of libavutil/audioconvert.h
  lavu: rename audioconvert.* to channel_layout.* and deprecate audioconvert.h

Conflicts:
	doc/APIchanges
	doc/examples/decoding_encoding.c
	doc/git-howto.texi
	ffmpeg_filter.c
	libavcodec/flacdec.c
	libavcodec/imc.c
	libavcodec/mpegaudiodec.c
	libavcodec/utils.c
	libavfilter/asrc_anullsrc.c
	libavfilter/audio.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.c
	libavfilter/buffer.c
	libavutil/Makefile
	libavutil/audioconvert.h
	libavutil/channel_layout.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 11:32:11 +01:00
Justin Ruggles a903f8f087 Include libavutil/channel_layout.h instead of libavutil/audioconvert.h
Also reorder some other #include when applicable.
2012-11-11 13:35:12 -05:00
Michael Niedermayer 1ba0d9b5d1 oss: warn when non block mode cannot be enabled.
Fixes CID732183
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-05 00:28:21 +01:00
Michael Niedermayer e1c804d883 dv1394: Swap the min and max values of the 'standard' option
DV1394_NTSC has a lower value than DV1394_PAL.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-02 11:25:48 +02:00
Michael Niedermayer ebfc212b02 dv1394: fix order of AVOption fields
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-02 02:07:15 +01:00
Michael Niedermayer 11d695d120 x11grab: fix mixed declaration and code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-29 22:24:10 +01:00
Stefano Sabatini b19bfd6c9f lavd/lavfi: fix leak in case of failure
Jump to the common release code in case of failure.
2012-10-25 21:35:40 +02:00
Stefano Sabatini 8b03cd3cd7 lavd/lavfi: add graph_file option
Allow to specify a filename where to put the filtergraph description.

This is useful to override limitations or glitches of particular shell
environments, and allows a level of indirection for specifying
filtergraphs.
2012-10-23 22:08:55 +02:00
Isaac Dooley 469a65b150 x11: Fix x11grab BadCursor
Fixes Ticket1738

Based-on: A fix found in a perl module (http://ffmpeg.org/pipermail/ffmpeg-user/2012-August/008804.html)
Reviewed-by: Clemens Fruhwirth <clemens@endorphin.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 21:49:01 +02:00
Clément Bœsch 6fb2fd895e lavc: add lavfi metadata support.
This commit introduces a new AVPacket side data type:
AV_PKT_DATA_STRINGS_METADATA. Its main goal is to provide a way to
transmit the metadata from the AVFilterBufferRef up to the AVFrame. This
is at the moment "only" useful for lavfi input from libavdevice:
lavd/lavfi only outputs packets, and the metadata from the buffer ref
kept in its context needs to be transmitted from the packet to the frame
by the decoders. The buffer ref can be destroyed at any time (along with
the metadata), and a duplication of the AVPacket needs to duplicate the
metadata as well, so the choice of using the side data to store them was
selected.

Making sure lavd/lavfi raises the metadata is useful to allow tools like
ffprobe to access the filters metadata (it is at the moment the only
way); ffprobe will now automatically show the AVFrame metadata in any
customizable output format for users. API users will also be able to
access the AVFrame->metadata pointer the same way ffprobe does
(av_frame_get_metadata).

All the changes are done in this single commit to avoid some memory
leaks: for instances, the changes in lavfi/avcodec.c are meant to
duplicate the metadata from the buffer ref into the AVFrame. Unless we
have an internal way of freeing the AVFrame->metadata automatically, it
will leak in most of the user apps. To fix this problem, we introduce
AVCodecContext->metadata and link avctx->metadata to the current
frame->metadata and free it at each decode frame call (and in the codec
closing callback for the last one). But doing this also means to update
the way the tiff decoder already handles the AVFrame->metadata (it's the
only one decoder with frame metadata at the moment), by making sure it
is not trying to free a pointer already freed by the lavc internals.

The lavfi/avcodec.c buffer ref code is based on an old Thomas Kühnel
work, the rest of the code belongs to the commit author.

Signed-off-by: Thomas Kühnel <kuehnelth@googlemail.com>
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
2012-10-21 17:29:10 +02:00
Michael Niedermayer 6f557a2e12 caca: fix 10l typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 19:05:58 +02:00
Paul B Mahol 82eba22667 lavd: do not use av_pix_fmt_descriptors directly
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-12 15:58:37 +00:00
Michael Niedermayer 27ccc82e1b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavu,lavd: do not use av_pix_fmt_descriptors directly.

Conflicts:
	libavutil/imgutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 17:21:01 +02:00
Anton Khirnov 22c8cbc0da lavu,lavd: do not use av_pix_fmt_descriptors directly. 2012-10-12 12:45:39 +02:00
Michael Niedermayer ac627b3d38 Merge commit '716d413c13981da15323c7a3821860536eefdbbb'
* commit '716d413c13981da15323c7a3821860536eefdbbb':
  Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat

Conflicts:
	doc/examples/muxing.c
	ffmpeg.h
	ffmpeg_filter.c
	ffmpeg_opt.c
	ffplay.c
	ffprobe.c
	libavcodec/8bps.c
	libavcodec/aasc.c
	libavcodec/aura.c
	libavcodec/avcodec.h
	libavcodec/avs.c
	libavcodec/bfi.c
	libavcodec/bmp.c
	libavcodec/bmpenc.c
	libavcodec/c93.c
	libavcodec/cscd.c
	libavcodec/cyuv.c
	libavcodec/dpx.c
	libavcodec/dpxenc.c
	libavcodec/eatgv.c
	libavcodec/escape124.c
	libavcodec/ffv1.c
	libavcodec/flashsv.c
	libavcodec/fraps.c
	libavcodec/h264.c
	libavcodec/huffyuv.c
	libavcodec/iff.c
	libavcodec/imgconvert.c
	libavcodec/indeo3.c
	libavcodec/kmvc.c
	libavcodec/libopenjpegdec.c
	libavcodec/libopenjpegenc.c
	libavcodec/libx264.c
	libavcodec/ljpegenc.c
	libavcodec/mjpegdec.c
	libavcodec/mjpegenc.c
	libavcodec/motionpixels.c
	libavcodec/mpeg12.c
	libavcodec/mpeg12enc.c
	libavcodec/mpeg4videodec.c
	libavcodec/mpegvideo_enc.c
	libavcodec/pamenc.c
	libavcodec/pcxenc.c
	libavcodec/pgssubdec.c
	libavcodec/pngdec.c
	libavcodec/pngenc.c
	libavcodec/pnm.c
	libavcodec/pnmdec.c
	libavcodec/pnmenc.c
	libavcodec/ptx.c
	libavcodec/qdrw.c
	libavcodec/qpeg.c
	libavcodec/qtrleenc.c
	libavcodec/raw.c
	libavcodec/rawdec.c
	libavcodec/rl2.c
	libavcodec/sgidec.c
	libavcodec/sgienc.c
	libavcodec/snowdec.c
	libavcodec/snowenc.c
	libavcodec/sunrast.c
	libavcodec/targa.c
	libavcodec/targaenc.c
	libavcodec/tiff.c
	libavcodec/tiffenc.c
	libavcodec/tmv.c
	libavcodec/truemotion2.c
	libavcodec/utils.c
	libavcodec/vb.c
	libavcodec/vp3.c
	libavcodec/wnv1.c
	libavcodec/xl.c
	libavcodec/xwddec.c
	libavcodec/xwdenc.c
	libavcodec/yop.c
	libavdevice/v4l2.c
	libavdevice/x11grab.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/buffersrc.c
	libavfilter/drawutils.c
	libavfilter/formats.c
	libavfilter/src_movie.c
	libavfilter/vf_ass.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_format.c
	libavfilter/vf_hflip.c
	libavfilter/vf_lut.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/vf_transpose.c
	libavfilter/vf_yadif.c
	libavfilter/video.c
	libavfilter/vsrc_testsrc.c
	libavformat/movenc.c
	libavformat/mxf.h
	libavformat/utils.c
	libavformat/yuv4mpeg.c
	libavutil/imgutils.c
	libavutil/pixdesc.c
	libswscale/input.c
	libswscale/output.c
	libswscale/swscale_internal.h
	libswscale/swscale_unscaled.c
	libswscale/utils.c
	libswscale/x86/swscale_template.c
	libswscale/x86/yuv2rgb.c
	libswscale/x86/yuv2rgb_template.c
	libswscale/yuv2rgb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 21:06:57 +02:00
Michael Niedermayer 43c157f4a4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  af_resample: avoid conversion of identical sample formats for 1 channel
  avcodec: allow either planar or interleaved sample format when encoding mono
  adpcmenc: ensure calls to adpcm_ima_compress_sample() are in the right order
  timefilter: De-doxygenize normal code comments and drop silly ones
  gxf: Include the right header for the avpriv_frame_rate_tab declaration

Conflicts:
	libavcodec/adpcmenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 13:11:11 +02:00