@ -467,7 +467,7 @@ static inline void mv_pred_direct(AVSContext *h, cavs_vector *pmv_fw,
{
{
cavs_vector * pmv_bw = pmv_fw + MV_BWD_OFFS ;
cavs_vector * pmv_bw = pmv_fw + MV_BWD_OFFS ;
int den = h - > direct_den [ col_mv - > ref ] ;
int den = h - > direct_den [ col_mv - > ref ] ;
int m = col_mv - > x > > 31 ;
int m = FF_SIGNBIT ( col_mv - > x ) ;
pmv_fw - > dist = h - > dist [ 1 ] ;
pmv_fw - > dist = h - > dist [ 1 ] ;
pmv_bw - > dist = h - > dist [ 0 ] ;
pmv_bw - > dist = h - > dist [ 0 ] ;
@ -476,7 +476,7 @@ static inline void mv_pred_direct(AVSContext *h, cavs_vector *pmv_fw,
/* scale the co-located motion vector according to its temporal span */
/* scale the co-located motion vector according to its temporal span */
pmv_fw - > x = ( ( ( den + ( den * col_mv - > x * pmv_fw - > dist ^ m ) - m - 1 ) > > 14 ) ^ m ) - m ;
pmv_fw - > x = ( ( ( den + ( den * col_mv - > x * pmv_fw - > dist ^ m ) - m - 1 ) > > 14 ) ^ m ) - m ;
pmv_bw - > x = m - ( ( ( den + ( den * col_mv - > x * pmv_bw - > dist ^ m ) - m - 1 ) > > 14 ) ^ m ) ;
pmv_bw - > x = m - ( ( ( den + ( den * col_mv - > x * pmv_bw - > dist ^ m ) - m - 1 ) > > 14 ) ^ m ) ;
m = col_mv - > y > > 31 ;
m = FF_SIGNBIT ( col_mv - > y ) ;
pmv_fw - > y = ( ( ( den + ( den * col_mv - > y * pmv_fw - > dist ^ m ) - m - 1 ) > > 14 ) ^ m ) - m ;
pmv_fw - > y = ( ( ( den + ( den * col_mv - > y * pmv_fw - > dist ^ m ) - m - 1 ) > > 14 ) ^ m ) - m ;
pmv_bw - > y = m - ( ( ( den + ( den * col_mv - > y * pmv_bw - > dist ^ m ) - m - 1 ) > > 14 ) ^ m ) ;
pmv_bw - > y = m - ( ( ( den + ( den * col_mv - > y * pmv_bw - > dist ^ m ) - m - 1 ) > > 14 ) ^ m ) ;
}
}