diff options
author | Amir Pauker <amir@livelyvideo.tv> | 2019-06-21 07:15:17 -0700 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2019-07-07 22:34:05 +0200 |
commit | f6dece864de49d0285615fe97309be9abf8b1670 (patch) | |
tree | fe25ad237737e323f9bf78d5b7c5e8cad5a90334 | |
parent | 70ba8e2fa0d77075072bb0ce713c37dc82b8e431 (diff) | |
download | ffmpeg-f6dece864de49d0285615fe97309be9abf8b1670.tar.gz |
avcodec/h264dec: set AVFrame decode_error_flags in case of decoding error
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>
-rw-r--r-- | libavcodec/h264dec.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c index 837c3b7538..8d1bd16a8e 100644 --- a/libavcodec/h264dec.c +++ b/libavcodec/h264dec.c @@ -761,6 +761,11 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size) if (ret < 0 && (h->avctx->err_recognition & AV_EF_EXPLODE)) goto end; + // set decode_error_flags to allow users to detect concealed decoding errors + if ((ret < 0 || h->slice_ctx->er.error_occurred) && h->cur_pic_ptr) { + h->cur_pic_ptr->f->decode_error_flags |= FF_DECODE_ERROR_DECODE_SLICES; + } + ret = 0; end: |