Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Approved-by: Alex Zhukov
(cherry picked from commit 0d4a77472a)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Fixes 47j9R7PXBep.mov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ae7a6441df)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Also add "volatile" to broadcast flag (since it is used from
multiple threads).
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 01eb9805f3)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
When no data was available both the buffer thread as well as
the main thread would block in select(), when data becomes
available both should move forward and as data is read in the
buffer thread the main thread would block in select() later
the read data was put in the fifo but the main thread still
would be blocked in select() until either the timeout or
another packet would come in.
This is solved in this commit by using a mutex and a condition
variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bc900501e0)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Prior to this a X bytes write could be seen as less than X bytes being
available if the check was done at an unfortunate moment.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 9eb0d8bab1)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
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>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a4209ad631)
Conflicts:
Changelog
doc/general.texi
libavformat/version.h
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Fixed Ticket807
Bug found by: Oana Stratulat
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8d960fbc70)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
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>
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>
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>
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>
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>
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>
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>
Without this certain files could get the demuxer stuck in a loop
(cherry picked from commit 46d65fb8a5)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This fixes SIGSEGV on files where this is actually the case, such as zzuf4.mxf
(cherry picked from commit 184f479096)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
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>
and thus cannot be used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 077b086dea)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Some libavifilter tests use NUT as output even if the produced
files were not decodable. The support for 10bit introduced in
432f0e5b7d and 91b1e6f0c changed the hashes.
(cherry picked from commit 9f3c77dd2a)
Conflicts:
tests/ref/lavfi/pixdesc
tests/ref/lavfi/pixfmts_copy
tests/ref/lavfi/pixfmts_null
tests/ref/lavfi/pixfmts_scale
tests/ref/lavfi/pixfmts_vflip
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
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>
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>
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>