Browse Source

Double motion vector range for HPEL interlaced picture in proper place

The existing code is not in the right place and it should cover both
interlaced frame and field pictures.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
tags/n1.1
Mashiat Sarker Shakkhar Derek Buitenhuis 13 years ago
parent
commit
35a35d49d2
2 changed files with 5 additions and 4 deletions
  1. +5
    -0
      libavcodec/vc1.c
  2. +0
    -4
      libavcodec/vc1dec.c

+ 5
- 0
libavcodec/vc1.c View File

@@ -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) {


+ 0
- 4
libavcodec/vc1dec.c View File

@@ -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)


Loading…
Cancel
Save