- 07 Jul, 2019 1 commit
-
-
Amir Pauker authored
set AVFrame decode_error_flags in case h->slice_ctx->er.error_occurred is set after the call to ff_h264_execute_decode_slices. This allows the user to detect concealed decoding errors in the call to avcodec_receive_frame Signed-off-by: Amir Pauker <amir@livelyvideo.tv> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
- 23 Jan, 2019 1 commit
-
-
Andreas Rheinhardt authored
This is in preparation for a patch for cbs_h2645. Now the packet's rbsp_buffer can be owned by an AVBuffer. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@googlemail.com>
-
- 26 Oct, 2018 1 commit
-
-
Josh de Kock authored
This error isn't particularly helpful as checking for mixed IDR/non-IDR NALUs would need to be done at a higher level to actually be accurate. Removing the error allows an API user to send individual slice NALUs (i.e. incomplete frames) so they can take advantage of slice threading. The ticket which this error was added for (#4408) no longer segfaults after removing this error (as the bug was likely fixed more properly elsewhere).
-
- 07 Sep, 2018 2 commits
-
-
Zhao Zhili authored
These conditions are checked again in is_extra(). This patch makes no functional changes. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
Zhao Zhili authored
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
- 17 Aug, 2018 1 commit
-
-
Kieran Kunhya authored
Signed-off-by: Josh de Kock <joshdk@obe.tv>
-
- 08 Mar, 2018 1 commit
-
-
Rodger Combs authored
AVHWAccel.end_frame can run on a worker thread. The assumption of the frame threading code is that the worker thread will change the AVFrame image data, not the AVFrame fields. So the AVFrame fields are not synced back to the main thread. But this breaks videotoolbox due to its special requirements (everything else is fine). It actually wants to update AVFrame fields. The actual videotoolbox frame is now stored in the dummy AVBufferRef, so it mimics what happens in non-videotoolbox cases. (Changing the AVBufferRef contents is a bit like changing the image data.) The post_process callback copies that reference to the proper AVFrame field. Based on a patch by wm4. Signed-off-by: Aman Gupta <aman@tmm1.net>
-
- 26 Dec, 2017 1 commit
-
-
wm4 authored
This provides a generic way to the API user to deal with files that either lack this SEI, or which have the SEI only in packets not passed to the decoder (such as the common case of the SEI being in the very firsat video packet, but decoding is started somewhere in the middle of the file). Bugs like 840b41b2 make this somewhat of a necessity. This intentionally uses the version in the SEI instead, if any is found.
-
- 19 Dec, 2017 1 commit
-
-
Mark Thompson authored
This includes a pointer to the associated hwaccel for decoders using hwaccels - these will be used later to implement the hwaccel setup without needing a global list. Also added is a new file listing all hwaccels as external declarations - this will be used later to generate the hwaccel list at configure time.
-
- 11 Dec, 2017 1 commit
-
-
Kieran Kunhya authored
-
- 01 Dec, 2017 1 commit
-
-
James Almer authored
Cosmetic change. Signed-off-by: James Almer <jamrial@gmail.com>
-
- 26 Nov, 2017 1 commit
-
-
Mark Thompson authored
This includes a pointer to the associated hwaccel for decoders using hwaccels - these will be used later to implement the hwaccel setup without needing a global list. Also added is a new file listing all hwaccels as external declarations - this will be used later to generate the hwaccel list at configure time.
-
- 13 Nov, 2017 2 commits
-
-
Aman Gupta authored
This callback will be used by the VideoToolbox H264 hwaccel so that it can receive SPS and PPS NALUs. VideoToolbox requires PPS changes to be fed into the decoder session, and for the session to be recreated when the SPS changes. Signed-off-by: Aman Gupta <aman@tmm1.net>
-
Aman Gupta authored
The only reason videotoolbox wouldn't produce frames is if the data fed to it was invalid, so returning AVERROR_INVALIDDATA makes sense here. Further, it means AVERROR_EXTERNAL can be used in further commits to signal fatal VideoToolbox errors, letting the user know that they need to fallback to another decoder. Signed-off-by: Aman Gupta <aman@tmm1.net> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
-
- 26 Jul, 2017 1 commit
-
-
Anton Khirnov authored
Do not use the one in the SEI directly as that is reset at certain points. Inspired by patches from Michael Niedermayer <michaelni@gmx.at> and Anton Mitrofanov <BugMaster@narod.ru>. CC: libav-stable@libav.org
-
- 07 Jul, 2017 1 commit
-
-
Rafaël Carré authored
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
- 26 May, 2017 2 commits
-
-
James Almer authored
This merges commit c3e84820 from libav, originally written by Anton Khirnov and skipped in fc63d5ce. libavcodec/h264_picture.c | 3 --- libavcodec/h264_ps.c | 9 --------- libavcodec/h264_slice.c | 25 +++++++++++++++++++------ libavcodec/h264dec.c | 13 +------------ libavcodec/h264dec.h | 9 +++++---- 5 files changed, 25 insertions(+), 34 deletions(-)
-
James Almer authored
This merges commit 4fded048 from libav, originally written by Anton Khirnov and skipped in fc63d5ce. libavcodec/h264_slice.c | 20 +++++++++++++------- libavcodec/h264dec.c | 3 +++ libavcodec/h264dec.h | 5 +++++ 3 files changed, 21 insertions(+), 7 deletions(-)
-
- 28 Mar, 2017 1 commit
-
-
Ronald S. Bultje authored
The patch introduces race conditions.
-
- 21 Mar, 2017 1 commit
-
-
Anton Khirnov authored
Merges Libav commit 8dfba25c. Signed-off-by: wm4 <nfxjfg@googlemail.com>
-
- 15 Mar, 2017 1 commit
-
-
Matthieu Bouron authored
-
- 12 Mar, 2017 1 commit
-
-
Anton Khirnov authored
It might be incorrectly set to 1 if the previous call exited with an error. Bug-Id: 1019 CC: libav-stable@libav.org
-
- 07 Mar, 2017 1 commit
-
-
Aman Gupta authored
The way videotoolbox hooks in as a hwaccel is pretty hacky. The VT decode API is not invoked until end_frame(), so alloc_frame() returns a dummy frame with a 1-byte buffer. When end_frame() is eventually called, the dummy buffer is replaced with the actual decoded data from VTDecompressionSessionDecodeFrame(). When the VT decoder fails, the frame returned to the h264 decoder from alloc_frame() remains invalid and should not be used. Before 97472199, it was accidentally being returned all the way up to the API user. After that commit, the dummy frame was unref'd so the user received an error. However, since that commit, VT hwaccel failures started causing random segfaults in the h264 decoder. This happened more often on iOS where the VT implementation is more likely to throw errors on bitstream anomolies. A recent report of this issue can be see in http://ffmpeg.org/pipermail/libav-user/2016-November/009831.html The issue here is that the dummy frame is still referenced internally by the h264 decoder, as part of the reflist and cur_pic_ptr. Deallocating the frame causes assertions like this one to trip later on during decoding: Assertion h->cur_pic_ptr->f->buf[0] failed at src/libavcodec/h264_slice.c:1340 With this commit, we leave the dummy 1-byte frame intact, but avoid returning it to the user. This reverts commit 97472199. Signed-off-by: wm4 <nfxjfg@googlemail.com>
-
- 24 Feb, 2017 1 commit
-
-
John Stebbins authored
-
- 31 Jan, 2017 1 commit
-
-
Diego Biurrun authored
-
- 26 Jan, 2017 1 commit
-
-
Michael Niedermayer authored
Fixes using freed memory Introduced in 74480198 Fixes: 471/fuzz-1-ffmpeg_VIDEO_AV_CODEC_ID_H264_fuzzer Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpegSigned-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
- 24 Jan, 2017 1 commit
-
-
Michael Niedermayer authored
This treats the case of no slices like no frames which it basically is. The field is added to the context as other nal related fields are also there and passing the has_slices field per *arguments is ugly and not consistent Found-by: ubitux Approved-by: ubitux Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
- 22 Jan, 2017 1 commit
-
-
Michael Niedermayer authored
This makes the code 7 times faster with the testcase from libfuzzer and should reduce the amount of timeouts we hit in automated fuzzing. (for example 438/fuzz-2-ffmpeg_VIDEO_AV_CODEC_ID_RV40_fuzzer) The code is also faster with more realistic input though the difference is small here as that is far from the worst cases the fuzzers pick out Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpegSigned-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
- 20 Jan, 2017 2 commits
-
-
Matthieu Bouron authored
-
Matthieu Bouron authored
Fixes regression in fate-h264-attachment-631 with THREADS=8 introduced by bdbbb8f1.
-
- 18 Jan, 2017 1 commit
-
-
Clément Bœsch authored
-
- 16 Jan, 2017 1 commit
-
-
Clément Bœsch authored
-
- 12 Jan, 2017 2 commits
-
-
Anton Khirnov authored
-
Anton Khirnov authored
The current condition can trigger in cases where it shouldn't, with unexpected results. Make sure that: - container cropping is really based on the original dimensions from the caller - those dimenions are discarded on size change The code is still quite hacky and eventually should be deprecated and removed, with the decision about which cropping is used delegated to the caller.
-
- 09 Jan, 2017 1 commit
-
-
Anton Khirnov authored
It is not called from outside h264dec.c anymore.
-
- 19 Dec, 2016 2 commits
-
-
Anton Khirnov authored
Calling ff_h264_field_end() when the per-field state is not properly initialized leads to all kinds of undefined behaviour. CC: libav-stable@libav.org Bug-Id: 977 978 992
-
Anton Khirnov authored
-
- 02 Oct, 2016 1 commit
-
-
Anton Khirnov authored
Bug-Id: 966
-
- 23 Aug, 2016 1 commit
-
-
Carl Eugen Hoyos authored
Do not show the message for the first frame by default, show a warning if increasing is necessary in the middle of the stream.
-
- 18 Aug, 2016 1 commit
-
-
Michael Niedermayer authored
The parser changes have lost the support for the needed padding, this adds it back Fixes out of array reads Fixes: 03ea21d271abc8acf428d42ace51d8b4/asan_heap-oob_3358eef_5692_16f0cc01ab5225e9ce591659e5c20e35.mkv Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-