diff --git a/libavcodec/mpeg4video.h b/libavcodec/mpeg4video.h index 9e1c8d96cf..59358eb555 100644 --- a/libavcodec/mpeg4video.h +++ b/libavcodec/mpeg4video.h @@ -92,6 +92,8 @@ typedef struct Mpeg4DecContext { int divx_build; int xvid_build; int lavc_build; + ///< flag for having shown the warning about divxs invalid b frames + int showed_packed_warning; int cplx_estimation_trash_i; int cplx_estimation_trash_p; diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c index 4f912ed05d..0e4154854c 100644 --- a/libavcodec/mpeg4videodec.c +++ b/libavcodec/mpeg4videodec.c @@ -2016,10 +2016,10 @@ static int decode_user_data(Mpeg4DecContext *ctx, GetBitContext *gb) ctx->divx_version = ver; ctx->divx_build = build; s->divx_packed = e == 3 && last == 'p'; - if (s->divx_packed && !s->showed_packed_warning) { + if (s->divx_packed && !ctx->showed_packed_warning) { av_log(s->avctx, AV_LOG_WARNING, "Invalid and inefficient vfw-avi packed B frames detected\n"); - s->showed_packed_warning = 1; + ctx->showed_packed_warning = 1; } } diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 76e84b5436..ae6118fd34 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -553,7 +553,6 @@ typedef struct MpegEncContext { /* H.263 specific */ int gob_index; int obmc; ///< overlapped block motion compensation - int showed_packed_warning; ///< flag for having shown the warning about divxs invalid b frames int mb_info; ///< interval for outputting info about mb offsets as side data int prev_mb_info, last_mb_info; uint8_t *mb_info_ptr;