ffmpeg.git
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.

6 years agolls: move to the private namespace
Luca Barbato [Mon, 25 Feb 2013 07:06:59 +0000 (08:06 +0100)]
lls: move to the private namespace

The functions are private.

6 years agolls: K&R formatting cosmetics
Luca Barbato [Mon, 25 Feb 2013 06:59:51 +0000 (07:59 +0100)]
lls: K&R formatting cosmetics

6 years agoavconv: Apply codec options to streams that are copied as well
Martin Storsjö [Wed, 27 Feb 2013 21:22:39 +0000 (23:22 +0200)]
avconv: Apply codec options to streams that are copied as well

This allows setting/overriding e.g. the bitrate parameter, which
is required for the smoothstreaming muxer. Normally, the bitrate
is set by the demuxer in these cases, but not all demuxers can
provide it. This allows stream copy of data to the smoothstreaming
muxer from such inputs.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agocmdutils: Allow calling filter_codec_opts without a set encoder
Martin Storsjö [Wed, 27 Feb 2013 21:21:06 +0000 (23:21 +0200)]
cmdutils: Allow calling filter_codec_opts without a set encoder

In this case, no encoder specific options are filtered, only
options specific to that codec type in general.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agopnm: Use av_pix_fmt_desc_get instead of accessing the array directly
Martin Storsjö [Thu, 28 Feb 2013 16:05:50 +0000 (18:05 +0200)]
pnm: Use av_pix_fmt_desc_get instead of accessing the array directly

This fixes boken fate tests with MSVC with DLLs, broken since
b5f536d24.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agolavf: Add a fate test for the noproxy pattern matching
Martin Storsjö [Wed, 27 Feb 2013 09:45:16 +0000 (11:45 +0200)]
lavf: Add a fate test for the noproxy pattern matching

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agolavf: Handle the environment variable no_proxy more properly
Martin Storsjö [Wed, 27 Feb 2013 09:13:47 +0000 (11:13 +0200)]
lavf: Handle the environment variable no_proxy more properly

The handling of the environment variable no_proxy, present since
one of the initial commits (de6d9b6404), is inconsistent with
how many other applications and libraries interpret this
variable. Its bare presence does not indicate that the use of
proxies should be skipped, but it is some sort of pattern for
hosts that does not need using a proxy (e.g. for a local network).

As investigated by Rudolf Polzer, different libraries handle this
in different ways, some supporting IP address masks, some supporting
arbitrary globbing using *, some just checking that the pattern matches
the end of the hostname without regard for whether it actually is
the right domain or a domain that ends in the same string.

This simple logic should be pretty similar to the logic used by
lynx and curl.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoLICENSE: Move (L)GPLv3 explanation block to a more suitable place
Diego Biurrun [Wed, 27 Feb 2013 18:34:14 +0000 (19:34 +0100)]
LICENSE: Move (L)GPLv3 explanation block to a more suitable place

6 years agoswscale: Add support for unscaled 8-bit Packed RGB -> Planar RGB
Derek Buitenhuis [Sat, 22 Sep 2012 01:34:17 +0000 (01:34 +0000)]
swscale: Add support for unscaled 8-bit Packed RGB -> Planar RGB

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
6 years agox86: dsputil: Drop some unused function #defines
Diego Biurrun [Tue, 26 Feb 2013 19:13:14 +0000 (20:13 +0100)]
x86: dsputil: Drop some unused function #defines

6 years agox86: dsputil: Drop aliasing of ff_put_pixels8_mmx to ff_put_pixels8_mmxext
Diego Biurrun [Tue, 26 Feb 2013 18:26:03 +0000 (19:26 +0100)]
x86: dsputil: Drop aliasing of ff_put_pixels8_mmx to ff_put_pixels8_mmxext

The external assembly function uses mmxext instructions and should not be
masqueraded as an mmx-only function. Instead, use the mmx-only inline
assembly function.

6 years agox86: vc1dsp: Move ff_avg_vc1_mspel_mc00_mmxext out of dsputil_mmx.c
Diego Biurrun [Tue, 26 Feb 2013 16:29:48 +0000 (17:29 +0100)]
x86: vc1dsp: Move ff_avg_vc1_mspel_mc00_mmxext out of dsputil_mmx.c

6 years agox86: dsputil_mmx: Remove leftover inline assembly fragments
Martin Storsjö [Tue, 26 Feb 2013 17:35:51 +0000 (19:35 +0200)]
x86: dsputil_mmx: Remove leftover inline assembly fragments

