Message ID | 20200313102850.23913-11-anton@khirnov.net |
---|---|
State | Accepted |
Headers | show |
Series | [FFmpeg-devel,01/18] mpeg4videodec: do not copy a range of fields at once | expand |
Context | Check | Description |
---|---|---|
andriy/ffmpeg-patchwork | warning | Failed to apply patch |
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.
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; + } } }