diff options
author | Mashiat Sarker Shakkhar <mashiat.sarker@gmail.com> | 2012-10-09 19:38:19 +0000 |
---|---|---|
committer | Derek Buitenhuis <derek.buitenhuis@gmail.com> | 2012-10-10 14:56:02 -0400 |
commit | 35a35d49d23c2b799e771f8947c0bc6cc6a45fe8 (patch) | |
tree | 42e202606ce0d3bb3c8da469a0e0b05e8aacc7ac | |
parent | eb657ecefdeb8b2ed9bfb55d3c2c9e0f568486bf (diff) | |
download | ffmpeg-35a35d49d23c2b799e771f8947c0bc6cc6a45fe8.tar.gz |
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>
-rw-r--r-- | libavcodec/vc1.c | 5 | ||||
-rw-r--r-- | libavcodec/vc1dec.c | 4 |
2 files changed, 5 insertions, 4 deletions
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) |