A VUI doesn't contain anything strictly necessary for decoding.
Apparrently there are many samples with truncated VUIs in the wild, this
commit should allow decoding them.
---
libavcodec/h264_ps.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/libavcodec/h264_ps.c b/libavcodec/h264_ps.c
index dfdb739..54b735d 100644
--- a/libavcodec/h264_ps.c
+++ b/libavcodec/h264_ps.c
@@ -465,9 +465,11 @@ int ff_h264_decode_seq_parameter_set(H264Context *h)
}
sps->vui_parameters_present_flag = get_bits1(&h->gb);
- if (sps->vui_parameters_present_flag)
- if (decode_vui_parameters(h, sps) < 0)
+ if (sps->vui_parameters_present_flag) {
+ int ret = decode_vui_parameters(h, sps);
+ if (ret < 0 && h->avctx->err_recognition & AV_EF_EXPLODE)
goto fail;
+ }
if (!sps->sar.den)
sps->sar.den = 1;
--
1.7.10.4
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel