* commit 'b605b123ef1d3bac0e7c221d8d7fa74cd8c7253c':
mxpegdec: use the AVFrame API properly.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8947f47fdfaf7f3a907a334fc65dc724f2fdd23f)
Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'afa21a12bf084f905187615706b0a8d92bc98661':
p*menc: use the AVFrame API properly.
Conflicts:
libavcodec/Makefile
libavcodec/pamenc.c
libavcodec/pnmenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 37945584bfb29f187e38531c90bb02a32014e48d)
Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'e2274aa555f023e4f4e4819bf29b2d7e0adec7d5':
mjpegdec: use the AVFrame API properly.
Conflicts:
libavcodec/mjpegdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 639303867640d1880fad675472bc47e9c95f96c7)
Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
mpegvideo_enc: use the AVFrame API properly.
ffv1: use the AVFrame API properly.
jpegls: use the AVFrame API properly.
huffyuv: use the AVFrame API properly.
Conflicts:
libavcodec/ffv1.c
libavcodec/ffv1.h
libavcodec/ffv1dec.c
libavcodec/ffv1enc.c
Changes to ffv1 are more redone than merged due to them being based on
an ancient codebase and a good part of that having being done already
as well.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit be1e6e7503b2f10b0176201418eb97912cee093f)
Conflicts:
libavcodec/ffv1enc.c
libavcodec/mpegvideo.h
libavcodec/mpegvideo_enc.c
Author of the merged code: Anton Khirnov
* commit 'd48c20630214a4effcc920e93a5044bee4e2002e':
qtrleenc: use the AVFrame API properly.
ulti: use the AVFrame API properly.
vc1: use the AVFrame API properly.
flashsv: use the AVFrame API properly.
Conflicts:
libavcodec/flashsv.c
libavcodec/qtrleenc.c
libavcodec/ulti.c
libavcodec/vc1dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 92cbd775687204f9750a09c69f97702719036aab)
Conflicts:
libavcodec/flashsv.c
Author of the merged code: Anton Khirnov
* commit 'ffe04c330335add4c6d70ab0bb98e6b3f4f7abfa':
libxvid: use the AVFrame API properly.
pcxenc: use the AVFrame API properly.
roqvideo: remove unused variables
libschroedingerenc: use the AVFrame API properly.
Conflicts:
libavcodec/pcxenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f4f7888bab7061f08c54356c285adaba24383dc0)
Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '97168b204a0b6b79bb6c5f0d40efdf7fc2262476':
eatgv: use the AVFrame API properly.
libxavs: use the AVFrame API properly.
nuv: use the AVFrame API properly.
flashsvenc: use the AVFrame API properly.
Conflicts:
libavcodec/eatgv.c
libavcodec/nuv.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a0c0629dd963b00f989172f0c599353b6b288c37)
Conflicts:
libavcodec/eatgv.c
Author of the merged code: Anton Khirnov
* commit '57e7b3a89f5a0879ad039e8f04273b48649799a8':
dnxhdenc: use the AVFrame API properly.
libx264: use the AVFrame API properly.
svq1enc: use the AVFrame API properly.
gif: use the AVFrame API properly.
Conflicts:
libavcodec/gif.c
libavcodec/svq1enc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5b0c70c2499e20529d517b712910d6f4f72e9485)
Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '45bde93eefa78c1bdb0936109fbd2e2fb27fbfe7':
sunrastenc: use the AVFrame API properly.
targaenc: use the AVFrame API properly.
tiffenc: use the AVFrame API properly.
pngenc: use the AVFrame API properly.
Conflicts:
libavcodec/pngenc.c
libavcodec/sunrastenc.c
libavcodec/targaenc.c
libavcodec/tiffenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3ea168edeb7a20eae1fccf7da66ac7b8c8c791ba)
Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '0ea430c75b8d90449d2878ad84669a2da2ad3cbc':
lclenc: use the AVFrame API properly.
Conflicts:
libavcodec/lclenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 85b7b0c519f8d9491b4c0340329a605cc97c8984)
Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'e4155f15b35c4272a235f5521d2dc6c2aabdd462':
eamad: use the AVFrame API properly.
dpxenc: use the AVFrame API properly.
bmpenc: use the AVFrame API properly.
sgienc: use the AVFrame API properly.
Conflicts:
libavcodec/bmpenc.c
libavcodec/dpxenc.c
libavcodec/eamad.c
libavcodec/sgienc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 9ad477d9098b5281cede0bd8525ca90b0e52436d)
Conflicts:
libavcodec/eamad.c
Author of the merged code: Anton Khirnov
* commit '730bac7bab3c7dcd9fcb7c70f154e5f4cfaef9a7':
mss4: use the AVFrame API properly.
mss3: use the AVFrame API properly.
mss2: use the AVFrame API properly.
mss1: use the AVFrame API properly.
Conflicts:
libavcodec/mss1.c
libavcodec/mss2.c
libavcodec/mss3.c
libavcodec/mss4.c
See: 02fe531afefa7ac3fcc552f8e83461a4bfa7f868
See: ff1c13b133d548b3ce103f91999b6cc1bb7e65cc
See: 310bf283542ff81a9ec8fa7492fe7d625e80562f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8d193a24f2da825aaf5382e4aa42ab533806b033)
Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '508b37557bf36eae83c18e64d42f27b44a321d81':
tiertexseqv: use the AVFrame API properly.
smc: use the AVFrame API properly.
truemotion2: use the AVFrame API properly.
truemotion1: use the AVFrame API properly.
Conflicts:
libavcodec/smc.c
libavcodec/tiertexseqv.c
libavcodec/truemotion1.c
libavcodec/truemotion2.c
See: e999f2339ab0200039ee7123b75d79a52aaac5d1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 72df87088c8a6593d66b207140edd32b4d2fb6ee)
Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '4a4841d4e0f0dc50998511bf6c48b518012024db':
fraps: use the AVFrame API properly.
rpza: use the AVFrame API properly.
motionpixels: use the AVFrame API properly.
vmdvideo: use the AVFrame API properly.
Conflicts:
libavcodec/fraps.c
libavcodec/motionpixels.c
libavcodec/rpza.c
libavcodec/vmdav.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4362f272c0ae280cde833589e5c9c6696bd878d5)
Conflicts:
libavcodec/vmdav.c
Author of the merged code: Anton Khirnov
* commit '3c8ea9d4a74fd4d7493d40c818ca64ee492709f3':
vmnc: use the AVFrame API properly.
xan: use the AVFrame API properly.
xxan: use the AVFrame API properly.
zerocodec: use the AVFrame API properly.
Conflicts:
libavcodec/vmnc.c
libavcodec/xan.c
libavcodec/xxan.c
See: cf5ab8b6f71699a48a6384d5e5779630b4be7b56
See: ad438f450b83882a1277a79c1c3d6dfe55573b1c
See: 67607e20e882eb5639a4e9099caecb52a863ab68
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8af7774c7aca6f3b595d0417b92f543ce0c7b537)
Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'a837c4f2df96a30bf9aa4115b426d608487c7101':
zmbvenc: use the AVFrame API properly.
flicvideo: use the AVFrame API properly.
smacker: use the AVFrame API properly.
mmvideo: use the AVFrame API properly.
Conflicts:
libavcodec/flicvideo.c
libavcodec/mmvideo.c
libavcodec/smacker.c
libavcodec/zmbvenc.c
See: 76e27b1d0594199b4b1ff8520312069f42373944
See: 099e57bc38d7e53cf6823dfec349ff9fdaee99ba
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fe3808eddee81ce4712d1e729fa6fe619f1685c8)
Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '2e09096da912f563c4dd889a8f25c314529bbaa6':
kgv1: use the AVFrame API properly.
indeo2: use the AVFrame API properly.
iff: use the AVFrame API properly.
msrle: use the AVFrame API properly.
Conflicts:
libavcodec/iff.c
libavcodec/indeo2.c
libavcodec/kgv1dec.c
libavcodec/msrle.c
See: 451b2ca1b4349f9b60416cc057eaf5518d81025c
See: 80e9e63c946660304fc65fa8141ccfdbe4d196d1
See: 057dce5f21cd70db1ef6e3b67644a39f0d51aba5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 9f890a165666a73376c73b3c2bd920345b5c3b79)
Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b7462a3904d71ff799584faf5b875cad59ca2f31':
jvdec: use the AVFrame API properly.
Conflicts:
libavcodec/jvdec.c
See: 678431d3f2c5f35fe48b02d5035604ace742be2e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ddfdcd2b5ecce0914c1eefa6269060bdbc879b17)
Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '2d2a92f72199823a92e4e226c32e42a27ec801c0':
dxa: use the AVFrame API properly.
qpeg: use the AVFrame API properly.
cin video: use the AVFrame API properly.
msvideo1: use the AVFrame API properly.
Conflicts:
libavcodec/dsicinav.c
libavcodec/dxa.c
libavcodec/msvideo1.c
libavcodec/qpeg.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5219afc09d8e97e18917738cbc052f903df9a619)
Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'a639ea7f4bc44bf6bfa452675558a342924a66a9':
escape124: use the AVFrame API properly.
qtrle: use the AVFrame API properly.
cljr: use the AVFrame API properly.
cinepak: use the AVFrame API properly.
Conflicts:
libavcodec/cinepak.c
libavcodec/cljr.c
libavcodec/qtrle.c
See: 80e9e63c libavcodec/cinepak.c
See: 71c378984b0bd5470f67c424a79a4750f84d2d3e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bfb1f44d246f4ed97d5cad9c1eace8a20951ff76)
Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'cec5ce49229d61e4eb1f331a6d0dff3aa24f6655':
cdxl: remove an unused variable
c93: use the AVFrame API properly.
bethsoftvid: use the AVFrame API properly.
avs: use the AVFrame API properly.
Conflicts:
libavcodec/bethsoftvideo.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 21c41e76d7c1ddaadafc9da50e99db51358f3754)
Conflicts:
libavcodec/avs.c
Author of the merged code: Anton Khirnov
* commit '6139f481ac9feb1bee4e7d04789fb15d7f24ebbf':
asvenc: use the AVFrame API properly.
a64multienc: use the AVFrame API properly.
Conflicts:
libavcodec/vaapi_mpeg.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit cc4a6435638fa2a471fef048a3e68eaf7e6e306c)
Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
about 1ms faster startup time
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 133fbfc7811ffae7b97dd129fcd0b5e646742362)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Fixes out of array accesses
Fixes: asan_heap-oob_ae5f63_5415_g2m4.wmv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 83f7bd6dcf00875725c5f3b7e1bedac5a6b3c77d)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
20 ms is used by libopus encoder.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
(cherry picked from commit 74906d3727ec3bd9b7b28dfa7a98ff6e8cf8b6d7)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Fixes out of array reads
Fixes: asan_heap-oob_f0de57_6823_mjp2.mov
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3d5a5e86be2a65e33c34ab3ad7923f54e8e49c1d)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This code changes the input packet, which is read only and can in
rare circumstances lead to decoder errors. (i run into one of these in
the audio decoder, which corrupted the packet during av_find_stream_info()
so that actual decoding that single packet failed later)
Until a better fix is implemented, this commit limits the problem.
A better fix might be to make the subtitle decoders not depend on
data[size] = 0 or to copy their input when this is not the case.
(cherry picked from commit 01923bab98506b1e98b4cbf08419364ce6ffea6d)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Fix https://trac.ffmpeg.org/ticket/3204
The problem was that intensity compensation was always used once it was
encountered. This is because v->next_use_ic was never set back to zero.
To fix this, when resetting v->next_luty/uv, also reset v->next_use_ic.
This improved (restored) performance by 85% when decoding
http://bit.ly/bbbwmv
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ed5bed4152203aed8cce01a679bed67bbda8903f)
q4-q7/d8-d15 are supposed to not be clobbered by the callee.
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit d307e408d4a9ada22df443cc38be77cc5e492694)
works around bug in gccs inline asm register assignment
Fixes Ticket3177
gcc from 4.4 to 4.6 is affected at least, no non affected gccs known
clang seems not affected
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0538b29ae8002c44f27bae8a1a6fc6e646998be5)
Fixes incorrectly set error_occured and improves speed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 90539cea336fd513c47295a03c164cb4a851166f)
also remove failed attempt at a compatibility layer, the code simply cannot work
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c3814ab654a993723b0e5f14cc252d68f233ad79)
Conflicts:
libavcodec/version.h
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bbe66ef912470007f7cc424badde2ccec500b36b)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 321514042534a2501a9f6223b88f0d2b8060f858)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bae14f38d992f326c94d93f01197ccd84ea62053)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The not handling of frame gaps has lead to the lack of a dummy reference
frame, which has lead to the failure of decode_slice_header() which has
lead to one SEI recovery message being skiped which had introduced a
slightly suboptimal recovery point for at least 1 h264 file compared to
JM.
Found-by: Carl & BugMaster
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 9e5ef1c5c37208326c59d642e2dc7afd3f10b09b)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Fixes overreads in HEVC
Fixes Ticket3070
Also fixed remaining issues from Ticket3075 and Ticket3076
Some lines of code taken from 0c5f839693da2276c2da23400f67a67be4ea0af1:libavcodec/x86/cabac.h
and 0c5f839693da2276c2da23400f67a67be4ea0af1:libavcodec/cabac_functions.h
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fa6fa2162b730336fc1d6ee0d547dcc81f4afbad)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>