Browse Source

h264dec: do not abort if decoding extradata fails

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.
tags/n4.3
Anton Khirnov 8 years ago
parent
commit
d41faffb53
1 changed files with 10 additions and 4 deletions
  1. +10
    -4
      libavcodec/h264dec.c

+ 10
- 4
libavcodec/h264dec.c View File

@@ -414,10 +414,16 @@ 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) {
int explode = avctx->err_recognition & AV_EF_EXPLODE;
av_log(avctx, explode ? AV_LOG_ERROR: AV_LOG_WARNING,
"Error decoding the extradata\n");
if (explode) {
h264_decode_end(avctx);
return ret;
}
ret = 0;
}
}
}



Loading…
Cancel
Save