summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* mpegts: Fix typo in handling sections in the PMT.Alex Converse2011-12-20
| | | | | This was an error rebasing 4682a1dc3aa2554ad7077f5db32d0f2d598d018e for commit. The "pes" variable guaranteed to be NULL in that block.
* vc1dec: Use the right pointer type for the tmp pointerMartin Storsjö2011-12-20
| | | | | | | 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-19
| | | | | | | | 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-19
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* xl: Fix overreadsAneesh Dogra2011-12-19
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* mpegts: rename payload_index to payload_sizeLuca Barbato2011-12-19
| | | | It holds the size of the current payload.
* segment: introduce segmented chain muxerLuca Barbato2011-12-19
| | | | It behaves similarly to image2 muxer
* lavu: add AVERROR_BUG error valueLuca Barbato2011-12-19
| | | | | It should be used to mark codepath that can be reached only through programming error.
* avplay: clear pkt_temp when pkt is freed.Michael Niedermayer2011-12-19
| | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Marton Balint <cus@passwd.hu> Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
* qcelpdec: K&R formatting cosmeticsAsen Lekov2011-12-19
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* qcelpdec: cosmetics: drop some pointless parenthesesDiego Biurrun2011-12-19
|
* x86: conditionally compile dnxhd encoder optimizationsDiego Biurrun2011-12-19
|
* Revert "h264: skip start code search if the size of the nal unit is known"Janne Grunau2011-12-19
| | | | This reverts commit 87eebb3454ff0cd6af6ebf9e1d31bdfd1c3b601b.
* swscale: fix formatting and indentation of unscaled conversion routines.Nathan Adil Maxson2011-12-18
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* h264: skip start code search if the size of the nal unit is knownJanne Grunau2011-12-18
| | | | | | | | 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-18
| | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* cljr: Check if width and height are positive integersShitiz Garg2011-12-18
| | | | | | | | 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>
* APIchanges: fill in revision for AVFrame.age deprecationMans Rullgard2011-12-18
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* avcodec: deprecate AVFrame.ageMans Rullgard2011-12-18
| | | | | | | | 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-18
| | | | | This is unnecessary complication that only prints a message and does not affect decoding.
* lavf: force threads to 1 in avformat_find_stream_info()Anton Khirnov2011-12-18
| | | | | Fixes avformat_find_stream_info() on streams with number of frames < thread count.
* swscale: fix overflows in vertical scaling at top/bottom edges.Ronald S. Bultje2011-12-18
| | | | | | | | | | | | | | | | | | | | | | This fixes integer multiplication overflows in RGB48 output (vertical) scaling as detected by IOC. What happens is that for certain types of filters (lanczos, spline, bicubic), the intermediate sum of coefficients in the middle of a filter can be larger than the fixed-point equivalent of 1.0, even if the final sum is 1.0. This is fine and we support that. However, at frame edges, initFilter() will merge the coefficients for the off-screen pixels into the top or bottom pixel, such as to emulate edge extension. This means that suddenly, a single coefficient can be larger than the fixed-point equivalent of 1.0, which the vertical scaling routines do not support. Therefore, remove the merging of coefficients for edges for the vertical scaling filter, and instead add edge detection to the scaler itself so that it copies the pointers (not data) for the edges (i.e. it uses line[0] for line[-1] as well), so that a single coefficient is never larger than the fixed-point equivalent of 1.0.
* lavf: add OpenMG audio muxer.Michael Karcher2011-12-18
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* omadec: split data that will be used in the muxer to a separate file.Anton Khirnov2011-12-18
|
* lavf: rename oma.c -> omadec.cAnton Khirnov2011-12-18
|
* tmv decoder: set correct pix_fmtUoti Urpala2011-12-18
| | | | | | | | 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>
* build: link test programs with static librariesMans Rullgard2011-12-17
| | | | | | | | Many of the test programs directly access internal symbols not exported from the shared libraries. This allows tests to run when configured with shared libraries. Signed-off-by: Mans Rullgard <mans@mansr.com>
* dct-test: remove unused variable cropTblMans Rullgard2011-12-17
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* swscale: fix overflow in gray16 vertical scaling.Ronald S. Bultje2011-12-17
| | | | | | | | | | This fixes the same overflow as in the RGB48/16-bit YUV scaling; some filters can overflow both negatively and positively (e.g. spline/lanczos), so we bias a signed integer so it's "half signed" and "half unsigned", and can cover overflows in both directions while maintaining full 31-bit depth. Signed-off-by: Mans Rullgard <mans@mansr.com>
* get_bits: remove LAST_SKIP_CACHE macroMans Rullgard2011-12-17
| | | | | | This macro is empty since the removal of the A32 bitstream reader. Signed-off-by: Mans Rullgard <mans@mansr.com>
* swscale: fix integer overflows in RGB pixel writing.Mans Rullgard2011-12-17
| | | | | | | | We're shifting individual components (8-bit, unsigned) left by 24, so making them unsigned should give the same results without the overflow. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* swscale: add endian conversion for RGB555 and RGB444 pixel formatsJanne Grunau2011-12-17
| | | | Add a macro to shorten the if condition.
* swscale: fix overflows in output of RGB48 pixels.Ronald S. Bultje2011-12-17
| | | | | | | | | | | | | | For certain types of filters where the intermediate sum of coefficients can go above the fixed-point equivalent of 1.0 in the middle of a filter, the sum of a 31-bit calculation can overflow in both directions and can thus not be represented in a 32-bit signed or unsigned integer. To work around this, we subtract 0x40000000 from a signed integer base, so that we're halfway signed/unsigned, which makes it fit even if it overflows. After the filter finishes, we add the scaled bias back after a shift. We use the same trick for 16-bit bpc YUV output routines. Signed-off-by: Mans Rullgard <mans@mansr.com>
* get_bits: remove strange/obsolete commentsMans Rullgard2011-12-17
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* get_bits: whitespace (mostly) cosmeticsMans Rullgard2011-12-17
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* swscale: add rgb565 endianess conversionJanne Grunau2011-12-17
|
* get_bits: remove unnecessary #includesMans Rullgard2011-12-17
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* mp3dec: hack: fix decoding with safe bitstream readerMans Rullgard2011-12-17
| | | | | | | | | 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>
* fate: fix eatqi testMans Rullgard2011-12-17
| | | | | | | | The sample has an incomplete last frame. Decoding it is pointless. The garbage produced was changed by the bitstream reader now protecting against over-reads. Signed-off-by: Mans Rullgard <mans@mansr.com>
* adpcm: Check for channels to be a non-zero integerShitiz Garg2011-12-17
| | | | | | | channels would be 0 sometimes and would cause floating point exception Fixes bugzilla #124 Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
* swscale: fix overflows in RGB rounding constants.Ronald S. Bultje2011-12-17
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* get_bits: introduce safe bitreading to prevent overreads.Ronald S. Bultje2011-12-17
| | | | | | | | | | | | | | | 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-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>
* avconv: support stream specifiers in -metadata and -map_metadataAlexandra Khirnova2011-12-16
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* wavpack: Fix 32-bit clippingDerek Buitenhuis2011-12-16
| | | | | | | | 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-16
| | | | | | | | 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-16
| | | | | | | 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-16
| | | | | | These pointers are already of the correct type. Signed-off-by: Mans Rullgard <mans@mansr.com>
* configure: refactor lists of tests and components into variablesDiego Biurrun2011-12-16
|
* rv40: NEON optimised weak loop filterMans Rullgard2011-12-16
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>