Anton Khirnov [Sat, 23 Feb 2013 07:20:12 +0000 (08:20 +0100)]
lavc: remove disabled FF_API_MMI cruft
Anton Khirnov [Sat, 23 Feb 2013 07:20:12 +0000 (08:20 +0100)]
lavc: remove disabled FF_API_LIBMPEG2 cruft
Anton Khirnov [Sat, 23 Feb 2013 07:20:12 +0000 (08:20 +0100)]
lavc: remove disabled FF_API_AVCODEC_RESAMPLE cruft
Hendrik Leppkes [Sun, 10 Mar 2013 22:03:42 +0000 (23:03 +0100)]
atomic: prefer gcc builtins over win32 atomics, if available.
The mingw win32 atomics appear to be faulty, so they should not be used
if the gcc ones are available.
Signed-off-by: Martin Storsjö <martin@martin.st>
Janne Grunau [Mon, 11 Mar 2013 12:29:39 +0000 (13:29 +0100)]
avframe: copy reordered_opaque in copy_props
Fixes video playback in applications still using reordered_opaque.
Janne Grunau [Sun, 10 Mar 2013 21:09:24 +0000 (22:09 +0100)]
ra144: check buffer size before requesting a buffer
Return an error on incomplete frames.
Janne Grunau [Sun, 10 Mar 2013 21:13:03 +0000 (22:13 +0100)]
wmapro: unref skipped frames
Janne Grunau [Sun, 10 Mar 2013 20:30:54 +0000 (21:30 +0100)]
svq1: use av_frame_free to free refcounted frame
Fixes a memleak due to avcodec_free_frame not freeing the frame data.
Anton Khirnov [Sun, 10 Mar 2013 16:56:35 +0000 (17:56 +0100)]
lavc: fix get_buffer() compatibility layer for audio.
planes - FF_ARRAY_ELEMS would be evaluated as unsigned and underflow
instead of being negative as was intended.
Anton Khirnov [Wed, 21 Sep 2011 19:47:16 +0000 (21:47 +0200)]
ratecontrol: remove an unused variable
Anton Khirnov [Sat, 9 Mar 2013 17:38:27 +0000 (18:38 +0100)]
vorbisdec: do not leak the first frame.
Xi Wang [Sun, 10 Mar 2013 03:34:27 +0000 (22:34 -0500)]
vf_pad: fix a & instead of && typo
Avoid buffer overflow in buffer_needs_copy()
Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Vittorio Giovara [Wed, 6 Mar 2013 16:15:50 +0000 (17:15 +0100)]
avplay: enable only when SDL 1.2 is found
SDL 2 is API incompatible.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Anton Khirnov [Sat, 23 Feb 2013 07:20:12 +0000 (08:20 +0100)]
lavc: remove disabled FF_API_VDA_ASYNC cruft
Anton Khirnov [Sat, 23 Feb 2013 07:20:12 +0000 (08:20 +0100)]
lavc: remove disabled FF_API_CODEC_ID cruft
Anton Khirnov [Sat, 23 Feb 2013 07:20:12 +0000 (08:20 +0100)]
lavc: remove disabled FF_API_FIND_BEST_PIX_FMT cruft
Anton Khirnov [Sat, 23 Feb 2013 07:20:12 +0000 (08:20 +0100)]
lavc: remove disabled FF_API_DSP_MASK cruft
Anton Khirnov [Sat, 23 Feb 2013 07:20:12 +0000 (08:20 +0100)]
lavc: remove disabled FF_API_SUB_ID cruft
Anton Khirnov [Sat, 23 Feb 2013 07:20:12 +0000 (08:20 +0100)]
lavc: remove disabled FF_API_INTER_THRESHOLD cruft
Anton Khirnov [Sat, 23 Feb 2013 07:20:12 +0000 (08:20 +0100)]
lavc: remove disabled FF_API_COLOR_TABLE_ID cruft
Anton Khirnov [Sat, 23 Feb 2013 07:20:12 +0000 (08:20 +0100)]
lavc: remove disabled FF_API_MPV_GLOBAL_OPTS cruft
Anton Khirnov [Sat, 23 Feb 2013 07:20:12 +0000 (08:20 +0100)]
lavc: remove disabled FF_API_OLD_ENCODE_VIDEO cruft
Anton Khirnov [Sat, 23 Feb 2013 07:20:12 +0000 (08:20 +0100)]
lavc: remove disabled FF_API_OLD_ENCODE_AUDIO cruft
Anton Khirnov [Sat, 23 Feb 2013 07:20:12 +0000 (08:20 +0100)]
lavc: remove disabled FF_API_OLD_DECODE_AUDIO cruft
Anton Khirnov [Fri, 8 Mar 2013 19:57:31 +0000 (20:57 +0100)]
atomic: fix CAS with armcc.
On the current code, armcc will fail with:
"libavutil/atomic_gcc.h", line 52: Error: #2771: first argument must be
a pointer to integer or enumeration type
Justin Ruggles [Wed, 16 Jan 2013 23:10:57 +0000 (18:10 -0500)]
png: use av_mallocz_array() for the zlib zalloc function
Fixes valgrind uninitialized memory errors when decoding png.
CC:libav-stable@libav.org
Justin Ruggles [Wed, 16 Jan 2013 22:52:55 +0000 (17:52 -0500)]
libmp3lame: use the correct remaining buffer size when flushing
CC:libav-stable@libav.org
Martin Storsjö [Fri, 8 Mar 2013 13:31:54 +0000 (15:31 +0200)]
atomic: Exclude the unsupported implementation headers from checkheaders
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Thu, 21 Feb 2013 09:58:46 +0000 (10:58 +0100)]
avconv: do not silently ignore unused codec AVOptions.
Print an error and abort when the option is of the wrong type (decoding
for output file or vice versa), since this could never be correct for
any input or output configuration.
Print a warning and continue when the option is of the correct type,
just unused, so same commandlines can be reused for different kinds of
input or output files.
Anton Khirnov [Thu, 21 Feb 2013 09:57:57 +0000 (10:57 +0100)]
avconv: fix a typo
Anton Khirnov [Thu, 21 Feb 2013 09:56:33 +0000 (10:56 +0100)]
FATE: replace -vb with -b:v
The -{vas}<option> syntax is now obsolete and deprecated, and has never
been documented or encouraged.
Anton Khirnov [Thu, 21 Feb 2013 09:50:57 +0000 (10:50 +0100)]
FATE: remove the -dct option from some decoding tests.
It is an encoding option, it has no effect when applied to decoding.
Anton Khirnov [Thu, 21 Feb 2013 08:53:28 +0000 (09:53 +0100)]
avconv: use a local variable for InputFile in open_input_file().
This is shorter and more readable.
Anton Khirnov [Thu, 21 Feb 2013 08:53:28 +0000 (09:53 +0100)]
avconv: use a local variable for OutputFile in open_output_file().
This is shorter and more readable.
Anton Khirnov [Wed, 20 Feb 2013 07:02:16 +0000 (08:02 +0100)]
avconv: print an error on applying options of the wrong type.
I.e. input options to output files or vice versa.
Martin Storsjö [Fri, 8 Mar 2013 10:32:38 +0000 (12:32 +0200)]
atomic: Check for __sync_val_compare_and_swap instead of __sync_synchronize
Not all gcc configurations have an implementation of all the atomic
operations, and some gcc configurations have some atomic builtins
implemented but not all.
Thus check for the most essential function, whose presence should
indicate that all others are present as well, since it can be used
to implement all the other ones.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 8 Mar 2013 09:59:57 +0000 (11:59 +0200)]
output-example: Update to use encode_video2 instead of the now dropped encode_video
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Martin Storsjö [Fri, 8 Mar 2013 09:16:14 +0000 (11:16 +0200)]
atomic: Add include guards to the implementation headers
This makes them pass standalone compilation tests. Previously,
they included atomic.h which included themselves again, leading to
double definitions.
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Fri, 8 Mar 2013 07:43:32 +0000 (08:43 +0100)]
lavc: update the fallback versions of ff_thread_*
Fixes build without threads after
759001c534287a96dc96d1e274665feb7059145d.
Yusuke Nakamura [Fri, 8 Mar 2013 07:51:55 +0000 (16:51 +0900)]
libopencore-amr: Add the missing 3rd argument of ff_get_buffer()
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Wed, 6 Mar 2013 09:42:51 +0000 (10:42 +0100)]
vmdaudio: fix invalid reads when packet size is not a multiple of chunk size
CC:libav-stable@libav.org
Anton Khirnov [Wed, 6 Mar 2013 09:02:50 +0000 (10:02 +0100)]
wmaprodec: return an error, not 0, when the input is too small.
Returning 0 may result in an infinite loop in valid calling programs. A
decoder should never return 0 without producing any output.
CC:libav-stable@libav.org
Anton Khirnov [Wed, 6 Mar 2013 08:58:00 +0000 (09:58 +0100)]
wmaprodec: require block_align to be set.
Avoids an infinite loop in the calling programs with decoder not
consuming any input and not returning output.
CC:libav-stable@libav.org
Anton Khirnov [Wed, 6 Mar 2013 08:58:00 +0000 (09:58 +0100)]
wmadec: require block_align to be set.
Avoids an infinite loop in the calling programs with decoder not
consuming any input and not returning output.
CC:libav-stable@libav.org
Anton Khirnov [Wed, 6 Mar 2013 08:41:44 +0000 (09:41 +0100)]
ivi_common: do not call MC for intra frames when dc_transform is unset
CC:libav-stable@libav.org
Anton Khirnov [Wed, 6 Mar 2013 08:15:19 +0000 (09:15 +0100)]
roqvideodec: fix a potential infinite loop in roqvideo_decode_frame().
When there is just 1 byte remanining in the buffer, nothing will be read
and the loop will continue forever. Check that there are at least 8
bytes, which are always read at the beginning.
CC:libav-stable@libav.org
Anton Khirnov [Wed, 6 Mar 2013 08:06:16 +0000 (09:06 +0100)]
xxan: fix invalid memory access in xan_decode_frame_type0()
The loop a few lines below the xan_unpack() call accesses up to
dec_size * 2 bytes into y_buffer, so dec_size must be limited to
buffer_size / 2.
CC:libav-stable@libav.org
Anton Khirnov [Tue, 19 Feb 2013 16:19:30 +0000 (17:19 +0100)]
tty: set avg_frame_rate.
The container does not store any timestamps and is CFR-only.
Anton Khirnov [Tue, 19 Feb 2013 07:41:38 +0000 (08:41 +0100)]
FATE: enable multiple slices in the ffv1 vsynth test
This allows us to test the slice threading code.
Anton Khirnov [Tue, 19 Feb 2013 07:15:07 +0000 (08:15 +0100)]
ffv1: fix calculating slice dimensions for version 2
It got broken in
0f13cd3187192ba0cc2b043430de6e279e7b97c3.
CC:libav-stable@libav.org
Anton Khirnov [Wed, 13 Feb 2013 20:04:42 +0000 (21:04 +0100)]
eamad: allocate a dummy reference frame when the real one is missing
CC:libav-stable@libav.org
Anton Khirnov [Thu, 7 Mar 2013 07:16:07 +0000 (08:16 +0100)]
Replace remaining includes of audioconvert.h with channel_layout.h
Anton Khirnov [Thu, 7 Mar 2013 07:15:31 +0000 (08:15 +0100)]
Replace some forgotten instances of PIX_FMT_* with AV_PIX_FMT_*.
Anton Khirnov [Sun, 17 Feb 2013 09:31:25 +0000 (10:31 +0100)]
Add the bumps and APIchanges entries for reference counted buffers changes.
Anton Khirnov [Sat, 23 Feb 2013 07:18:28 +0000 (08:18 +0100)]
lavc: postpone the removal of request_channels API.
Its replacement is still not ready.
Anton Khirnov [Fri, 15 Feb 2013 16:30:30 +0000 (17:30 +0100)]
AVFrame: deprecate all now unused fields
Anton Khirnov [Fri, 15 Feb 2013 16:29:16 +0000 (17:29 +0100)]
lavc: stop setting AVFrame.motion_subsample_log2
It is not used inside lavc anywhere and now it makes no sense to export
it.
Anton Khirnov [Sun, 17 Feb 2013 15:05:00 +0000 (16:05 +0100)]
avserver: don't set deprecated options.
Anton Khirnov [Sun, 17 Feb 2013 15:06:16 +0000 (16:06 +0100)]
avplay: switch to new refcounted frames API
Remove now unused cmdutils get_buffer() implementation.
Anton Khirnov [Mon, 21 Jan 2013 20:10:18 +0000 (21:10 +0100)]
avconv: convert to new refcounted AVFrame API
Anton Khirnov [Wed, 13 Feb 2013 14:49:39 +0000 (15:49 +0100)]
mpegvideo: drop vismv code
It has been broken for over a year without anyone complaining or
noticing, thus proving that nobody ever uses it.
Anton Khirnov [Mon, 11 Feb 2013 07:13:22 +0000 (08:13 +0100)]
lavc: make up a fake frame channel layout when there is no real one.
This should ensure that a valid channel layout is always set on a frame,
until a better solution is implemented.
Anton Khirnov [Mon, 11 Feb 2013 07:09:37 +0000 (08:09 +0100)]
lavc: limit maximum number of channels to 63
This is the most that can be represented with the current channel layout
system. This limit should be raised/removed when a better system is
implemented.
Anton Khirnov [Mon, 11 Feb 2013 07:09:02 +0000 (08:09 +0100)]
lavc: allow decoders to override frame parameters.
Anton Khirnov [Wed, 13 Feb 2013 07:50:04 +0000 (08:50 +0100)]
lavc decoders: properly initialize AVFrame.
Anton Khirnov [Wed, 21 Nov 2012 20:34:46 +0000 (21:34 +0100)]
lavc decoders: work with refcounted frames.
Anton Khirnov [Sun, 3 Mar 2013 19:43:43 +0000 (20:43 +0100)]
mpegvideo_enc: drop support for reusing the input motion vectors.
This misfeature is most likely completely useless and conflicts with
removing the mpegvideo-specific fields from AVFrame. In the improbable
case it is actually useful, it should be reimplemented in a better way.
Anton Khirnov [Wed, 28 Nov 2012 07:41:07 +0000 (08:41 +0100)]
lavfi: switch to AVFrame.
Deprecate AVFilterBuffer/AVFilterBufferRef and everything related to it
and use AVFrame instead.
Anton Khirnov [Tue, 25 Dec 2012 21:11:36 +0000 (22:11 +0100)]
AVFrame: add side data.
Anton Khirnov [Wed, 17 Oct 2012 09:51:01 +0000 (11:51 +0200)]
Move AVFrame from lavc to lavu.
Add AVBuffer-based reference counting API to it.
Anton Khirnov [Mon, 8 Oct 2012 05:50:14 +0000 (07:50 +0200)]
lavc: move AVFrame.hwaccel_picture_private to Picture.
This field is private and should not be present in a public struct. It
is only used in DXVA with mpegvideo-based decoders currently.
Anton Khirnov [Wed, 31 Oct 2012 15:36:07 +0000 (16:36 +0100)]
pthread: avoid copying input packets when possible.
Anton Khirnov [Wed, 31 Oct 2012 07:53:18 +0000 (08:53 +0100)]
avpacket: use AVBuffer to allow refcounting the packets.
This will allow us to avoid copying the packets in many cases.
This breaks ABI.
Anton Khirnov [Sun, 20 Jan 2013 07:03:13 +0000 (08:03 +0100)]
AVBuffer: add a new API for buffer pools
Anton Khirnov [Sun, 7 Oct 2012 13:45:44 +0000 (15:45 +0200)]
lavu: add a new API for reference-counted data buffers.
Ronald S. Bultje [Sun, 2 Dec 2012 22:34:50 +0000 (14:34 -0800)]
lavu: add support for atomic operations.
These could be used for reference counting, or for keeping track of
decoding progress in references in multithreaded decoders.
Support is provided by gcc/msvc/suncc intrinsics, with a fallback using
pthread mutexes.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Alexander Kojevnikov [Thu, 7 Mar 2013 05:38:55 +0000 (21:38 -0800)]
mp3dec: Fix VBR bit rate parsing
When parsing the Xing/Info tag, don't set the bit rate if it's an Info tag.
When parsing the stream, don't override the bit rate if it's already set,
otherwise calculate the mean bit rate from parsed frames. This way, the bit
rate will be set correctly both for CBR and VBR streams.
CC:libav-stable@libav.org
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Martin Storsjö [Thu, 7 Mar 2013 13:21:03 +0000 (15:21 +0200)]
avstring: Fix isxdigit to not accept non-hex characters
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Thu, 7 Mar 2013 14:20:54 +0000 (15:20 +0100)]
configure: Add missing videodsp dependencies to some decoders
Diego Biurrun [Thu, 7 Mar 2013 13:57:30 +0000 (14:57 +0100)]
build: cosmetics: Group hw accelerator Makefile entries together
Diego Biurrun [Wed, 6 Mar 2013 18:30:25 +0000 (19:30 +0100)]
configure: Add missing h264chroma dependencies to vp5, vp6
Diego Biurrun [Wed, 6 Mar 2013 17:31:14 +0000 (18:31 +0100)]
Add missing error_resilience includes to files that use ER
Martin Storsjö [Wed, 6 Mar 2013 17:28:49 +0000 (18:28 +0100)]
mpegvideo: Conditionally build error_resilience bits
This breaks the dependency of mpegvideo on error_resilience allowing
compilation of components that depend on the former w/o the latter.
Diego Biurrun [Wed, 6 Mar 2013 16:32:31 +0000 (17:32 +0100)]
build: Fix error_resilience code dependencies
Reimar Döffinger [Sun, 3 Mar 2013 10:17:50 +0000 (11:17 +0100)]
Use the avstring.h locale-independent character type functions
Make sure the behavior does not change with the locale.
Signed-off-by: Martin Storsjö <martin@martin.st>
Reimar Döffinger [Wed, 6 Mar 2013 12:00:22 +0000 (14:00 +0200)]
avstring: Add locale independent versions of some ctype.h functions
Signed-off-by: Martin Storsjö <martin@martin.st>
Ronald S. Bultje [Sun, 3 Mar 2013 16:23:08 +0000 (08:23 -0800)]
lavc: Deprecate the deinterlace functions in libavcodec
Signed-off-by: Martin Storsjö <martin@martin.st>
Ronald S. Bultje [Sat, 2 Mar 2013 19:22:02 +0000 (11:22 -0800)]
h264: Integrate draw_horiz_band into ff_h264_draw_horiz_band
This makes the decoder independent of mpegvideo.
This copy of the draw_horiz_band code is simplified compared to
the "generic" mpegvideo one which still has a number of special
cases for different codecs.
Signed-off-by: Martin Storsjö <martin@martin.st>
Stefano Sabatini [Fri, 25 May 2012 23:38:03 +0000 (01:38 +0200)]
lavc: Prettify printing of codec tags containing non alphanumeric characters
Make av_get_codec_tag_string() show codec tag string characters in a more
intelligible ways. For example the ascii char "@" is used as a number, so
should be displayed like "[64]" rather than as a printable character.
Apart alphanumeric chars, only the characters ' ' and '.' are used
literally in codec tags, all the other characters represent numbers.
This also avoids relying on locale-dependent character class functions.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 6 Mar 2013 19:18:00 +0000 (21:18 +0200)]
h264: Rename the jpeg_420 pixfmt list to match the common naming structure
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 6 Mar 2013 13:01:36 +0000 (15:01 +0200)]
avconv: Make sure the encoder exists before inspecting supported_list
This fixes crashes when there is no encoder for the default codec of
selected format.
Signed-off-by: Martin Storsjö <martin@martin.st>
Carl Eugen Hoyos [Mon, 4 Mar 2013 10:43:55 +0000 (11:43 +0100)]
cavs: Add a dependency on h264chroma
This fixes standalone building of this decoder.
Signed-off-by: Martin Storsjö <martin@martin.st>
Ronald S. Bultje [Mon, 18 Feb 2013 16:15:52 +0000 (08:15 -0800)]
lavc: Split out ff_hwaccel_pixfmt_list_420[] over individual codecs
Not all hwaccels implement all codecs, so using one single list for
multiple such codecs means some codecs will be represented in the list,
even though they don't actually handle that codec. Copying specific
lists in each codec fixes that.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Tue, 5 Mar 2013 10:57:51 +0000 (11:57 +0100)]
avcodec/internal: Fix #if DECODE_AUDIO / ENCODE_AUDIO name mismatch
Luca Barbato [Tue, 5 Mar 2013 16:12:35 +0000 (17:12 +0100)]
shorten: use the unsigned type where needed
get_uint returns an unsigned value, use an unsigned to store
blocksize to make sure the comparison logic is correct and report
correctly the error for the channel count not supported.
Luca Barbato [Tue, 5 Mar 2013 15:34:16 +0000 (16:34 +0100)]
shorten: report meaningful errors
Luca Barbato [Tue, 5 Mar 2013 15:11:28 +0000 (16:11 +0100)]
shorten: K&R formatting cosmetics
Michael Niedermayer [Tue, 5 Mar 2013 14:13:04 +0000 (15:13 +0100)]
shorten: set invalid channels count to 0
Prevent the loop shorten_decode_close from writing and freeing out of
the array boundary.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Mon, 4 Mar 2013 18:42:48 +0000 (19:42 +0100)]
vorbisdec: check memory allocations
Luca Barbato [Mon, 4 Mar 2013 10:21:08 +0000 (11:21 +0100)]
h264: check for luma and chroma bit dept being equal
The decoder assumes a single bit depth for all the planes
while the specification allows different bit depths for luma
and chroma.
Avoid the possible problems described in CVE-2013-2277
CC: libav-stable@libav.org