Fixes Ticket3540
The function dirac_get_arith_bit in libavcodec/dirac_arith.h can't be
built with PIC and check-stack because the asm code needs 6 registers
and PIC and check-stack options take 1 each and x86 is quite limited
in this area.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d8ab7f31dd819f7b3e0d460a2fa4261aaae87b98)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The check is possibly redundant, but better to check for errors
that dont occur than to skip the check and crash
Fixes CID1197060
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 754f84663e8b3a88fa2e953b195d59230393fb8d)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Fixes CID1197057
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f87b3d552394cd03c1e9f180553d41600c575c69)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d167faafe9dfa0b82bebb267c3c4e5fa5286bd67)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'e0aa76d38a02090245284fc157afb9074e9ff073':
golomb: Fix the implementation of get_se_golomb_long
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This was only used in hevc muxing code so far.
This makes the return values match what get_se_golomb returns for
the same bitstream reader instances.
The logic for producing a signed golomb code out of an unsigned one
was based on the corresponding code in get_se_golomb, which operated
directly on the bitstream reader buffer - not on the equivalent
return value from get_ue_golomb.
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 508a84e6726ab94a740c160b30fd8162265d1fef)
Signed-off-by: Martin Storsjö <martin@martin.st>
Fixes h264_mp4toannexb_bsf_failure.mkv
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 289b149cecb381522cc9ccdf382825330169c655)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Fixes Ticket2893
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 742d8601031fc69748f62fe7c5164a22a0751021)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Fixes Ticket3432
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5171ae781a240cac3860c20f9aefc6d1b2c61cac)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Fixes build with --disable-everything
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 82a90e7764ad04afd3679e4e4e89d85c7e4d4b53)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8b8ae298afb32979c81310ffdc9904d29497db5f)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Fixes out of array accesses
This should not affect any release
Fixes: 8ab69af9e5a7a7e20fe04cdd25c0d6e7-asan_heap-oob_e72b82_5505_cov_2278389485_g2m4.wmv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6b53c1aa822e9c92be52a462dd0aef1c2010ce73)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This limits ABI issues in case libavcodec is linked to a libavutil with larger AVFrame
Which can happen if they are shiped in seperate binary packages and libavutil is upgraded
A cleaner alternative would be to replace them by pointers but this would likely cause
a small speedloss
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fc567ac49e17151f00f31b59030cd10f952612ef)
Conflicts:
libavcodec/h264.h
(cherry picked from commit 618d062bd553a7d7fad194d4236913f2b0a0251e)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This avoids hypothetical integer overflows
(cherry picked from commit b4356c9cc28197bb8da626ece08d4a062b62afc8)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This avoids a hypothetical integer overflow with very high resolution video
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e92a78a4095d69d876bef189225608a35166dc4a)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This avoids a hypothetical integer overflow with very high resolution video
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c3272674c943474ec6bfcd75e0d9b4b4ca95ff32)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Fixes Ticket3229
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit dde16f5aaed327e15049b40a8dfae1f59647e4ec)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Makes no difference for any file tested but is needed
for following bug-fix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 493296800c4cfd76561f71ded5f0893108063e67)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 046a75eea091e7d079bd3e5c9f5f028d7b920c32)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
0 should have been the default, this change should make no difference
but this is needed for the following bugfix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 98f9aa389b2de69118cd599235b2208b3c311c4c)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 1083c479eb6e5bcd5220fdd165cf9312f29a0985)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This is a bit tricky, we allocate a correctly sized AVFrame but then only
copy the compile time AVFrame size, this is to ensure that user applications
which do not use the correct av frame API dont end with out of array reads.
Note, applications using the correct API have set extended_data and the
changed code will never be executed for them.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8ab80707841a73ca7708e1e1aa97f3513fff3d35)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The next commit/bugfix will need it
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit da89572004f6c0279134d4c8c1c835496a2c4232)
These ADPCM codecs include a per-frame flag that enables a raw 16-bit mode. Therefore
the the number of samples returned by get_nb_samples() is only ever approximate.
Fixes ticket #3460.
Signed-off-by: Peter Ross <pross@xvid.org>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7380201451a2edfb240cd356579c4c39a87cf5bd)
Fixes ticket #3461.
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d1bb17940dd242e56541775318636bcbe3eab73d)
The integrated arm assembler in clang-503.0.38 (Xcode-5.1) seems
to get confused by the offset of 4 and decides to use a non-wide
thumb encoding. That fails since the labels are out of range of
the limited offset a 16-bit thumb encoding offers.
Fixes Ticket3457
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit dded5ed9c5eb0c3d5a953e661ea21a9019e93ea4)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This reverts commit 691dec62011fe9993809fbc793126b40cac0c584.
The commit did not fix ticket #3215, it was fixed one commit earlier.
The revert may break other use-cases but they should be fixed differently,
the offending commit introduced too many problems.
Fixes ticket #3377.
Fixes ticket #3378.
(cherry picked from commit 54bbe3e2a645b4f7b36efac2bca331d3be98592a)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'fa6b99d351ed483766a875054676a56fd8459774':
hevc: Do not turn 32bit timebases into negative numbers
Conflicts:
libavcodec/hevc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Fixes integer overflow and out of array accesses.
Found-by: Mateusz j00ru Jurczyk and Gynvael Coldwind
(cherry picked from commit 4d33873c2990b8d6096f60fef384f0efc4482b55)
Fixes use of uninitialized memory and out of stack array read.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
(cherry picked from commit 6cc94e971933cd38c452172bb048bf760e65cc3e)
Was missed in aeaf268e52fc11c1f64914a319e0edddf1346d6a when integrating
clear_blocks into the idct.
(cherry picked from commit 4506a854a4d846692ba71daeeff661dc214c8fa2)