summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorMashiat Sarker Shakkhar <mashiat.sarker@gmail.com>2012-10-09 19:38:19 +0000
committerDerek Buitenhuis <derek.buitenhuis@gmail.com>2012-10-10 14:56:02 -0400
commit35a35d49d23c2b799e771f8947c0bc6cc6a45fe8 (patch)
tree42e202606ce0d3bb3c8da469a0e0b05e8aacc7ac /libavcodec
parenteb657ecefdeb8b2ed9bfb55d3c2c9e0f568486bf (diff)
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>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/vc1.c5
-rw-r--r--libavcodec/vc1dec.c4
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)