ffmpeg.git
6 years agolavc: 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_DSP_MASK cruft

6 years agolavc: 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_SUB_ID cruft

6 years agolavc: 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_INTER_THRESHOLD cruft

6 years agolavc: 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_COLOR_TABLE_ID cruft

6 years agolavc: 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_MPV_GLOBAL_OPTS cruft

6 years agolavc: 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_VIDEO cruft

6 years agolavc: 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_ENCODE_AUDIO cruft

6 years agolavc: remove disabled FF_API_OLD_DECODE_AUDIO cruft
Anton Khirnov [Sat, 23 Feb 2013 07:20:12 +0000 (08:20 +0100)]
lavc: remove disabled FF_API_OLD_DECODE_AUDIO cruft

6 years agoatomic: fix CAS with armcc.
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

6 years agopng: use av_mallocz_array() for the zlib zalloc function
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

6 years agolibmp3lame: use the correct remaining buffer size when flushing
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

6 years agoatomic: Exclude the unsupported implementation headers from checkheaders
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>
6 years agoavconv: do not silently ignore unused codec AVOptions.
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.

6 years agoavconv: fix a typo
Anton Khirnov [Thu, 21 Feb 2013 09:57:57 +0000 (10:57 +0100)]
avconv: fix a typo

6 years agoFATE: replace -vb with -b:v
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.

6 years agoFATE: remove the -dct option from some decoding tests.
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.

6 years agoavconv: use a local variable for InputFile in open_input_file().
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.

6 years agoavconv: use a local variable for OutputFile in open_output_file().
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.

6 years agoavconv: print an error on applying options of the wrong type.
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.

6 years agoatomic: Check for __sync_val_compare_and_swap instead of __sync_synchronize
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>
6 years agooutput-example: Update to use encode_video2 instead of the now dropped encode_video
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>
6 years agoatomic: Add include guards to the implementation headers
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>
6 years agolavc: update the fallback versions of ff_thread_*
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.

6 years agolibopencore-amr: Add the missing 3rd argument of ff_get_buffer()
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>
6 years agovmdaudio: fix invalid reads when packet size is not a multiple of chunk size
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

6 years agowmaprodec: return an error, not 0, when the input is too small.
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

6 years agowmaprodec: require block_align to be set.
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

6 years agowmadec: require block_align to be set.
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

6 years agoivi_common: do not call MC for intra frames when dc_transform is unset
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

6 years agoroqvideodec: fix a potential infinite loop in roqvideo_decode_frame().
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

6 years agoxxan: fix invalid memory access in xan_decode_frame_type0()
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

6 years agotty: set avg_frame_rate.
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.

6 years agoFATE: enable multiple slices in the ffv1 vsynth test
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.

6 years agoffv1: fix calculating slice dimensions for version 2
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

6 years agoeamad: allocate a dummy reference frame when the real one is missing
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

6 years agoReplace remaining includes of audioconvert.h with channel_layout.h
Anton Khirnov [Thu, 7 Mar 2013 07:16:07 +0000 (08:16 +0100)]
Replace remaining includes of audioconvert.h with channel_layout.h

6 years agoReplace some forgotten instances of PIX_FMT_* with AV_PIX_FMT_*.
Anton Khirnov [Thu, 7 Mar 2013 07:15:31 +0000 (08:15 +0100)]
Replace some forgotten instances of PIX_FMT_* with AV_PIX_FMT_*.

6 years agoAdd the bumps and APIchanges entries for reference counted buffers changes.
Anton Khirnov [Sun, 17 Feb 2013 09:31:25 +0000 (10:31 +0100)]
Add the bumps and APIchanges entries for reference counted buffers changes.

6 years agolavc: postpone the removal of request_channels API.
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.

6 years agoAVFrame: deprecate all now unused fields
Anton Khirnov [Fri, 15 Feb 2013 16:30:30 +0000 (17:30 +0100)]
AVFrame: deprecate all now unused fields

6 years agolavc: stop setting AVFrame.motion_subsample_log2
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.

6 years agoavserver: don't set deprecated options.
Anton Khirnov [Sun, 17 Feb 2013 15:05:00 +0000 (16:05 +0100)]
avserver: don't set deprecated options.

6 years agoavplay: switch to new refcounted frames API
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.

6 years agoavconv: convert to new refcounted AVFrame API
Anton Khirnov [Mon, 21 Jan 2013 20:10:18 +0000 (21:10 +0100)]
avconv: convert to new refcounted AVFrame API

6 years agompegvideo: drop vismv code
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.

6 years agolavc: make up a fake frame channel layout when there is no real one.
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.

6 years agolavc: limit maximum number of channels to 63
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.

6 years agolavc: allow decoders to override frame parameters.
Anton Khirnov [Mon, 11 Feb 2013 07:09:02 +0000 (08:09 +0100)]
lavc: allow decoders to override frame parameters.

