[FFmpeg-devel] [PATCH 09/14] h264dec: do not abort if decoding extradata fails
James Almer
jamrial at gmail.com
Fri Mar 27 16:54:29 EET 2020
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.
More information about the ffmpeg-devel
mailing list