Re: [FFmpeg-devel] [PATCH 09/14] h264dec: do not abort if decoding extradata fails

2020-03-27 Thread James Almer
On 3/27/2020 9:57 AM, Anton Khirnov wrote:
> Such errors are not necessarily fatal and decoding might still be
> possible, e.g. it happens for MVC streams where we do not handle the
> subset SPS thus failing to parse its corresponding PPS.
> ---
>  libavcodec/h264dec.c | 12 
>  1 file changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c
> index b6c51ed1e2..dba0634fa0 100644
> --- a/libavcodec/h264dec.c
> +++ b/libavcodec/h264dec.c
> @@ -414,10 +414,14 @@ static av_cold int h264_decode_init(AVCodecContext 
> *avctx)
>  ret = ff_h264_decode_extradata(avctx->extradata, 
> avctx->extradata_size,
> &h->ps, &h->is_avc, 
> &h->nal_length_size,
> avctx->err_recognition, avctx);
> -if (ret < 0) {
> -h264_decode_end(avctx);
> -return ret;
> -}
> +   if (ret < 0) {
> +   av_log(avctx, AV_LOG_WARNING, "Error decoding the 
> extradata\n");

Should be AV_LOG_ERROR if AV_EF_EXPLODE is enabled.

> +   if (avctx->err_recognition & AV_EF_EXPLODE) {
> +   h264_decode_end(avctx);
> +   return ret;
> +   }
> +   ret = 0;
> +   }
>  }
>  }

LGTM otherwise.
___
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".

[FFmpeg-devel] [PATCH 09/14] h264dec: do not abort if decoding extradata fails

2020-03-27 Thread Anton Khirnov
Such errors are not necessarily fatal and decoding might still be
possible, e.g. it happens for MVC streams where we do not handle the
subset SPS thus failing to parse its corresponding PPS.
---
 libavcodec/h264dec.c | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c
index b6c51ed1e2..dba0634fa0 100644
--- a/libavcodec/h264dec.c
+++ b/libavcodec/h264dec.c
@@ -414,10 +414,14 @@ static av_cold int h264_decode_init(AVCodecContext *avctx)
 ret = ff_h264_decode_extradata(avctx->extradata, 
avctx->extradata_size,
&h->ps, &h->is_avc, 
&h->nal_length_size,
avctx->err_recognition, avctx);
-if (ret < 0) {
-h264_decode_end(avctx);
-return ret;
-}
+   if (ret < 0) {
+   av_log(avctx, AV_LOG_WARNING, "Error decoding the extradata\n");
+   if (avctx->err_recognition & AV_EF_EXPLODE) {
+   h264_decode_end(avctx);
+   return ret;
+   }
+   ret = 0;
+   }
 }
 }
 
-- 
2.25.1

___
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".