Age | Commit message (Collapse) | Author |
|
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>
|
|
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
|
libavcodec/mpegvideo_enc.c:1209: warning: ISO C90 forbids mixed declarations and code
|
|
|
|
The encoder depends on the common code, so link against it.
|
|
The generic ADPCM codes depends on the ADPCM data tables.
|
|
Fixes Bug 110.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
|
|
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
|
|
This fixes warnings about assignment from incompatible
pointer type.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
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.
|
|
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|
|
|
|
|
|
This reverts commit 87eebb3454ff0cd6af6ebf9e1d31bdfd1c3b601b.
|
|
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.
|
|
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
|
|
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>
|
|
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>
|
|
This is unnecessary complication that only prints a message and does not
affect decoding.
|
|
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>
|
|
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
This macro is empty since the removal of the A32 bitstream reader.
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
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>
|
|
channels would be 0 sometimes and would cause floating point exception
Fixes bugzilla #124
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
|
|
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>.
|
|
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>
|
|
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>
|
|
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>
|
|
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.
|
|
These pointers are already of the correct type.
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
The encoder clearly needs width * height * 4 bytes.
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
This file does not use anything from put_bits.h but needs
intreadwrite.h.
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
External symbol references need prefixes on some systems.
This should fix build errors on Darwin.
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
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>
|
|
This fixes regressions in decoding using the libgsm_ms decoder,
broken since 0eea21294354.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
Old gcc versions have trouble compiling this function, and
no simple, targeted test is possible.
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
|
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
This splits the loop filter functions into smaller, more SIMD-friendly
functions.
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
|
|
v410 is a packed 10-bit 4:4:4 YCbCr format used in
QuickTime.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|
|
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
This patch is a generalization of what Michael Niedermayer
fixed in a single case.
The wmv8-drm fate test had been updated accordingly.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
|
Simplify a little error resilience calls
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|