diff options
author | Mashiat Sarker Shakkhar <shahriman_ams@yahoo.com> | 2011-10-22 18:41:04 +0400 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2011-10-23 00:51:00 +0400 |
commit | f18746528d67f6706d8b4d36e78dbeee7a82f13e (patch) | |
tree | 903dadefa3a506208c55c401b423b9d3113e9bb8 /libavcodec/vc1dec.c | |
parent | e53eecd0e7211973a1a9757f559bdd93a1848901 (diff) |
VC1: restore mistakenly removed code
The code was mistakenly removed in cad16562c8d76ea2a2a6495f29296c3ff7966946.
It stored some motion vector data for future use in B-pictures.
This fixes Bugzilla bug #57.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diffstat (limited to 'libavcodec/vc1dec.c')
-rw-r--r-- | libavcodec/vc1dec.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c index 708ad81e7b..60cca333fe 100644 --- a/libavcodec/vc1dec.c +++ b/libavcodec/vc1dec.c @@ -930,6 +930,8 @@ static void vc1_mc_4mv_chroma(VC1Context *v, int dir) if (!v->field_mode || (v->field_mode && !v->numref)) { valid_count = get_chroma_mv(mvx, mvy, intra, 0, &tx, &ty); if (!valid_count) { + s->current_picture.f.motion_val[1][s->block_index[0]][0] = 0; + s->current_picture.f.motion_val[1][s->block_index[0]][1] = 0; v->luma_mv[s->mb_x][0] = v->luma_mv[s->mb_x][1] = 0; return; //no need to do MC for intra blocks } @@ -941,6 +943,8 @@ static void vc1_mc_4mv_chroma(VC1Context *v, int dir) if (dominant) chroma_ref_type = !v->cur_field_type; } + s->current_picture.f.motion_val[1][s->block_index[0]][0] = tx; + s->current_picture.f.motion_val[1][s->block_index[0]][1] = ty; uvmx = (tx + ((tx & 3) == 3)) >> 1; uvmy = (ty + ((ty & 3) == 3)) >> 1; |