These became unused in 71155d7b.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoconfigure: icc: Drop nonsense adding of cpuflags to LDFLAGS
Diego Biurrun [Mon, 25 Feb 2013 20:03:47 +0000 (21:03 +0100)]
configure: icc: Drop nonsense adding of cpuflags to LDFLAGS

This fixes many icc warnings when not setting the CPU type.

6 years agoRemove unnecessary dsputil.h #includes
Diego Biurrun [Sat, 23 Feb 2013 19:10:38 +0000 (20:10 +0100)]
Remove unnecessary dsputil.h #includes

6 years agoFix a number of incorrect intmath.h #includes.
Diego Biurrun [Mon, 25 Feb 2013 21:39:46 +0000 (22:39 +0100)]
Fix a number of incorrect intmath.h #includes.

6 years agoavconv: remove an unused variable
Justin Ruggles [Mon, 25 Feb 2013 17:26:57 +0000 (12:26 -0500)]
avconv: remove an unused variable

6 years agocmdutils: only use libavresample when it is enabled
Justin Ruggles [Mon, 25 Feb 2013 02:32:30 +0000 (21:32 -0500)]
cmdutils: only use libavresample when it is enabled

avprobe and avserver use cmdutils and do not strictly require libavresample.

6 years agolibschroedinger: cosmetics: rename variable avccontext to avctx
Justin Ruggles [Sun, 24 Feb 2013 18:15:12 +0000 (13:15 -0500)]
libschroedinger: cosmetics: rename variable avccontext to avctx

This is consistent with the rest of libavcodec.

6 years agovorbisenc: cosmetics: rename variable avccontext to avctx
Justin Ruggles [Sun, 24 Feb 2013 18:07:27 +0000 (13:07 -0500)]
vorbisenc: cosmetics: rename variable avccontext to avctx

This is consistent with the rest of libavcodec.

6 years agovorbisdec: cosmetics: rename variable avccontext to avctx
Justin Ruggles [Sun, 24 Feb 2013 17:56:36 +0000 (12:56 -0500)]
vorbisdec: cosmetics: rename variable avccontext to avctx

This is consistent with the rest of libavcodec.

6 years agoconfigure: Identify icc compiler with a less ambiguous pattern
Diego Biurrun [Mon, 25 Feb 2013 16:05:22 +0000 (17:05 +0100)]
configure: Identify icc compiler with a less ambiguous pattern

6 years agoconfigure: Separate "ln" command line arguments
Diego Biurrun [Mon, 25 Feb 2013 14:51:47 +0000 (15:51 +0100)]
configure: Separate "ln" command line arguments

This is more compatible and not more complicated.

6 years agovorbisdec: Accept 0 amplitude_bits
Luca Barbato [Sun, 24 Feb 2013 15:56:15 +0000 (16:56 +0100)]
vorbisdec: Accept 0 amplitude_bits

The specification does not prevent an encoder to write the amplitude 0
as 0 amplitude_bits.

Our get_bits() implementation might not support a zero sized read
properly, thus the additional branch.

6 years agovorbisdec: Add missing checks
Luca Barbato [Sun, 24 Feb 2013 11:30:30 +0000 (12:30 +0100)]
vorbisdec: Add missing checks

Rate and order must not be 0 even if the specification does not say that
explicitly.

6 years agovorbisdec: cosmetics
Luca Barbato [Sun, 24 Feb 2013 11:21:40 +0000 (12:21 +0100)]
vorbisdec: cosmetics

Use the commonly used "if (!var)" instead of "if (var == 0)".

6 years agovorbisdec: Error on bark_map_size equal to 0.
Michael Niedermayer [Thu, 10 Jan 2013 23:54:12 +0000 (00:54 +0100)]
vorbisdec: Error on bark_map_size equal to 0.

The value is used to calculate output LSP curve and a division by zero
and out of array accesses would occur.

CVE-2013-0894

CC: libav-stable@libav.org
Reported-by: Dale Curtis <dalecurtis@chromium.org>
Found-by: inferno@chromium.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agodsputil_alpha.h: Add missing stddef.h header to fix standalone compilation
Diego Biurrun [Sat, 23 Feb 2013 19:09:44 +0000 (20:09 +0100)]
dsputil_alpha.h: Add missing stddef.h header to fix standalone compilation