6 years agolavc decoders: properly initialize AVFrame.
Anton Khirnov [Wed, 13 Feb 2013 07:50:04 +0000 (08:50 +0100)]
lavc decoders: properly initialize AVFrame.

6 years agolavc decoders: work with refcounted frames.
Anton Khirnov [Wed, 21 Nov 2012 20:34:46 +0000 (21:34 +0100)]
lavc decoders: work with refcounted frames.

6 years agompegvideo_enc: drop support for reusing the input motion vectors.
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.

6 years agolavfi: switch to AVFrame.
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.

6 years agoAVFrame: add side data.
Anton Khirnov [Tue, 25 Dec 2012 21:11:36 +0000 (22:11 +0100)]
AVFrame: add side data.

6 years agoMove AVFrame from lavc to lavu.
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.

6 years agolavc: move AVFrame.hwaccel_picture_private to Picture.
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.

6 years agopthread: avoid copying input packets when possible.
Anton Khirnov [Wed, 31 Oct 2012 15:36:07 +0000 (16:36 +0100)]
pthread: avoid copying input packets when possible.

6 years agoavpacket: use AVBuffer to allow refcounting the packets.
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.

6 years agoAVBuffer: add a new API for buffer pools
Anton Khirnov [Sun, 20 Jan 2013 07:03:13 +0000 (08:03 +0100)]
AVBuffer: add a new API for buffer pools

6 years agolavu: add a new API for reference-counted data buffers.
Anton Khirnov [Sun, 7 Oct 2012 13:45:44 +0000 (15:45 +0200)]
lavu: add a new API for reference-counted data buffers.

6 years agolavu: add support for atomic operations.
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>
6 years agomp3dec: Fix VBR bit rate parsing
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>
6 years agoavstring: Fix isxdigit to not accept non-hex characters
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>
6 years agoconfigure: Add missing videodsp dependencies to some decoders
Diego Biurrun [Thu, 7 Mar 2013 14:20:54 +0000 (15:20 +0100)]
configure: Add missing videodsp dependencies to some decoders

6 years agobuild: cosmetics: Group hw accelerator Makefile entries together
Diego Biurrun [Thu, 7 Mar 2013 13:57:30 +0000 (14:57 +0100)]
build: cosmetics: Group hw accelerator Makefile entries together

6 years agoconfigure: Add missing h264chroma dependencies to vp5, vp6
Diego Biurrun [Wed, 6 Mar 2013 18:30:25 +0000 (19:30 +0100)]
configure: Add missing h264chroma dependencies to vp5, vp6

6 years agoAdd missing error_resilience includes to files that use ER
Diego Biurrun [Wed, 6 Mar 2013 17:31:14 +0000 (18:31 +0100)]
Add missing error_resilience includes to files that use ER

6 years agompegvideo: Conditionally build error_resilience bits
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.

6 years agobuild: Fix error_resilience code dependencies
Diego Biurrun [Wed, 6 Mar 2013 16:32:31 +0000 (17:32 +0100)]
build: Fix error_resilience code dependencies

6 years agoUse the avstring.h locale-independent character type functions
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>
6 years agoavstring: Add locale independent versions of some ctype.h functions
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>
6 years agolavc: Deprecate the deinterlace functions in libavcodec
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>
6 years agoh264: Integrate draw_horiz_band into ff_h264_draw_horiz_band
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>
6 years agolavc: Prettify printing of codec tags containing non alphanumeric characters
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>
6 years agoh264: Rename the jpeg_420 pixfmt list to match the common naming structure
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>
6 years agoavconv: Make sure the encoder exists before inspecting supported_list
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>
6 years agocavs: Add a dependency on h264chroma
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>
6 years agolavc: Split out ff_hwaccel_pixfmt_list_420[] over individual codecs
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>
6 years agoavcodec/internal: Fix #if DECODE_AUDIO / ENCODE_AUDIO name mismatch
Diego Biurrun [Tue, 5 Mar 2013 10:57:51 +0000 (11:57 +0100)]
avcodec/internal: Fix #if DECODE_AUDIO / ENCODE_AUDIO name mismatch

6 years agoshorten: use the unsigned type where needed
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.

6 years agoshorten: report meaningful errors
Luca Barbato [Tue, 5 Mar 2013 15:34:16 +0000 (16:34 +0100)]
shorten: report meaningful errors

6 years agoshorten: K&R formatting cosmetics
Luca Barbato [Tue, 5 Mar 2013 15:11:28 +0000 (16:11 +0100)]
shorten: K&R formatting cosmetics

6 years agoshorten: set invalid channels count to 0
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>
6 years agovorbisdec: check memory allocations
Luca Barbato [Mon, 4 Mar 2013 18:42:48 +0000 (19:42 +0100)]
vorbisdec: check memory allocations

