diff --git a/libavcodec/h264_ps.c b/libavcodec/h264_ps.c index 2cf836524b..5ba07448a6 100644 --- a/libavcodec/h264_ps.c +++ b/libavcodec/h264_ps.c @@ -429,6 +429,8 @@ int ff_h264_decode_seq_parameter_set(H264Context *h){ } sps->ref_frame_count= get_ue_golomb_31(&s->gb); + if (h->s.avctx->codec_tag == MKTAG('S', 'M', 'V', '2')) + sps->ref_frame_count= 2; if(sps->ref_frame_count > MAX_PICTURE_COUNT-2 || sps->ref_frame_count > 16U){ av_log(h->s.avctx, AV_LOG_ERROR, "too many reference frames\n"); goto fail;