diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index c4199cf110..11048670af 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -53,6 +53,7 @@ typedef struct Mpeg1Context { AVRational frame_rate_ext; ///< MPEG-2 specific framerate modificator int sync; ///< Did we reach a sync point like a GOP/SEQ/KEYFrame? int tmpgexs; + int first_slice; int extradata_decoded; } Mpeg1Context; @@ -1955,7 +1956,7 @@ FF_ENABLE_DEPRECATION_WARNINGS #endif /* FF_API_XVMC */ /* end of slice reached */ - if (/*s->mb_y << field_pic == s->mb_height &&*/ !s->first_field && !s->first_slice) { + if (/*s->mb_y << field_pic == s->mb_height &&*/ !s->first_field && !s1->first_slice) { /* end of image */ ff_er_frame_end(&s->er); @@ -2352,7 +2353,7 @@ static int decode_chunks(AVCodecContext *avctx, /* we have a complete image: we try to decompress it */ if (mpeg1_decode_picture(avctx, buf_ptr, input_size) < 0) s2->pict_type = 0; - s2->first_slice = 1; + s->first_slice = 1; last_code = PICTURE_START_CODE; } else { av_log(avctx, AV_LOG_ERROR, "ignoring pic after %X\n", last_code); @@ -2496,9 +2497,9 @@ static int decode_chunks(AVCodecContext *avctx, break; } - if (s2->first_slice) { + if (s->first_slice) { skip_frame = 0; - s2->first_slice = 0; + s->first_slice = 0; if (mpeg_field_start(s2, buf, buf_size) < 0) return -1; } diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index c0259aa8b2..b1224bcf5d 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -685,7 +685,6 @@ typedef struct MpegEncContext { int progressive_frame; int full_pel[2]; int interlaced_dct; - int first_slice; int first_field; ///< is 1 for the first field of a field picture 0 otherwise int drop_frame_timecode; ///< timecode is in drop frame format. int scan_offset; ///< reserve space for SVCD scan offset user data.