[FFmpeg-devel] [PATCH 11/18] h264dec: do not abort if decoding extradata fails
James Almer
jamrial at gmail.com
Sun Mar 15 20:22:37 EET 2020
On 3/13/2020 7:28 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 9331070f33..79663d8083 100644
> --- a/libavcodec/h264dec.c
> +++ b/libavcodec/h264dec.c
> @@ -417,10 +417,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;
> + }
> }
> }
LGTM.
More information about the ffmpeg-devel
mailing list