6 years agoconfigure: List external libs used using print_enabled()
Mans Rullgard [Sat, 27 Oct 2012 21:25:27 +0000 (22:25 +0100)]
configure: List external libs used using print_enabled()

This cuts some lines from the script as well as the output and
simplifies maintenance.

Signed-off-by: Mans Rullgard <mans@mansr.com>
6 years agoconfigure: Move list of external libs to a separate variable
Mans Rullgard [Sat, 27 Oct 2012 19:02:33 +0000 (20:02 +0100)]
configure: Move list of external libs to a separate variable

Signed-off-by: Mans Rullgard <mans@mansr.com>
6 years agoconfigure: Move x11grab option to a more suitable place in the help output
Diego Biurrun [Sat, 23 Feb 2013 22:01:27 +0000 (23:01 +0100)]
configure: Move x11grab option to a more suitable place in the help output

6 years agolavr: allow setting internal_sample_fmt option by string
Justin Ruggles [Wed, 2 Jan 2013 21:47:28 +0000 (16:47 -0500)]
lavr: allow setting internal_sample_fmt option by string

6 years agolavr: Add "resample_cutoff" option as a duplicate of "cutoff"
Justin Ruggles [Wed, 19 Dec 2012 02:52:58 +0000 (21:52 -0500)]
lavr: Add "resample_cutoff" option as a duplicate of "cutoff"

Avoids an option name conflict with libavcodec, which is needed in order
to work properly with avconv.

6 years agoavconv: pass libavresample options to AVFilterGraph
Justin Ruggles [Wed, 19 Dec 2012 02:47:28 +0000 (21:47 -0500)]
avconv: pass libavresample options to AVFilterGraph

6 years agolavfi: connect libavresample options to af_resample via AVFilterGraph
Justin Ruggles [Wed, 19 Dec 2012 02:27:35 +0000 (21:27 -0500)]
lavfi: connect libavresample options to af_resample via AVFilterGraph

6 years agoac3dec: validate channel output mode against channel count
Justin Ruggles [Wed, 20 Feb 2013 16:41:20 +0000 (11:41 -0500)]
ac3dec: validate channel output mode against channel count

Damaged frames can lead to a mismatch, which can cause a segfault
due to using an incorrect channel mapping.

CC:libav-stable@libav.org

6 years agoconfigure: Fix vaapi/vda/vdpau dependency declarations
Diego Biurrun [Thu, 21 Feb 2013 11:35:40 +0000 (12:35 +0100)]
configure: Fix vaapi/vda/vdpau dependency declarations

6 years agoconfigure: Refactor dxva2api.h dependency declarations
Diego Biurrun [Thu, 21 Feb 2013 11:39:20 +0000 (12:39 +0100)]
configure: Refactor dxva2api.h dependency declarations

6 years agobuild: Add proper infrastructure for adding and checking host CPPFLAGS
Diego Biurrun [Sun, 3 Feb 2013 14:13:17 +0000 (15:13 +0100)]
build: Add proper infrastructure for adding and checking host CPPFLAGS

6 years agoconfigure: Simplify VDPAU header check
Diego Biurrun [Thu, 21 Feb 2013 11:34:42 +0000 (12:34 +0100)]
configure: Simplify VDPAU header check

6 years agoconfigure: Simplify VDA header and extralibs check
Diego Biurrun [Thu, 21 Feb 2013 11:31:15 +0000 (12:31 +0100)]
configure: Simplify VDA header and extralibs check

6 years agoconfigure: Do not redundantly list enabled hwaccel libs
Mans Rullgard [Wed, 31 Oct 2012 16:46:05 +0000 (16:46 +0000)]
configure: Do not redundantly list enabled hwaccel libs

The enabled hwaccels are listed later anyway.

Signed-off-by: Mans Rullgard <mans@mansr.com>
6 years agoconfigure: Add print_3_columns helper function and use where appropriate
Diego Biurrun [Thu, 21 Feb 2013 15:43:47 +0000 (16:43 +0100)]
configure: Add print_3_columns helper function and use where appropriate

6 years agodoc: developer: Allow tabs in the vim configuration for Automake files
Diego Biurrun [Fri, 22 Feb 2013 21:06:37 +0000 (22:06 +0100)]
doc: developer: Allow tabs in the vim configuration for Automake files

While we do not use Automake in libav, this allows our config to be
used more globally without introducing unwanted breakage.

