[FFmpeg-devel] [PATCH] set AVFrame decode_error_flags in case of decoding error by h264dec

Michael Niedermayer michael at niedermayer.cc
Tue Jun 11 19:39:42 EEST 2019


On Sun, Jun 09, 2019 at 10:45:13PM -0700, Amir Pauker wrote:
> 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 at livelyvideo.tv>
> ---
>  libavcodec/h264dec.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c
> index 00d922f..67dee11 100644
> --- a/libavcodec/h264dec.c
> +++ b/libavcodec/h264dec.c
> @@ -758,6 +758,12 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size)
>      }
>  
>      ret = ff_h264_execute_decode_slices(h);
> +
> +    // 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_INVALID_BITSTREAM|FF_DECODE_ERROR_MISSING_REFERENCE;
> +    }

This is not correct.
error_occurred does not imply the 2 specific errors

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

What does censorship reveal? It reveals fear. -- Julian Assange
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20190611/66223d10/attachment.sig>


More information about the ffmpeg-devel mailing list