summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAgeFilesLines
* nellymoserdec: Indicate that the decoder can handle changed parametersMartin Storsjö2011-12-211-1/+1
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* libavcodec: Apply parameter change side data when decoding audioMartin Storsjö2011-12-211-0/+44
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* libavcodec: Define a side data type for parameter changesMartin Storsjö2011-12-212-1/+27
| | | | | | | Also define a codec capability for codecs that can handle parameters changed externally between decoded packets. Signed-off-by: Martin Storsjö <martin@martin.st>
* aacdec: Handle new extradata passed as side dataMartin Storsjö2011-12-211-0/+19
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* libavcodec: Define a side data type for new extradataMartin Storsjö2011-12-212-2/+3
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* x86: Tighten register constraints for decode_significance*_x86.Diego Biurrun2011-12-212-3/+3
| | | | | | | On 32-bit OS X with gcc 4.0/4.2 and shared libraries enabled, the ebx register is not available, but required to assemble the functions. This reverts commit 8742a4f to a simplified version of the original constraints.
* Replace Subversion revisions in comments by Git hashes.Diego Biurrun2011-12-211-2/+3
|
* h264_cabac: synchronize decode_significance_*_x86 conditionalsDiego Biurrun2011-12-211-1/+1
| | | | The definition and the call site where under different #ifdefs.
* w32threads: wait for the waked thread in pthread_cond_signal.Sergey Radionov2011-12-201-5/+11
| | | | | | | | 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>
* aacdec: Cleanup decode_ics_info.Alex Converse2011-12-201-15/+9
| | | | | | Remove unused function argument. Return an AVERROR. Don't zero out ICS on failure.
* lavc: always align height by 32 pixelRafaël Carré2011-12-211-4/+2
| | | | | | | | 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>
* raw: add 10bit YUV definitionsLuca Barbato2011-12-211-0/+6
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mpegvideo_enc: separate declarations and statementsDiego Biurrun2011-12-201-1/+2
| | | | libavcodec/mpegvideo_enc.c:1209: warning: ISO C90 forbids mixed declarations and code
* vp3: Reorder some functions to fix VP3 build with Theora disabled.Diego Biurrun2011-12-201-77/+74
|
* build: fix standalone compilation of ADX encoderDiego Biurrun2011-12-201-1/+1
| | | | The encoder depends on the common code, so link against it.
* build: fix standalone compilation of ADPCM decodersDiego Biurrun2011-12-201-11/+11
| | | | The generic ADPCM codes depends on the ADPCM data tables.
* 4xm: Use bytestream2 functions to prevent overreadsAneesh Dogra2011-12-201-13/+15
| | | | | | Fixes Bug 110. Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
* bytestream: add a new set of bytestream functions with overread checkingAneesh Dogra2011-12-201-0/+44
| | | | Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
* vc1dec: Use the right pointer type for the tmp pointerMartin Storsjö2011-12-201-2/+1
| | | | | | | This fixes warnings about assignment from incompatible pointer type. Signed-off-by: Martin Storsjö <martin@martin.st>
* h264: clear trailing bits in partially parsed NAL unitsJanne Grunau2011-12-191-1/+4
| | | | | | | | Trailing bits are likely to be non-zero if the NAL unit is truncated. Clearing the bits make overreads of the bitstream less likely in this case. Fixes playback of http://streams.videolan.org/streams/mp4/Mr_MrsSmith-h264_aac.mp4 which has a forbidden byte sequence of 0x00 0x00 0x00 in it SPS.
* vc1: Handle WVC1 interlaced streamAneesh Dogra2011-12-191-10/+15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* xl: Fix overreadsAneesh Dogra2011-12-191-0/+6
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* qcelpdec: K&R formatting cosmeticsAsen Lekov2011-12-191-183/+177
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* qcelpdec: cosmetics: drop some pointless parenthesesDiego Biurrun2011-12-191-8/+8
|
* x86: conditionally compile dnxhd encoder optimizationsDiego Biurrun2011-12-191-2/+2
|
* Revert "h264: skip start code search if the size of the nal unit is known"Janne Grunau2011-12-193-14/+4
| | | | This reverts commit 87eebb3454ff0cd6af6ebf9e1d31bdfd1c3b601b.
* h264: skip start code search if the size of the nal unit is knownJanne Grunau2011-12-183-4/+14
| | | | | | | | Start code emulation prevention is only required in Annex B bytestream packed NAL units. For other coding formats the size is already known. Looking for a start code prefix can result in false positives like in http://streams.videolan.org/streams/mp4/Mr_MrsSmith-h264_aac.mp4 which has a false positive in the SPS.
* cljr: fix buf_size sanity checkPaul B. Mahol2011-12-181-1/+1
| | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* cljr: Check if width and height are positive integersShitiz Garg2011-12-181-0/+5
| | | | | | | | Width and height might get passed as 0 and would cause floating point exceptions in decode_frame. Fixes bugzilla #149 Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* avcodec: deprecate AVFrame.ageMans Rullgard2011-12-187-56/+14
| | | | | | | | This was intended as an optimisation for skipped blocks in MPEG2 P-frames and never used elsewhere. Removing this "optimisation" speeds up MPEG2 decoding by 1-2% (ARM Cortex-A9). Signed-off-by: Mans Rullgard <mans@mansr.com>
* 4xm: remove unneeded check for remaining unused data.Justin Ruggles2011-12-181-9/+0
| | | | | This is unnecessary complication that only prints a message and does not affect decoding.
* tmv decoder: set correct pix_fmtUoti Urpala2011-12-181-0/+7
| | | | | | | | Previously the decoder only worked if the user had set avctx->pix_fmt manually. For some reason the libavformat tmv demuxer sets this, so the problem was not visible in avplay etc. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* dct-test: remove unused variable cropTblMans Rullgard2011-12-171-9/+0
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* get_bits: remove LAST_SKIP_CACHE macroMans Rullgard2011-12-173-10/+6
| | | | | | This macro is empty since the removal of the A32 bitstream reader. Signed-off-by: Mans Rullgard <mans@mansr.com>
* get_bits: remove strange/obsolete commentsMans Rullgard2011-12-171-9/+1
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* get_bits: whitespace (mostly) cosmeticsMans Rullgard2011-12-171-49/+73
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* get_bits: remove unnecessary #includesMans Rullgard2011-12-171-3/+0
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* mp3dec: hack: fix decoding with safe bitstream readerMans Rullgard2011-12-171-0/+3
| | | | | | | | | The buffer splicing relies on the bitstream reader over-reading the end of the buffer as declared in init_get_bits(), although more data is actually present. Manually moving the bitstream boundary after init_get_bits() allows this to work as expected. Signed-off-by: Mans Rullgard <mans@mansr.com>
* adpcm: Check for channels to be a non-zero integerShitiz Garg2011-12-171-2/+3
| | | | | | | channels would be 0 sometimes and would cause floating point exception Fixes bugzilla #124 Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
* get_bits: introduce safe bitreading to prevent overreads.Ronald S. Bultje2011-12-172-1/+38
| | | | | | | | | | | | | | | 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>.
* get_bits: remove A32 variantMans Rullgard2011-12-164-100/+16
| | | | | | | | | | | | | | | | | 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>
* wavpack: Fix 32-bit clippingDerek Buitenhuis2011-12-161-2/+2
| | | | | | | | 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>
* wavpack: Clip samples after shiftingDerek Buitenhuis2011-12-161-2/+2
| | | | | | | | 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>
* h264: don't drop B-frames after next keyframe on POC reset.Ronald S. Bultje2011-12-161-1/+5
| | | | | | | The keyframe after a POC reset may not be the first to be returned to the user. Therefore, don't reset the expected next POC once we return a keyframe to the user, but once we know that the next frame in the return-queue is a keyframe.
* get_bits: remove useless pointer castsMans Rullgard2011-12-161-2/+2
| | | | | | These pointers are already of the correct type. Signed-off-by: Mans Rullgard <mans@mansr.com>
* rv40: NEON optimised weak loop filterMans Rullgard2011-12-162-0/+119
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* v410enc: fix output buffer size checkMans Rullgard2011-12-151-1/+1
| | | | | | The encoder clearly needs width * height * 4 bytes. Signed-off-by: Mans Rullgard <mans@mansr.com>
* v410enc: include correct headersMans Rullgard2011-12-151-1/+1
| | | | | | | This file does not use anything from put_bits.h but needs intreadwrite.h. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: fix external symbol refs in rv40 asmMans Rullgard2011-12-151-2/+2
| | | | | | | External symbol references need prefixes on some systems. This should fix build errors on Darwin. Signed-off-by: Mans Rullgard <mans@mansr.com>
* libgsm: Reset the MS mode of GSM in the flush functionMartin Storsjö2011-12-151-0/+3
| | | | | | | | | | The mode is set in libgsm_decode_init, but the decoder object is simply destroyed and recreated in the flush function - therefore the mode has to be set again. This fixes playback using the libgsm_ms decoder in avplay. Signed-off-by: Martin Storsjö <martin@martin.st>