diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 1fd1f38d58..60a25a1ef7 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -2834,7 +2834,7 @@ static int decode_slice_header(H264Context *h, H264Context *h0) } } - while (h->frame_num != h->prev_frame_num && h->prev_frame_num >= 0 && + while (h->frame_num != h->prev_frame_num && h->prev_frame_num >= 0 && !s0->first_field && h->frame_num != (h->prev_frame_num + 1) % (1 << h->sps.log2_max_frame_num)) { Picture *prev = h->short_ref_count ? h->short_ref[0] : NULL; av_log(h->s.avctx, AV_LOG_DEBUG, "Frame num gap %d %d\n",