diff --git a/libavcodec/h264_ps.c b/libavcodec/h264_ps.c index 1e1e793380..3bcc6e15b3 100644 --- a/libavcodec/h264_ps.c +++ b/libavcodec/h264_ps.c @@ -560,7 +560,8 @@ int ff_h264_decode_seq_parameter_set(GetBitContext *gb, AVCodecContext *avctx, /* if the maximum delay is not stored in the SPS, derive it based on the * level */ - if (!sps->bitstream_restriction_flag) { + if (!sps->bitstream_restriction_flag && + (sps->ref_frame_count || avctx->strict_std_compliance >= FF_COMPLIANCE_STRICT)) { sps->num_reorder_frames = MAX_DELAYED_PIC_COUNT - 1; for (i = 0; i < FF_ARRAY_ELEMS(level_max_dpb_mbs); i++) { if (level_max_dpb_mbs[i][0] == sps->level_idc) {