提交 e32e2d56 编写于 作者: A Aurelien Jacobs

theoradec: small 4MV code reorganization to ease future improvements

no functional changes

Originally committed as revision 15165 to svn://svn.ffmpeg.org/ffmpeg/trunk
上级 15995030
...@@ -1039,6 +1039,10 @@ static int unpack_vectors(Vp3DecodeContext *s, GetBitContext *gb) ...@@ -1039,6 +1039,10 @@ static int unpack_vectors(Vp3DecodeContext *s, GetBitContext *gb)
break; break;
case MODE_INTER_FOURMV: 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 /* fetch 4 vectors from the bitstream, one for each
* Y fragment, then average for the C fragment vectors */ * Y fragment, then average for the C fragment vectors */
motion_x[4] = motion_y[4] = 0; motion_x[4] = motion_y[4] = 0;
...@@ -1050,6 +1054,8 @@ static int unpack_vectors(Vp3DecodeContext *s, GetBitContext *gb) ...@@ -1050,6 +1054,8 @@ static int unpack_vectors(Vp3DecodeContext *s, GetBitContext *gb)
motion_x[k] = fixed_motion_vector_table[get_bits(gb, 6)]; motion_x[k] = fixed_motion_vector_table[get_bits(gb, 6)];
motion_y[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_x[4] += motion_x[k];
motion_y[4] += motion_y[k]; motion_y[4] += motion_y[k];
} }
...@@ -1058,13 +1064,6 @@ static int unpack_vectors(Vp3DecodeContext *s, GetBitContext *gb) ...@@ -1058,13 +1064,6 @@ static int unpack_vectors(Vp3DecodeContext *s, GetBitContext *gb)
motion_x[4]= RSHIFT(motion_x[4], 2); motion_x[4]= RSHIFT(motion_x[4], 2);
motion_y[5]= motion_y[5]=
motion_y[4]= RSHIFT(motion_y[4], 2); 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; break;
case MODE_INTER_LAST_MV: case MODE_INTER_LAST_MV:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册