diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c index 7c4eb2e157..9b759eda1e 100644 --- a/libavcodec/vc1.c +++ b/libavcodec/vc1.c @@ -825,10 +825,10 @@ int vc1_parse_frame_header_adv(VC1Context *v, GetBitContext* gb) int scale, shift, i; /* for initializing LUT for intensity compensation */ v->numref=0; - v->fcm=0; - v->field_mode=0; v->p_frame_skipped = 0; if (v->second_field) { + if(v->fcm!=2 || v->field_mode!=1) + return -1; v->s.pict_type = (v->fptype & 1) ? AV_PICTURE_TYPE_P : AV_PICTURE_TYPE_I; if (v->fptype & 4) v->s.pict_type = (v->fptype & 1) ? AV_PICTURE_TYPE_BI : AV_PICTURE_TYPE_B;