Browse Source

theoradec: small 4MV code reorganization to ease future improvements

no functional changes

Originally committed as revision 15165 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Aurelien Jacobs 16 years ago
parent
commit
e32e2d56d4
1 changed files with 6 additions and 7 deletions
  1. +6
    -7
      libavcodec/vp3.c

+ 6
- 7
libavcodec/vp3.c View File

@@ -1039,6 +1039,10 @@ static int unpack_vectors(Vp3DecodeContext *s, GetBitContext *gb)
break;

case MODE_INTER_FOURMV:
/* vector maintenance */
prior_last_motion_x = last_motion_x;
prior_last_motion_y = last_motion_y;

/* fetch 4 vectors from the bitstream, one for each
* Y fragment, then average for the C fragment vectors */
motion_x[4] = motion_y[4] = 0;
@@ -1050,6 +1054,8 @@ static int unpack_vectors(Vp3DecodeContext *s, GetBitContext *gb)
motion_x[k] = fixed_motion_vector_table[get_bits(gb, 6)];
motion_y[k] = fixed_motion_vector_table[get_bits(gb, 6)];
}
last_motion_x = motion_x[k];
last_motion_y = motion_y[k];
motion_x[4] += motion_x[k];
motion_y[4] += motion_y[k];
}
@@ -1058,13 +1064,6 @@ static int unpack_vectors(Vp3DecodeContext *s, GetBitContext *gb)
motion_x[4]= RSHIFT(motion_x[4], 2);
motion_y[5]=
motion_y[4]= RSHIFT(motion_y[4], 2);

/* vector maintenance; vector[3] is treated as the
* last vector in this case */
prior_last_motion_x = last_motion_x;
prior_last_motion_y = last_motion_y;
last_motion_x = motion_x[3];
last_motion_y = motion_y[3];
break;

case MODE_INTER_LAST_MV:


Loading…
Cancel
Save