]> git.sesse.net Git - ffmpeg/log
ffmpeg
11 years agovorbisdec: check memory allocations
Luca Barbato [Mon, 4 Mar 2013 18:42:48 +0000 (19:42 +0100)]
vorbisdec: check memory allocations

11 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
11 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.

11 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

11 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

11 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.

11 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()

11 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

11 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>
11 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

11 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

11 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.

11 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>
11 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>
11 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

11 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

11 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.

11 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.

11 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.

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

11 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>
11 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>
11 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>
11 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>
11 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>
11 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

11 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>
11 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

11 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.

11 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

11 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>
11 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.

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

11 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.

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

11 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.

11 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.

11 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.

11 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.

11 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

11 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.

11 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.

11 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.

11 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)".

11 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>
11 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

11 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>
11 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>
11 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

11 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

11 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.

11 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

11 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

11 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

11 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

11 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

11 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

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

11 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

11 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>
11 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

11 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.

11 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.

11 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

11 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>
11 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.

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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>
11 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

11 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

11 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>
11 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

11 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

11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 years agovp56: Remove clear_blocks call, and clear alpha plane U/V DC only
Ronald S. Bultje [Fri, 1 Feb 2013 19:04:50 +0000 (11:04 -0800)]
vp56: Remove clear_blocks call, and clear alpha plane U/V DC only

The non-alpha and alpha-Y planes are cleared in the idct_put/add()
calls. For the alpha U/V planes, we only care about the DC for entropy
context prediction purposes, the rest of the data is unused.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agox86: dsputil: Fix h263 loop filter link error in some configurations
Daniel Kang [Mon, 18 Feb 2013 15:50:06 +0000 (10:50 -0500)]
x86: dsputil: Fix h263 loop filter link error in some configurations

This was caused by unconditionally referencing a conditionally compiled
table. Now the code is also compiled conditionally.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years agox86: dsputil: int --> ptrdiff_t for ff_put_pixels16_mmxext line_size param
Daniel Kang [Fri, 15 Feb 2013 20:13:58 +0000 (15:13 -0500)]
x86: dsputil: int --> ptrdiff_t for ff_put_pixels16_mmxext line_size param

This avoids SIMD-optimized functions having to sign-extend their
line size argument manually to be able to do pointer arithmetic.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years agodoc: Fix some obsolete references to av* tools as ff* tools
Vicente Jimenez Aguilar [Sat, 16 Feb 2013 02:08:36 +0000 (03:08 +0100)]
doc: Fix some obsolete references to av* tools as ff* tools

Signed-off-by: Diego Biurrun <diego@biurrun.de>
CC: libav-stable@libav.org
11 years agosvq3: unbreak decoding
Matti Hamalainen [Mon, 18 Feb 2013 01:55:07 +0000 (02:55 +0100)]
svq3: unbreak decoding

a7d2861d36756b913e85681b86ed3385274e8ced removed necessary braces.

11 years agobuild: make audio_frame_queue a stand-alone component
Luca Barbato [Sun, 17 Feb 2013 21:00:36 +0000 (22:00 +0100)]
build: make audio_frame_queue a stand-alone component

Encoders requiring it have the dependency expressed in the
configure.

11 years agobuild: The libopencore-amrnb encoder depends on audio_frame_queue
Diego Biurrun [Sat, 16 Feb 2013 22:05:05 +0000 (23:05 +0100)]
build: The libopencore-amrnb encoder depends on audio_frame_queue

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
11 years agolibopencore-amrwb: Make AMR-WB ifdeffery more precise
Diego Biurrun [Sat, 16 Feb 2013 22:05:04 +0000 (23:05 +0100)]
libopencore-amrwb: Make AMR-WB ifdeffery more precise

The library might provide an encoder in the future, so it's better to
check for the presence of the decoder rather than just the library.

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
11 years agolibopencore-amr: Conditionally compile decoder and encoder bits
Diego Biurrun [Sat, 16 Feb 2013 22:05:03 +0000 (23:05 +0100)]
libopencore-amr: Conditionally compile decoder and encoder bits

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
11 years agolibopencore-amrnb: cosmetics: Group all encoder-related code together
Diego Biurrun [Sat, 16 Feb 2013 22:05:02 +0000 (23:05 +0100)]
libopencore-amrnb: cosmetics: Group all encoder-related code together

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
11 years agodsputil: convert remaining op_pixels_func
Luca Barbato [Sat, 9 Feb 2013 23:17:20 +0000 (00:17 +0100)]
dsputil: convert remaining op_pixels_func

Convert to diffptr_t the line_size parameters still int.

Remove all the warnings in dsputil.c