From 42feaf40700246d9afb9c27ef09a0022ddfdb998 Mon Sep 17 00:00:00 2001 From: Kostya Shishkov Date: Thu, 13 Oct 2011 10:12:42 +0200 Subject: [PATCH] vc1: explicitly zero interlaced mode coding variables for progressive mode Both v->fcm and v->field_mode are used in common code, now they won't be reset for progressive frame after interlaced one causing writing past the frame end for example. Signed-off-by: Ronald S. Bultje --- libavcodec/vc1.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c index 9d36811c2c..cb228e6107 100644 --- a/libavcodec/vc1.c +++ b/libavcodec/vc1.c @@ -832,17 +832,18 @@ int vc1_parse_frame_header_adv(VC1Context *v, GetBitContext* gb) goto parse_common_info; } + v->field_mode = 0; if (v->interlace) { v->fcm = decode012(gb); if (v->fcm) { if (v->fcm == 2) v->field_mode = 1; - else - v->field_mode = 0; if (!v->warn_interlaced++) av_log(v->s.avctx, AV_LOG_ERROR, "Interlaced frames/fields support is incomplete\n"); } + } else { + v->fcm = 0; } if (v->field_mode) { -- 2.11.0