It is possible to have valid video files with badly packed units.
This restores the beahviour before 3aa661ec561d7a20812b84b353b0d7855ac346c8
and fails only when EF_BITSTREAM is set.

Signed-off-by: Vittorio Giovara <[email protected]>
---
 libavcodec/h264_ps.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavcodec/h264_ps.c b/libavcodec/h264_ps.c
index ad284da..5fb3fe1 100644
--- a/libavcodec/h264_ps.c
+++ b/libavcodec/h264_ps.c
@@ -235,7 +235,8 @@ static inline int decode_vui_parameters(H264Context *h, SPS 
*sps)
     if (get_bits_left(&h->gb) < 0) {
         av_log(h->avctx, AV_LOG_ERROR,
                "Overread VUI by %d bits\n", -get_bits_left(&h->gb));
-        return AVERROR_INVALIDDATA;
+        if (h->avctx->err_recognition & AV_EF_BITSTREAM)
+            return AVERROR_INVALIDDATA;
     }
 
     return 0;
-- 
1.9.3 (Apple Git-50)

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to