Commit graph

16693 commits

Author SHA1 Message Date
Janne Grunau
4f94de84e8 pthreads: reset active_thread_type when slice thread_init returrns early
(cherry picked from commit f77f640b30)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 22:24:57 +01:00
Justin Ruggles
9665ccda10 ra144enc: zero the reflection coeffs if the filter is unstable
fixes use of uninitialized values if the filter is still unstable after using
the previous frame lpc coefficients.
(cherry picked from commit 9a3f10695a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 21:51:53 +01:00
Michael Niedermayer
1c930fe915 proresdec: Check yuv slice data sizes.
Fixes overread
Fixes Ticket812
Bug found by: Oana Stratulat

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 2b73cddd40)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 21:51:53 +01:00
Justin Ruggles
a25c7081ab truespeech: fix invalid reads in truespeech_apply_twopoint_filter()
fixes Bug 171
(cherry picked from commit f264d336fe)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 21:51:53 +01:00
Martin Storsjö
dfdb3ca341 libavcodec: Define a side data type for parameter changes
Also define a codec capability for codecs that can handle
parameters changed externally between decoded packets.

Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit fe75dc8583)

Conflicts:

	libavcodec/avcodec.h
	libavcodec/version.h

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 21:51:53 +01:00
Martin Storsjö
c21440637e libavcodec: Define a side data type for new extradata
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 195c123cc8)

Conflicts:

	libavcodec/version.h

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 21:51:52 +01:00
Michael Niedermayer
f45a5c60b9 mpeg12dec: reset first_field with picture_structure changes.
Fixes Ticket809
Bug found by: Oana Stratulat

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a40f6a5c69)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 21:51:52 +01:00
Michael Niedermayer
22721b2829 mpegaudiodec: disable unneeded and not working checked reader.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 21:51:52 +01:00
Michael Niedermayer
9bd47bbcc6 mpeg12: disable checked reader.
overreads in mpeg12 are not possible

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 549749c68e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 21:51:52 +01:00
Michael Niedermayer
42b69286de mpeg4: disable checked bitstream reader, overreads are not possible.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 06192e42fd)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 21:51:52 +01:00
Michael Niedermayer
e8928f7e97 h263: disable slow checked reader, overreads are not possible in
ffmpegs h263 decoder

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8e7776036b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 21:51:52 +01:00
Michael Niedermayer
b1933a1e12 h264: disable checking reader, overreads are not possible
in ffmpegs h264 decoder.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 38331d2036)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 21:51:44 +01:00
Michael Niedermayer
36e30d7ab9 proresdec2: fix for removed a32 reader
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 21:01:08 +01:00
Ronald S. Bultje
ea199c707c get_bits: introduce safe bitreading to prevent overreads.
When turned on, H264/CAVLC gets ~15% (CVPCMNL1_SVA_C.264) slower for
ultra-high-bitrate files, or ~2.5% (CVFI1_SVA_C.264) for lower-bitrate
files. Other codecs are affected to a lesser extent because they are
less optimized; e.g., VC-1 slows down by less than 1% (all on x86).
The patch generated 3 extra instructions (cmp, cmovae and mov) per
call to get_bits().

The performance penalty on ARM is within the error margin for most
files, up to 4% in extreme cases such as CVPCMNL1_SVA_C.264.

Based on work (for GCI) by Aneesh Dogra <lionaneesh@gmail.com>, and
inspired by patch in Chromium by Chris Evans <cevans@chromium.org>.
(cherry picked from commit 8cfbbd928c)

Conflicts:

	configure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 20:59:17 +01:00
Mans Rullgard
09ce851c7e get_bits: remove A32 variant
The A32 bitstream reader variant is only used on ARMv5 and for
Prores due to the larger bit cache this decoder requires.

In benchmarks on ARMv5 (Marvell Sheeva) with gcc 4.6, the only
statistically significant difference between ALT and A32 is
a 4% advantage for ALT in FLAC decoding.  There is thus no (longer)
any reason to keep the A32 reader from this point of view.

This patch adds an option to the ALT reader increasing the bit
cache to 32 bits as required by the Prores decoder.  Benchmarking
shows no significant change in speed on Intel i7.  Again, the
A32 reader fails to justify its existence.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit a1e98f198e)

Conflicts:

	libavcodec/get_bits.h

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 20:58:22 +01:00
Sergey Radionov
0f38b11939 w32threads: wait for the waked thread in pthread_cond_signal.
This fixes a deadlock VLC triggered with multithreaded decoding. The
wait forces one of the current waiters to wake and not the thread
which calls pthread_cond_signal() itself.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 2003a29284)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 20:49:52 +01:00
Michael Niedermayer
d20e948f07 indeo3: Fix null ptr dereference
Fixes Ticket804
Bug found by: Oana Stratulat

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 134aaa79f7)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 20:01:50 +01:00
Michael Niedermayer
acbdee0a2b golomb: fix end of bitstream check
Fixes Ticket806
Bug found by Oana Stratulat

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fc739b79ad)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 20:01:45 +01:00
Rafaël Carré
fa86884dbc lavc: always align height by 32 pixel
Interlaced content for most codec requires it.
This patch is a stop-gap pending a serious rework to support
codecs with non 16 pixel macroblocks.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit 37c0dc626d)

Conflicts:

	libavcodec/utils.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 20:01:13 +01:00
Luca Barbato
3d207417fb raw: add 10bit YUV definitions
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit 91b1e6f0c6)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 20:00:13 +01:00
Michael Niedermayer
41ff9350e9 indeo5: Fix null pointer dereference
Fixes Ticket803
Bug found by: Oana Stratulat

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f27930cd9a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:59:33 +01:00
Aneesh Dogra
ae26aab2c3 bytestream: add a new set of bytestream functions with overread checking
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
(cherry picked from commit fd22616c59)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:58:41 +01:00
Michael Niedermayer
d8d25f143f alac: Check for bitstream overread
Fixes Ticket801
Bug found by: Oana Stratulat

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a8469223f6)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:56:06 +01:00
Michael Niedermayer
c550d56414 tm2: Check remaining size before init_get_bits()
Fixes a null pointer dereference.
Fixes 2nd half of Ticket800
Bug found by: Oana Stratulat

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 65f0f9183b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:56:01 +01:00
Aneesh Dogra
2cdd89a561 xl: Fix overreads
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 00aad121d8)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:49:56 +01:00
Michael Niedermayer
125894f15f eamad: pass & check errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 1d0ae92a25)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:49:56 +01:00
Michael Niedermayer
54cfb532a0 eamad: fix excessive memory allocation.
Fixes Ticket792
Bug found by Oana Stratulat

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 03a9c9932d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:49:56 +01:00
Michael Niedermayer
9c338b7c4c tqi: Fix passing errors from the MB decode. This silences some valgrind warnings.
Fixes second half of Ticket794
Bug found by: Oana Stratulat

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f85334f58e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:49:55 +01:00
Michael Niedermayer
25cadd366b adpcm: Fix crash
Fixes half of Ticket794
Bug found by: Oana Stratulat

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 608708009f)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:49:55 +01:00
Michael Niedermayer
f57c629b18 proresdec: add UPDATE_CACHE, should fix decoding with -Os
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 29179239f5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:49:55 +01:00
Paul B. Mahol
d1e1674f66 cljr: fix buf_size sanity check
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
(cherry picked from commit 2e7905eee8)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:49:55 +01:00
Michael Niedermayer
d0269db8e3 adx_parser: rewrite.
The previous code ended in multiple different infinite
loops. See stl_ten_1_big.sfd as example with and without zzuf

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7859740c6a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:49:55 +01:00
Michael Niedermayer
cb42ed171d adxdec: Fix division by zero
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6b6b84ae16)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:49:55 +01:00
Michael Niedermayer
2bbda9872f adxdec: Do not require extradata.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bdd62a615a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:49:55 +01:00
Michael Niedermayer
9dd420ede1 adx_parser: Fix infinite loop.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3bf1d787b5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:49:55 +01:00
Carl Eugen Hoyos
bf58e5422d Fix possible endless loop when decoding amr.
Fixes bug 151.

Reviewed-by: Vitor Sessak
(cherry picked from commit 290e7eb77b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:10:33 +01:00
Michael Niedermayer
88eaab2827 motion_est: avoid generating motion vectors that point between widthxheight and mb_widthxmb_height.
No difference in PSNR or bitrate in the printed precission with the matrix lobby scene at 322x242

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 56bf2c2a19)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:09:45 +01:00
Michael Niedermayer
0c72d64160 lagarith: rgb24 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0db7b30700)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:09:20 +01:00
Michael Niedermayer
1bb565360c msvideo1enc: Check that dimensions are a multiple of 4.
Fixes Ticket784
Found by: ami_stuff

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e09ffa4524)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:08:44 +01:00
Shitiz Garg
1acf921d6f adpcm: Check for channels to be a non-zero integer
channels would be 0 sometimes and would cause floating point exception
Fixes bugzilla #124

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
(cherry picked from commit e614fac2e6)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:07:30 +01:00
Michael Niedermayer
7bf3f79502 lavc: Check codec_ids against insertion/removial typos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 83b46713f0)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:05:38 +01:00
Michael Niedermayer
513b0f4872 aacdec: Fix null pointer crash
Fixes bug170
Bug found by: Gautam Gupta

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f37b2d5a68)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:05:12 +01:00
Michael Niedermayer
8c2fe23b1c atrac3: Fix crash in tonal component decoding.
Fixes Ticket780
Bug Found by: cosminamironesei

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 9af6abdc17)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:04:45 +01:00
Derek Buitenhuis
c2aa7b70d4 wavpack: Fix 32-bit clipping
In the case that (frame_flags & 0x03) == 3, hybrid_maxclip
may have had a signed integer overflow.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
(cherry picked from commit bb9747c8ee)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:04:14 +01:00
Derek Buitenhuis
8d055e9079 wavpack: Clip samples after shifting
It doesn't make much sense to clip pre-shift,
nor is it correct for proper decoding.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
(cherry picked from commit 365e1ec26d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:04:11 +01:00
Michael Niedermayer
4f23f24e30 CODEC_ID_SOL_DPCM: Fix used write buffer.
Bug found by: Oana Stratulat

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6d8e6fe9db)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:03:39 +01:00
Shitiz Garg
34cee5bd37 cljr: Check if width or height are positive integers
width and height might get passed as 0 and would cause floating point
exceptions in decode_frame.
Fixes bugzilla #149

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4af0262f7d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:03:05 +01:00
Michael Niedermayer
5341734b03 h264: return the consumed amountg in case of Q264
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3d07e0aba0)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:02:32 +01:00
Michael Niedermayer
3c7ba39d09 h264: retuen the amount read in case of NAL_END_SEQUENCE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 227960427b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:02:26 +01:00
Michael Niedermayer
7c98d284ff h264: reset nal_unit_type so that decoding frames without any nal units
dont leave its value at something random.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 902c090413)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 19:02:17 +01:00