diff --git a/libavcodec/mpeg4video.h b/libavcodec/mpeg4video.h index 60857cce11..6a143e1eb4 100644 --- a/libavcodec/mpeg4video.h +++ b/libavcodec/mpeg4video.h @@ -73,6 +73,8 @@ typedef struct Mpeg4DecContext { ///< time distance of first I -> B, used for interlaced b frames int t_frame; + int new_pred; + /* bug workarounds */ int divx_version; int divx_build; diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c index e2ad7941eb..b1bcd38e07 100644 --- a/libavcodec/mpeg4videodec.c +++ b/libavcodec/mpeg4videodec.c @@ -1940,8 +1940,8 @@ no_cplx_est: ctx->rvlc = get_bits1(gb); if (vo_ver_id != 1) { - s->new_pred = get_bits1(gb); - if (s->new_pred) { + ctx->new_pred = get_bits1(gb); + if (ctx->new_pred) { av_log(s->avctx, AV_LOG_ERROR, "new pred not supported\n"); skip_bits(gb, 2); /* requested upstream message type */ skip_bits1(gb); /* newpred segment type */ @@ -1950,7 +1950,7 @@ no_cplx_est: av_log(s->avctx, AV_LOG_ERROR, "reduced resolution VOP not supported\n"); } else { - s->new_pred = 0; + ctx->new_pred = 0; } s->scalability = get_bits1(gb); diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 3d4e26d542..8dbded98df 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -592,7 +592,6 @@ typedef struct MpegEncContext { int scalability; int hierachy_type; int enhancement_type; - int new_pred; int aspect_ratio_info; //FIXME remove int sprite_warping_accuracy; int data_partitioning; ///< data partitioning flag from header