diff --git a/libavcodec/h264_ps.c b/libavcodec/h264_ps.c index 6b9e6e942782ff39bff61f31c73624261687d0d3..0c4083fbaeb428feaec456a93b8c8ac517843bb0 100644 --- a/libavcodec/h264_ps.c +++ b/libavcodec/h264_ps.c @@ -347,6 +347,10 @@ int ff_h264_decode_seq_parameter_set(H264Context *h){ sps->mb_aff= 0; sps->direct_8x8_inference_flag= get_bits1(&s->gb); + if(!sps->frame_mbs_only_flag && !sps->direct_8x8_inference_flag){ + av_log(h->s.avctx, AV_LOG_ERROR, "This stream was generated by a broken encoder, invalid 8x8 inference\n"); + goto fail; + } #ifndef ALLOW_INTERLACE if(sps->mb_aff)