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

Amir Z amir at livelyvideo.tv
Tue Jun 11 23:21:41 EEST 2019


Thanks Michael Niedermayer for looking into this

What I am trying to solve is having a way to detect concealed decoding
errors by the caller to avcodec_receive_frame.

Should I add a general value e.g. #define
FF_DECODE_ERROR_DECODE_ERROR_OCCURRED 4 ?

Thanks
Amir

On Tue, Jun 11, 2019 at 11:39 AM Michael Niedermayer <michael at niedermayer.cc>
wrote:

> 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
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list