Ronald S. Bultje [Fri, 2 Mar 2012 05:17:03 +0000 (21:17 -0800)]
vp8: change int stride to ptrdiff_t stride.
On 64bit platforms with 32bit int, this means we won't have to sign-
extend the integer anymore.
Ronald S. Bultje [Fri, 2 Mar 2012 00:19:51 +0000 (16:19 -0800)]
wma: fix invalid buffer size assumptions causing random overreads.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Mashiat Sarker Shakkhar [Thu, 1 Mar 2012 12:43:00 +0000 (12:43 +0000)]
Windows Media Audio Lossless decoder
Decodes 16-bit WMA Lossless encoded files. 24-bit is not supported yet.
Bitstream parser written by Andreas Öman with contributions from
Baptiste Coudurier and Ulion.
Includes a number of bug-fixes from Benjamin Larsson, Michael Niedermayer and
Konstantin Shishkov, shine and polish by Diego Biurrun.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Alex Converse [Thu, 1 Mar 2012 21:24:55 +0000 (13:24 -0800)]
rv10/20: Fix slice overflow with checked bitstream reader.
Michael Niedermayer [Fri, 17 Feb 2012 21:35:10 +0000 (13:35 -0800)]
h263dec: Disallow width/height changing with frame threads.
Fixes CVE-2011-3937
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Alex Converse [Thu, 1 Mar 2012 22:07:22 +0000 (14:07 -0800)]
rv10/20: Fix a buffer overread caused by losing track of the remaining buffer size.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Alex Converse [Fri, 2 Mar 2012 00:47:54 +0000 (16:47 -0800)]
rmdec: Honor .RMF tag size rather than assuming 18.
Martin Storsjö [Fri, 2 Mar 2012 15:03:06 +0000 (17:03 +0200)]
g722: Fix the QMF scaling
This fixes clipping if the encoder input used the full 16 bit
input range (samples with a magnitude below 16383 worked fine).
The filtered subband samples should be 15 bit maximum, while
the code earlier produced them scaled to 16 bit.
This makes the decoder output have double the magnitude
compared to before.
The spec reference samples doesn't test the QMF at all, which
was why this part slipped past initially.
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Fri, 2 Mar 2012 13:08:11 +0000 (14:08 +0100)]
r3d: don't set codec timebase.
It's not supposed to be set by demuxers.
Set avg_frame_rate and r_frame_rate instead.
Anton Khirnov [Thu, 1 Mar 2012 20:24:16 +0000 (21:24 +0100)]
electronicarts: set timebase for tgv video.
The container has no timestamps and the framerate isn't stored in the
data either.
The decoder sets codec timebase to experimentally found value 1/15. Do
the same for the demuxer too, it should at least be better than the
default 1/90000.
Anton Khirnov [Thu, 1 Mar 2012 12:16:49 +0000 (13:16 +0100)]
electronicarts: parse the framerate for cmv video.
Anton Khirnov [Thu, 24 Nov 2011 19:58:22 +0000 (20:58 +0100)]
ogg: don't set codec timebase
Demuxers are not supposed to set it.
Anton Khirnov [Thu, 24 Nov 2011 19:58:22 +0000 (20:58 +0100)]
electronicarts: don't set codec timebase
Demuxers are not supposed to set it.
Set stream timebase and framerates instead (this is a cfr container with
no timestamps).
Anton Khirnov [Thu, 24 Nov 2011 19:58:22 +0000 (20:58 +0100)]
avs: don't set codec timebase
Demuxers are not supposed to set it.
Set r_frame_rate and avg_frame_rate instead.
Derek Buitenhuis [Thu, 1 Mar 2012 21:34:57 +0000 (16:34 -0500)]
wavpack: Fix an integer overflow
Integer Overflow Checker detected an integer
overflow while FATE was running.
See: http://fate.libav.org/x86_64-linux-ioc/
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Diego Biurrun [Tue, 21 Feb 2012 18:59:38 +0000 (19:59 +0100)]
swscale: K&R formatting cosmetics for PowerPC code (part II/II)
Ingo Brückl [Fri, 16 Sep 2011 22:00:19 +0000 (15:00 -0700)]
mp3dec: Fix reading file size and frames in VBRI headers
The fields "Number of Bytes" and "Number of Frames" are mixed up. "Bytes"
come first, "Frames" behind.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Alex Converse <alex.converse@gmail.com>
Diego Biurrun [Wed, 29 Feb 2012 18:47:49 +0000 (19:47 +0100)]
mjpegdec: use correct variable in av_log invocation
libavcodec/mjpegdec.c:1463: warning: format ‘%x’ expects type ‘unsigned int’, but argument 5 has type ‘const uint8_t *’
Diego Biurrun [Sun, 26 Feb 2012 22:42:37 +0000 (23:42 +0100)]
rmdec: adjust printf format string specifier to fix warning
libavformat/rmdec.c:383: warning: format ‘%d’ expects type ‘int’, but argument 7 has type ‘int64_t’
Diego Biurrun [Mon, 27 Feb 2012 21:08:41 +0000 (22:08 +0100)]
Replace AVFrame pointer type punning by proper struct member assignments.
Diego Biurrun [Mon, 27 Feb 2012 21:02:45 +0000 (22:02 +0100)]
Replace AVFrame pointer casts by proper struct member accesses.
Diego Biurrun [Mon, 27 Feb 2012 07:51:20 +0000 (08:51 +0100)]
Remove unnecessary AVFrame pointer casts.
Diego Biurrun [Sat, 18 Feb 2012 13:28:43 +0000 (14:28 +0100)]
msmpeg4: Split encoding backend code off from general backend code.
Anton Khirnov [Thu, 1 Mar 2012 11:15:45 +0000 (12:15 +0100)]
lavc: shrink encoded video packet size after encoding.
Based on a patch by Nicolas George <nicolas.george <at> normalesup.org>
Ronald S. Bultje [Thu, 1 Mar 2012 19:56:05 +0000 (11:56 -0800)]
h264: error out on invalid bitdepth.
Fixes invalid reads while initializing the dequant tables, which uses
the bit depth to determine the QP table size.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Christophe Gisquet [Thu, 23 Feb 2012 22:25:44 +0000 (22:25 +0000)]
aacsbr: use a swap index for the Y matrix rather than copy buffers.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
Ronald S. Bultje [Thu, 1 Mar 2012 17:41:22 +0000 (09:41 -0800)]
huffyuv: do not abort on unknown pix_fmt; instead, return an error.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Ronald S. Bultje [Thu, 1 Mar 2012 01:50:28 +0000 (17:50 -0800)]
lcl: return negative error codes on decode_init() errors.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Martin Storsjö [Fri, 10 Feb 2012 08:31:19 +0000 (10:31 +0200)]
rtpenc: Use MB info side data for splitting H263 packets for RFC 2190
This makes the packetization spec compliant for cases where one single
GOB doesn't fit into an RTP packet.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 27 Feb 2012 21:23:45 +0000 (23:23 +0200)]
h263enc: Add an option for outputting info about MBs as side data
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 27 Feb 2012 23:08:31 +0000 (01:08 +0200)]
avpacket: Add a function for shrinking already allocated side data
Signed-off-by: Martin Storsjö <martin@martin.st>
Vitor Sessak [Wed, 29 Feb 2012 18:39:16 +0000 (19:39 +0100)]
nellymoserdec: Saner and faster IMDCT windowing
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Vitor Sessak [Wed, 29 Feb 2012 21:09:10 +0000 (22:09 +0100)]
amrnbdec: check frame size before decoding.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Ronald S. Bultje [Wed, 29 Feb 2012 21:55:09 +0000 (13:55 -0800)]
cscd: use negative error values to indicate decode_init() failures.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Ronald S. Bultje [Wed, 29 Feb 2012 02:48:27 +0000 (18:48 -0800)]
h264: prevent overreads in intra PCM decoding.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Justin Ruggles [Fri, 20 Jan 2012 04:47:48 +0000 (23:47 -0500)]
FATE: do not decode audio in the nuv test.
We already have sufficient coverage for 16-bit pcm.
Justin Ruggles [Thu, 19 Jan 2012 20:55:18 +0000 (15:55 -0500)]
dxa: set audio stream time base using the sample rate
Justin Ruggles [Tue, 17 Jan 2012 15:16:34 +0000 (10:16 -0500)]
psx-str: do not allow seeking by bytes
Justin Ruggles [Fri, 13 Jan 2012 23:20:18 +0000 (18:20 -0500)]
asfdec: Do not set AVCodecContext.frame_size
Justin Ruggles [Thu, 19 Jan 2012 20:48:11 +0000 (15:48 -0500)]
vqf: set packet parameters after av_new_packet()
Otherwise the values are overwritten.
Vitor Sessak [Wed, 29 Feb 2012 20:06:13 +0000 (21:06 +0100)]
mpegaudiodec: use DSPUtil.butterflies_float().
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Justin Ruggles [Fri, 24 Feb 2012 21:47:28 +0000 (16:47 -0500)]
FATE: add mp3 test for sample that exhibited false overreads
related to
b7165426917f91ebcad84bdff366824f03b32bfe
Error messages and audible artifacts were fixed in that commit.
Paul B Mahol [Sun, 26 Feb 2012 19:23:50 +0000 (19:23 +0000)]
fate: add cdxl test for bit line plane arrangement
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Ronald S. Bultje [Wed, 29 Feb 2012 03:00:48 +0000 (19:00 -0800)]
vmnc: return error on decode_init() failure.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Justin Ruggles [Wed, 29 Feb 2012 05:02:55 +0000 (00:02 -0500)]
libvorbis: add/update error messages
also use AVERROR codes for some return values instead of -1
Justin Ruggles [Wed, 29 Feb 2012 03:39:07 +0000 (22:39 -0500)]
libvorbis: use AVFifoBuffer for output packet buffer
simplifies the code and does less memmove()
Justin Ruggles [Wed, 29 Feb 2012 02:02:22 +0000 (21:02 -0500)]
libvorbis: remove unneeded e_o_s check
vorbis_bitrate_flushpacket() does not return any packets that should not be
output in the bitstream.
Justin Ruggles [Wed, 29 Feb 2012 02:00:33 +0000 (21:00 -0500)]
libvorbis: check return values for functions that can return errors
Justin Ruggles [Wed, 29 Feb 2012 00:55:10 +0000 (19:55 -0500)]
libvorbis: use float input instead of s16
libvorbis takes float input, so we can just deinterleave/reorder the input
as-is instead of also converting.
Justin Ruggles [Wed, 29 Feb 2012 00:51:25 +0000 (19:51 -0500)]
libvorbis: do not flush libvorbis analysis if dsp state was not initialized
Fixes a segfault if init() fails before initializing the dsp state
Justin Ruggles [Wed, 29 Feb 2012 00:33:07 +0000 (19:33 -0500)]
libvorbis: use VBR by default, with default quality of 3
Justin Ruggles [Tue, 28 Feb 2012 23:52:30 +0000 (18:52 -0500)]
libvorbis: fix use of minrate/maxrate AVOptions
- enable the options for audio encoding
- properly check for user-set maxrate
- use correct calling order in vorbis_encode_setup_managed()
Justin Ruggles [Tue, 28 Feb 2012 23:51:04 +0000 (18:51 -0500)]
libvorbis: cosmetics: renaming/pretty-printing/comments/unused code
Justin Ruggles [Thu, 23 Feb 2012 02:45:06 +0000 (21:45 -0500)]
(e)ac3enc: select a default bit rate based on the channel layout
Justin Ruggles [Thu, 23 Feb 2012 02:26:09 +0000 (21:26 -0500)]
ac3enc: choose the closest bit rate to the one requested instead of failing
Ronald S. Bultje [Wed, 29 Feb 2012 01:04:33 +0000 (17:04 -0800)]
rpza: error out on buffer overreads.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Ronald S. Bultje [Wed, 29 Feb 2012 03:00:39 +0000 (19:00 -0800)]
qtrle: return error on decode_init() failure.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Ronald S. Bultje [Wed, 29 Feb 2012 02:21:31 +0000 (18:21 -0800)]
swscale: fix another integer overflow.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Martin Storsjö [Wed, 29 Feb 2012 15:35:00 +0000 (17:35 +0200)]
dpxenc: Don't include the libavcodec ident if bitexact mode is enabled
This avoids breaking fate every time the lavc version is bumped.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 29 Feb 2012 12:50:06 +0000 (14:50 +0200)]
rtpenc: Fix setting the max packet size
This fixes cases where the user had specified one desired MTU
via an option, and the protocol indicates another one.
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Tue, 28 Feb 2012 11:07:53 +0000 (12:07 +0100)]
Add a minor bump, changelog/APIchanges entry and some documentation for APIC support.
Anton Khirnov [Tue, 28 Feb 2012 08:52:05 +0000 (09:52 +0100)]
mp3enc: write attached pictures (APIC).
Anton Khirnov [Wed, 29 Feb 2012 08:11:26 +0000 (09:11 +0100)]
mp3enc: move mp3_write_xing() further up in the file.
It will be need by new functions called from mp3_write_trailer().
Anton Khirnov [Mon, 27 Feb 2012 21:51:28 +0000 (22:51 +0100)]
id3v2enc: add a function for writing attached pictures.
Unused so far.
Anton Khirnov [Tue, 28 Feb 2012 10:45:07 +0000 (11:45 +0100)]
id3v2enc: fix writing frame sizes for ID3v2.3
Frame sizes in ID3v2.3 are not synchsafe, they are simply 32be numbers.
In practice this bug is not noticeable unless the frame size takes more
than 7 bits (which is almost never for text frames).
Anton Khirnov [Mon, 27 Feb 2012 21:08:50 +0000 (22:08 +0100)]
id3v2enc: split ff_id3v2_write().
This will allow writing the tag in several steps, needed for writing
attached pictures.
Anton Khirnov [Mon, 27 Feb 2012 20:48:37 +0000 (21:48 +0100)]
id3v2enc: make id3v2_put_size take only an AVIOContext.
It has no need of full AVFormatContext.
Anton Khirnov [Sat, 25 Feb 2012 08:53:59 +0000 (09:53 +0100)]
id3v2: remove unused ff_id3v2_read().
Rename ff_id3v2_read_all to ff_id3v2_read().
Anton Khirnov [Sat, 25 Feb 2012 08:53:35 +0000 (09:53 +0100)]
lavf: export id3v2 attached pictures as streams.
Anton Khirnov [Sat, 25 Feb 2012 17:05:55 +0000 (18:05 +0100)]
lavf: generic code for exporting attached pictures.
Anton Khirnov [Sat, 25 Feb 2012 08:45:38 +0000 (09:45 +0100)]
id3v2: read attached pictures and export them in ID3v2ExtraMeta.
Anton Khirnov [Wed, 19 Jan 2011 09:21:29 +0000 (10:21 +0100)]
lavf: move CodecMime from matroska.h to internal.h
it will be useful for attached pictures in ID3v2
Anton Khirnov [Wed, 29 Feb 2012 07:07:57 +0000 (08:07 +0100)]
swfdec: do not set codec timebase.
It is not supposed to be set outside of lavc.
Fixes a divide by zero when the stored framerate is 0.
Kostya Shishkov [Tue, 28 Feb 2012 18:44:07 +0000 (19:44 +0100)]
prores: store and retrieve extended colourspace information
Based on the patch by Phil Barrett.
Phil Barrett [Tue, 28 Feb 2012 18:26:11 +0000 (19:26 +0100)]
proresenc: correct edge emulation
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Kostya Shishkov [Tue, 28 Feb 2012 18:03:09 +0000 (19:03 +0100)]
prores: handle 444 chroma in right order
ProRes codes chroma blocks in 444 mode in different order than luma blocks,
so make both decoder and encoder read/write chroma blocks in right order.
Reported by Phil Barrett
Anton Khirnov [Mon, 27 Feb 2012 19:06:23 +0000 (20:06 +0100)]
mpegvideo_enc: add quantizer_noise_shaping private option.
Deprecate corresponding AVCodecContext field.
Anton Khirnov [Mon, 27 Feb 2012 18:58:41 +0000 (19:58 +0100)]
lavc: deprecate AVCodecContext.inter_threshold.
It's unused.
Anton Khirnov [Mon, 27 Feb 2012 18:53:21 +0000 (19:53 +0100)]
lavc: deprecate AVCodecContext.color_table_id.
It's currently only used as temporary storage by the mov demuxer. Make
it use a local variable instead.
Anton Khirnov [Mon, 27 Feb 2012 18:44:41 +0000 (19:44 +0100)]
avplay: remove an unused variable.
Anton Khirnov [Mon, 27 Feb 2012 18:09:49 +0000 (19:09 +0100)]
mpegvideo_enc: add chroma/luma_elim_threshold private options.
Deprecate corresponding AVCodecContext fields.
Anton Khirnov [Mon, 27 Feb 2012 11:23:19 +0000 (12:23 +0100)]
mpegvideo_enc: add cbp_rd flag to mpv_flags.
Deprecate CODEC_FLAG_CBP_RD.
Anton Khirnov [Mon, 27 Feb 2012 11:23:19 +0000 (12:23 +0100)]
mpegvideo_enc: add qp_rd flag to mpv_flags.
Deprecate CODEC_FLAG_QP_RD.
Anton Khirnov [Mon, 27 Feb 2012 11:23:19 +0000 (12:23 +0100)]
mpegvideo_enc: add strict_gop flag to mpv_flags.
Deprecate CODEC_FLAG2_STRICT_GOP.
Anton Khirnov [Mon, 27 Feb 2012 11:12:19 +0000 (12:12 +0100)]
lavc: add -mpv_flags to mpegvideo_enc-based encoders.
Deprecate CODEC_FLAG2_SKIP_RD in favor of the corresponding mpv_flags
flag.
Michael Niedermayer [Fri, 21 Oct 2011 09:41:40 +0000 (09:41 +0000)]
aacdec: Support stereo streams that erroneously signal predefined channel configuration 1 (mono).
[alex.converse@mgail.com]
Move code to get_che()
Update for AAC new channel configuration interface
Only set chan_config if output_configure succeeds.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
Alex Converse [Tue, 28 Feb 2012 18:36:29 +0000 (10:36 -0800)]
aacdec: Reshuffle functions so get_che() can call set_default_channel_config() and output_configure().
Ronald S. Bultje [Thu, 23 Feb 2012 19:19:33 +0000 (11:19 -0800)]
vp56: error out on invalid stream dimensions.
Prevents crashes when playing corrupt vp5/6 streams.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Ronald S. Bultje [Wed, 29 Feb 2012 00:13:46 +0000 (16:13 -0800)]
asf: don't seek back on EOF.
Seeking back on EOF will reset the EOF flag, causing us to re-enter
the loop to find the next marker in the ASF file, thus potentially
causing an infinite loop.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Ronald S. Bultje [Fri, 17 Feb 2012 20:21:22 +0000 (12:21 -0800)]
asf: error out on ridiculously large minpktsize values.
They cause various issues further down in demuxing.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Alex Converse [Tue, 28 Feb 2012 19:50:22 +0000 (11:50 -0800)]
adpcm: Clip step_index values read from the bitstream at the beginning of each frame.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Ronald S. Bultje [Tue, 28 Feb 2012 19:35:36 +0000 (11:35 -0800)]
oma: don't read beyond end of leaf_table.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Diego Biurrun [Tue, 21 Feb 2012 22:33:01 +0000 (23:33 +0100)]
doxygen: Remove documentation for non-existing parameters; misc small fixes.
Ronald S. Bultje [Tue, 28 Feb 2012 18:22:28 +0000 (10:22 -0800)]
Indeo3: fix crashes on corrupt bitstreams.
Splits at borders of cells are invalid, since it leaves one of the
cells with a width/height of zero. Also, propagate errors on buffer
allocation failures, so we don't continue decoding (which crashes).
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Diego Biurrun [Sat, 18 Feb 2012 12:43:59 +0000 (13:43 +0100)]
msmpeg4: Replace forward declaration by proper #include.
Luca Barbato [Sat, 25 Feb 2012 20:45:23 +0000 (21:45 +0100)]
segment: implement wrap around
Provide a way to wrap around the segment index so pseudostreaming
live through a web server and html5 browser is simpler.
Also ensure that 0 (disable) is a valid value across the options
providing wrap around.
Luca Barbato [Mon, 27 Feb 2012 21:40:11 +0000 (22:40 +0100)]
avf: reorder AVStream and AVFormatContext
Alex Converse [Thu, 23 Feb 2012 19:08:47 +0000 (11:08 -0800)]
aacdec: Remove erroneous reference to global gain from the out of bounds scalefactor error message.
Diego Biurrun [Mon, 27 Feb 2012 19:52:06 +0000 (20:52 +0100)]
avcodec_default_reget_buffer(): fix compilation in DEBUG mode
Derek Buitenhuis [Fri, 24 Feb 2012 16:41:06 +0000 (11:41 -0500)]
fate: Overhaul WavPack coverage
WavPack has a comprehensive test suite, and a bunch
of corner cases.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>