6 years agoRemove pointless av_cold attributes in header files
Diego Biurrun [Sat, 9 Feb 2013 15:19:27 +0000 (16:19 +0100)]
Remove pointless av_cold attributes in header files

The init functions marked as av_cold have to be executed in any case,
so there is no gain from trying to mark paths leading to such functions
as unlikely.

6 years agopnm: add high-bitdepth PGMYUV support for both encoder and decoder
Kostya Shishkov [Fri, 22 Feb 2013 10:57:59 +0000 (11:57 +0100)]
pnm: add high-bitdepth PGMYUV support for both encoder and decoder

6 years agolibx264: change i_qfactor to use x264cli's default
John Van Sickle [Tue, 25 Sep 2012 16:29:22 +0000 (12:29 -0400)]
libx264: change i_qfactor to use x264cli's default

This also allows libx264 to modify its i_qfactor value
when using the "-tune" setting. Previously it had a static
value of 1.25

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agoqtrle: use AV_LOG_ERROR in an error message.
Anton Khirnov [Thu, 14 Feb 2013 17:00:39 +0000 (18:00 +0100)]
qtrle: use AV_LOG_ERROR in an error message.

6 years agoqtrle: cosmetics, reformat CHECK_PIXEL_PTR() macro
Anton Khirnov [Thu, 14 Feb 2013 17:00:11 +0000 (18:00 +0100)]
qtrle: cosmetics, reformat CHECK_PIXEL_PTR() macro

6 years agoqtrle: add more checks against pixel_ptr being negative.
Anton Khirnov [Thu, 14 Feb 2013 16:58:12 +0000 (17:58 +0100)]
qtrle: add more checks against pixel_ptr being negative.

CC:libav-stable@libav.org

6 years agocavs: initialize various context tables to 0
Anton Khirnov [Thu, 14 Feb 2013 13:39:41 +0000 (14:39 +0100)]
cavs: initialize various context tables to 0

Avoids crashes with corrupted files.

CC:libav-stable@libav.org

6 years agomlpdec: do not try to allocate a zero-sized output buffer.
Anton Khirnov [Thu, 14 Feb 2013 13:05:35 +0000 (14:05 +0100)]
mlpdec: do not try to allocate a zero-sized output buffer.

CC:libav-stable@libav.org

6 years agomov: use the format context for logging.
Anton Khirnov [Thu, 14 Feb 2013 11:47:43 +0000 (12:47 +0100)]
mov: use the format context for logging.

CC:libav-stable@libav.org

6 years agoflicvideo: avoid an infinite loop in byte run compression
Anton Khirnov [Thu, 14 Feb 2013 11:40:36 +0000 (12:40 +0100)]
flicvideo: avoid an infinite loop in byte run compression

When byte_run is 0, pixel_countdown is not touched and the loop will run
forever.

CC:libav-stable@libav.org

6 years agoloco: check that there is data left after decoding a plane.
Anton Khirnov [Thu, 14 Feb 2013 08:08:35 +0000 (09:08 +0100)]
loco: check that there is data left after decoding a plane.

CC:libav-stable@libav.org

6 years agolagarith: avoid infinite loop in lag_rac_refill()
Anton Khirnov [Thu, 14 Feb 2013 07:47:17 +0000 (08:47 +0100)]
lagarith: avoid infinite loop in lag_rac_refill()

range == 0 happens with corrupted files

CC:libav-stable@libav.org

6 years agoav_memcpy_backptr: avoid an infinite loop for back = 0
Anton Khirnov [Wed, 13 Feb 2013 20:36:25 +0000 (21:36 +0100)]
av_memcpy_backptr: avoid an infinite loop for back = 0

CC:libav-stable@libav.org

6 years ago4xm: check the return value of read_huffman_tables().
Anton Khirnov [Wed, 13 Feb 2013 19:46:08 +0000 (20:46 +0100)]
4xm: check the return value of read_huffman_tables().

CC:libav-stable@libav.org

6 years agox86: h264: Don't use redzone in AVX h264_deblock on Win64
Matt Wolenetz [Fri, 15 Feb 2013 21:59:40 +0000 (13:59 -0800)]
x86: h264: Don't use redzone in AVX h264_deblock on Win64