6 years agoh264: check for luma and chroma bit dept being equal
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
6 years agohwaccel: consistent name prefixes for start_frame/end_frame/decode_slice
Diego Biurrun [Fri, 22 Feb 2013 20:25:00 +0000 (21:25 +0100)]
hwaccel: consistent name prefixes for start_frame/end_frame/decode_slice

Some hwaccels use name prefixes, some do not, others only use them for
some codecs.  Add prefixes everywhere for consistency.

6 years agoconfigure: Use check_builtin() where appropriate
Diego Biurrun [Mon, 4 Mar 2013 22:02:02 +0000 (23:02 +0100)]
configure: Use check_builtin() where appropriate

6 years agoconfigure: Add check_builtin convenience function
Diego Biurrun [Mon, 4 Mar 2013 21:59:41 +0000 (22:59 +0100)]
configure: Add check_builtin convenience function

6 years agoconfigure: Add sanitize_var_name convenience function
Diego Biurrun [Mon, 4 Mar 2013 21:58:34 +0000 (22:58 +0100)]
configure: Add sanitize_var_name convenience function

This is useful in all the places where special characters in
variable names are manually translated to underscores.

6 years agoconfigure: Fix silly typo in logging command of check_struct()
Diego Biurrun [Mon, 4 Mar 2013 21:56:41 +0000 (22:56 +0100)]
configure: Fix silly typo in logging command of check_struct()

6 years agofate: remove last incomplete frame from mpeg2-field-enc test
Janne Grunau [Mon, 4 Mar 2013 09:18:21 +0000 (10:18 +0100)]
fate: remove last incomplete frame from mpeg2-field-enc test

6 years agortpdec: Initialize some variables to silence compiler warnings
Martin Storsjö [Sat, 2 Mar 2013 11:54:50 +0000 (13:54 +0200)]
rtpdec: Initialize some variables to silence compiler warnings

The warnings are false positives, older gcc versions (such as 4.5)
think the variables can be used uninitialized while they in
practice can't, while newer (4.6) gets it right.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoh264: set ref_count to 0 for intra slices.
Anton Khirnov [Thu, 14 Feb 2013 10:44:33 +0000 (11:44 +0100)]
h264: set ref_count to 0 for intra slices.

CC:libav-stable@libav.org

6 years agoh264: on reference overflow, reset the reference count to 0, not 1.
Anton Khirnov [Thu, 14 Feb 2013 10:43:20 +0000 (11:43 +0100)]
h264: on reference overflow, reset the reference count to 0, not 1.

Since decode_slice_header() returns before the reference lists are
constructed, there are zero valid references.

CC:libav-stable@libav.org

6 years agoh264: do not copy ref count/ref2frm when updating per-frame context
Anton Khirnov [Thu, 14 Feb 2013 10:41:10 +0000 (11:41 +0100)]
h264: do not copy ref count/ref2frm when updating per-frame context

They are filled in decode_slice_header() anyway.

6 years agoflvdec: Check the return value of a malloc
Martin Storsjö [Fri, 1 Mar 2013 14:45:24 +0000 (16:45 +0200)]
flvdec: Check the return value of a malloc

The callers of this function can't report errors sanely. If this
one malloc fails, don't write the extradata byte, make sure we
try to malloc it the next time we're called instead, and make sure
we still consume the input data byte.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoflvdec: Don't read the VP6 header byte when setting codec type based on metadata
Martin Storsjö [Fri, 1 Mar 2013 14:30:44 +0000 (16:30 +0200)]
flvdec: Don't read the VP6 header byte when setting codec type based on metadata

This header byte is only present when actually reading a VP6 frame,
not when reading the codec type field in the metadata. This
potential bug has been present since 5b54a90c.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agolls: Do not return from void functions
Diego Biurrun [Thu, 28 Feb 2013 20:32:02 +0000 (21:32 +0100)]
lls: Do not return from void functions

6 years agolls: #ifndef --> #if in FF_API_ version guard
Diego Biurrun [Thu, 28 Feb 2013 20:31:26 +0000 (21:31 +0100)]
lls: #ifndef --> #if in FF_API_ version guard

6 years agoRevert "Move H264/QPEL specific asm from dsputil.asm to h264_qpel_*.asm."
Diego Biurrun [Tue, 26 Feb 2013 15:33:22 +0000 (16:33 +0100)]
Revert "Move H264/QPEL specific asm from dsputil.asm to h264_qpel_*.asm."

This reverts commit f90ff772e7e35b4923c2de429d1fab9f2569b568.

The code should be put back in h264_qpel_8bit.asm, but unfortunately
it is unconditionally used from dsputil_mmx.c since 71155d7.

6 years agolls: mark max_order as unsigned short
Luca Barbato [Mon, 25 Feb 2013 09:37:39 +0000 (10:37 +0100)]
lls: mark max_order as unsigned short

The value is within 0 and 32.

Remove an `array subscript is below array bounds` warning.