set AVFrame decode_error_flags to FF_DECODE_ERROR_CONCEALMENT_ACTIVE 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 <a...@livelyvideo.tv>
---
 libavcodec/h264dec.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c
index 837c3b7..98b7d79 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_CONCEALMENT_ACTIVE;
+    }
+
     ret = 0;
 end:
 
-- 
2.1.4

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to