This fixes crashes in chromium on win64 on machines with AVX
(crashes that apparently aren't triggered by fate).

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agodxva2: Add missing #define to make header compile standalone
Diego Biurrun [Mon, 11 Feb 2013 16:59:07 +0000 (17:59 +0100)]
dxva2: Add missing #define to make header compile standalone

6 years agoarm: vp8: Add missing #includes for header to compile standalone
Diego Biurrun [Wed, 20 Feb 2013 10:09:38 +0000 (11:09 +0100)]
arm: vp8: Add missing #includes for header to compile standalone

6 years agodoc: filters: Correct BNF FILTER description
Vicente Jimenez Aguilar [Wed, 20 Feb 2013 01:35:00 +0000 (02:35 +0100)]
doc: filters: Correct BNF FILTER description

Signed-off-by: Diego Biurrun <diego@biurrun.de>
6 years agointreadwrite: tomi: Add missing attributes.h #include for av_always_inline
Diego Biurrun [Tue, 19 Feb 2013 23:25:26 +0000 (00:25 +0100)]
intreadwrite: tomi: Add missing attributes.h #include for av_always_inline

6 years agobuild: Ensure that output directories for header objects are created
Diego Biurrun [Tue, 19 Feb 2013 23:15:15 +0000 (00:15 +0100)]
build: Ensure that output directories for header objects are created

6 years agoh264: Get rid of unnecessary casts
Martin Storsjö [Tue, 19 Feb 2013 22:07:35 +0000 (00:07 +0200)]
h264: Get rid of unnecessary casts

This gets rid of a number of warnings about casts discarding
qualifiers from the pointer target, present since 7ebfb466a.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoh264/svq3: Stop using draw_edges
Ronald S. Bultje [Mon, 18 Feb 2013 01:01:26 +0000 (17:01 -0800)]
h264/svq3: Stop using draw_edges

Instead, only extend edges on-demand when the motion vector actually
crosses the visible decoded area using ff_emulated_edge_mc(). This
changes decoding time for cathedral from 8.722sec to 8.706sec, i.e.
0.2% faster overall. More generally (VP8 uses this also), low-motion
content gets significant speed improvements, whereas high-motion content
tends to decode in approximately the same time.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoh264: Don't store intra pcm samples in h->mb
Ronald S. Bultje [Sun, 17 Feb 2013 22:52:24 +0000 (14:52 -0800)]
h264: Don't store intra pcm samples in h->mb

Instead, keep them in the bitstream buffer until we read them verbatim,
this saves a memcpy() and a subsequent clearing of the target buffer.
decode_cabac+decode_mb for a sample file (CAPM3_Sony_D.jsv) goes from
6121.4 to 6095.5 cycles, i.e. 26 cycles faster.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoget_bits: Return pointer to buffer that is the result of the alignment
Ronald S. Bultje [Mon, 11 Feb 2013 00:46:07 +0000 (16:46 -0800)]
get_bits: Return pointer to buffer that is the result of the alignment

This allows more transparent mixing of get_bits and whole-byte access
without having to touch get_bits internals.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoh264: Add add_pixels4/8() to h264dsp, and remove add_pixels4 from dsputil
Ronald S. Bultje [Tue, 12 Feb 2013 01:04:27 +0000 (17:04 -0800)]
h264: Add add_pixels4/8() to h264dsp, and remove add_pixels4 from dsputil

These functions are mostly H264-specific (the only other user I can
spot is bink), and this allows us to special-case some functionality
for H264. Also remove the 16-bit-coeff with >8bpp versions (unused)
and merge the duplicate 32-bit-coeff for >8bpp (identical).

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoh264chroma: Remove duplicate 9/10 bit functions
Ronald S. Bultje [Mon, 11 Feb 2013 21:52:38 +0000 (13:52 -0800)]
h264chroma: Remove duplicate 9/10 bit functions

These functions do the same thing in 16 bit space and don't need
any depth specific clipping.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agox86: Use simple nop codes for <= sse (rather than <= mmx)
Ronald S. Bultje [Tue, 29 Jan 2013 23:55:19 +0000 (15:55 -0800)]
x86: Use simple nop codes for <= sse (rather than <= mmx)

The "CentaurHauls family 6 model 9 stepping 8" family of CPUs
(flags: fpu vme de pse tsc msr cx8 sep mtrr pge mov pat mmx fxsr sse
up rng rng_en ace ace_en) SIGILLs on long nop codes.

Signed-off-by: Martin Storsjö <martin@martin.st>