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
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.
Diego Biurrun [Mon, 4 Mar 2013 22:02:02 +0000 (23:02 +0100)]
configure: Use check_builtin() where appropriate
Diego Biurrun [Mon, 4 Mar 2013 21:59:41 +0000 (22:59 +0100)]
configure: Add check_builtin 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.
Diego Biurrun [Mon, 4 Mar 2013 21:56:41 +0000 (22:56 +0100)]
configure: Fix silly typo in logging command of check_struct()
Janne Grunau [Mon, 4 Mar 2013 09:18:21 +0000 (10:18 +0100)]
fate: remove last incomplete frame from mpeg2-field-enc test
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>
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
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
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.
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>
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>
Diego Biurrun [Thu, 28 Feb 2013 20:32:02 +0000 (21:32 +0100)]
lls: Do not return from void functions
Diego Biurrun [Thu, 28 Feb 2013 20:31:26 +0000 (21:31 +0100)]
lls: #ifndef --> #if in FF_API_ version guard
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.
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.
Luca Barbato [Mon, 25 Feb 2013 07:06:59 +0000 (08:06 +0100)]
lls: move to the private namespace
The functions are private.
Luca Barbato [Mon, 25 Feb 2013 06:59:51 +0000 (07:59 +0100)]
lls: K&R formatting cosmetics
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>
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>
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>
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>
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>
Diego Biurrun [Wed, 27 Feb 2013 18:34:14 +0000 (19:34 +0100)]
LICENSE: Move (L)GPLv3 explanation block to a more suitable place
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>
Diego Biurrun [Tue, 26 Feb 2013 19:13:14 +0000 (20:13 +0100)]
x86: dsputil: Drop some unused function #defines
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.
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
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>
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.
Diego Biurrun [Sat, 23 Feb 2013 19:10:38 +0000 (20:10 +0100)]
Remove unnecessary dsputil.h #includes
Diego Biurrun [Mon, 25 Feb 2013 21:39:46 +0000 (22:39 +0100)]
Fix a number of incorrect intmath.h #includes.
Justin Ruggles [Mon, 25 Feb 2013 17:26:57 +0000 (12:26 -0500)]
avconv: remove an unused variable
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.
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.
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.
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.
Diego Biurrun [Mon, 25 Feb 2013 16:05:22 +0000 (17:05 +0100)]
configure: Identify icc compiler with a less ambiguous pattern
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.
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.
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.
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)".
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>
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
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>
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>
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
Justin Ruggles [Wed, 2 Jan 2013 21:47:28 +0000 (16:47 -0500)]
lavr: allow setting internal_sample_fmt option by string
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.
Justin Ruggles [Wed, 19 Dec 2012 02:47:28 +0000 (21:47 -0500)]
avconv: pass libavresample options to AVFilterGraph
Justin Ruggles [Wed, 19 Dec 2012 02:27:35 +0000 (21:27 -0500)]
lavfi: connect libavresample options to af_resample via AVFilterGraph
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
Diego Biurrun [Thu, 21 Feb 2013 11:35:40 +0000 (12:35 +0100)]
configure: Fix vaapi/vda/vdpau dependency declarations
Diego Biurrun [Thu, 21 Feb 2013 11:39:20 +0000 (12:39 +0100)]
configure: Refactor dxva2api.h dependency declarations
Diego Biurrun [Sun, 3 Feb 2013 14:13:17 +0000 (15:13 +0100)]
build: Add proper infrastructure for adding and checking host CPPFLAGS
Diego Biurrun [Thu, 21 Feb 2013 11:34:42 +0000 (12:34 +0100)]
configure: Simplify VDPAU header check
Diego Biurrun [Thu, 21 Feb 2013 11:31:15 +0000 (12:31 +0100)]
configure: Simplify VDA header and extralibs check
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>
Diego Biurrun [Thu, 21 Feb 2013 15:43:47 +0000 (16:43 +0100)]
configure: Add print_3_columns helper function and use where appropriate
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.
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.
Kostya Shishkov [Fri, 22 Feb 2013 10:57:59 +0000 (11:57 +0100)]
pnm: add high-bitdepth PGMYUV support for both encoder and decoder
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>
Anton Khirnov [Thu, 14 Feb 2013 17:00:39 +0000 (18:00 +0100)]
qtrle: use AV_LOG_ERROR in an error message.
Anton Khirnov [Thu, 14 Feb 2013 17:00:11 +0000 (18:00 +0100)]
qtrle: cosmetics, reformat CHECK_PIXEL_PTR() macro
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
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