Mercurial > libavcodec.hg
changeset 7777:8002605f6aaf libavcodec
theoradec: small 4MV code reorganization to ease future improvements
no functional changes
author | aurel |
---|---|
date | Wed, 03 Sep 2008 00:10:30 +0000 |
parents | dbcdd0165e55 |
children | e31b0b920475 |
files | vp3.c |
diffstat | 1 files changed, 6 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/vp3.c Tue Sep 02 23:25:57 2008 +0000 +++ b/vp3.c Wed Sep 03 00:10:30 2008 +0000 @@ -1039,6 +1039,10 @@ 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 @@ 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 @@ 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: