diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c index b04d570602..c7edc25a25 100644 --- a/libavcodec/vc1.c +++ b/libavcodec/vc1.c @@ -1223,6 +1223,11 @@ int ff_vc1_parse_frame_header_adv(VC1Context *v, GetBitContext* gb) break; } + if (v->fcm != PROGRESSIVE && !v->s.quarter_sample) { + v->range_x <<= 1; + v->range_y <<= 1; + } + /* AC Syntax */ v->c_ac_table_index = decode012(gb); if (v->s.pict_type == AV_PICTURE_TYPE_I || v->s.pict_type == AV_PICTURE_TYPE_BI) { diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c index 40164cc9db..6bfba682d1 100644 --- a/libavcodec/vc1dec.c +++ b/libavcodec/vc1dec.c @@ -1573,10 +1573,6 @@ static inline void vc1_pred_mv(VC1Context *v, int n, int dmv_x, int dmv_y, } } - if (v->field_mode && !s->quarter_sample) { - r_x <<= 1; - r_y <<= 1; - } if (v->field_mode && v->numref) r_y >>= 1; if (v->field_mode && v->cur_field_type && v->ref_field_type[dir] == 0)