@ -1291,6 +1291,7 @@ static av_always_inline int scaleforsame_x(VC1Context *v, int n /* MV */, int di
int scaledvalue , refdist ;
int scalesame1 , scalesame2 ;
int scalezone1_x , zone1offset_x ;
int table_index = dir ^ v - > second_field ;
if ( v - > s . pict_type ! = AV_PICTURE_TYPE_B )
refdist = v - > refdist ;
@ -1298,10 +1299,10 @@ static av_always_inline int scaleforsame_x(VC1Context *v, int n /* MV */, int di
refdist = dir ? v - > brfd : v - > frfd ;
if ( refdist > 3 )
refdist = 3 ;
scalesame1 = vc1_field_mvpred_scales [ v - > second_field ] [ 1 ] [ refdist ] ;
scalesame2 = vc1_field_mvpred_scales [ v - > second_field ] [ 2 ] [ refdist ] ;
scalezone1_x = vc1_field_mvpred_scales [ v - > second_field ] [ 3 ] [ refdist ] ;
zone1offset_x = vc1_field_mvpred_scales [ v - > second_field ] [ 5 ] [ refdist ] ;
scalesame1 = vc1_field_mvpred_scales [ table_index ] [ 1 ] [ refdist ] ;
scalesame2 = vc1_field_mvpred_scales [ table_index ] [ 2 ] [ refdist ] ;
scalezone1_x = vc1_field_mvpred_scales [ table_index ] [ 3 ] [ refdist ] ;
zone1offset_x = vc1_field_mvpred_scales [ table_index ] [ 5 ] [ refdist ] ;
if ( FFABS ( n ) > 255 )
scaledvalue = n ;
@ -1323,6 +1324,7 @@ static av_always_inline int scaleforsame_y(VC1Context *v, int i, int n /* MV */,
int scaledvalue , refdist ;
int scalesame1 , scalesame2 ;
int scalezone1_y , zone1offset_y ;
int table_index = dir ^ v - > second_field ;
if ( v - > s . pict_type ! = AV_PICTURE_TYPE_B )
refdist = v - > refdist ;
@ -1330,10 +1332,10 @@ static av_always_inline int scaleforsame_y(VC1Context *v, int i, int n /* MV */,
refdist = dir ? v - > brfd : v - > frfd ;
if ( refdist > 3 )
refdist = 3 ;
scalesame1 = vc1_field_mvpred_scales [ v - > second_field ] [ 1 ] [ refdist ] ;
scalesame2 = vc1_field_mvpred_scales [ v - > second_field ] [ 2 ] [ refdist ] ;
scalezone1_y = vc1_field_mvpred_scales [ v - > second_field ] [ 4 ] [ refdist ] ;
zone1offset_y = vc1_field_mvpred_scales [ v - > second_field ] [ 6 ] [ refdist ] ;
scalesame1 = vc1_field_mvpred_scales [ table_index ] [ 1 ] [ refdist ] ;
scalesame2 = vc1_field_mvpred_scales [ table_index ] [ 2 ] [ refdist ] ;
scalezone1_y = vc1_field_mvpred_scales [ table_index ] [ 4 ] [ refdist ] ;
zone1offset_y = vc1_field_mvpred_scales [ table_index ] [ 6 ] [ refdist ] ;
if ( FFABS ( n ) > 63 )
scaledvalue = n ;
@ -1444,7 +1446,7 @@ static av_always_inline int scaleforopp(VC1Context *v, int n /* MV */,
refdist = FFMIN ( v - > refdist , 3 ) ;
else
refdist = dir ? v - > brfd : v - > frfd ;
scaleopp = vc1_field_mvpred_scales [ v - > second_field ] [ 0 ] [ refdist ] ;
scaleopp = vc1_field_mvpred_scales [ dir ^ v - > second_field ] [ 0 ] [ refdist ] ;
return n * scaleopp > > 8 ;
}