@ -60,16 +60,16 @@ static void roqvideo_decode_frame(RoqContext *ri)
if ( ( nv2 = chunk_arg & 0xff ) = = 0 & & nv1 * 6 < chunk_size )
nv2 = 256 ;
for ( i = 0 ; i < nv1 ; i + + ) {
ri - > cells [ i ] . y [ 0 ] = * buf + + ;
ri - > cells [ i ] . y [ 1 ] = * buf + + ;
ri - > cells [ i ] . y [ 2 ] = * buf + + ;
ri - > cells [ i ] . y [ 3 ] = * buf + + ;
ri - > cells [ i ] . u = * buf + + ;
ri - > cells [ i ] . v = * buf + + ;
ri - > cb2x2 [ i ] . y [ 0 ] = * buf + + ;
ri - > cb2x2 [ i ] . y [ 1 ] = * buf + + ;
ri - > cb2x2 [ i ] . y [ 2 ] = * buf + + ;
ri - > cb2x2 [ i ] . y [ 3 ] = * buf + + ;
ri - > cb2x2 [ i ] . u = * buf + + ;
ri - > cb2x2 [ i ] . v = * buf + + ;
}
for ( i = 0 ; i < nv2 ; i + + )
for ( j = 0 ; j < 4 ; j + + )
ri - > qcells [ i ] . idx [ j ] = * buf + + ;
ri - > cb4x4 [ i ] . idx [ j ] = * buf + + ;
}
}
@ -94,11 +94,11 @@ static void roqvideo_decode_frame(RoqContext *ri)
ff_apply_motion_8x8 ( ri , xp , yp , mx , my ) ;
break ;
case RoQ_ID_SLD :
qcell = ri - > qcells + buf [ bpos + + ] ;
ff_apply_vector_4x4 ( ri , xp , yp , ri - > cells + qcell - > idx [ 0 ] ) ;
ff_apply_vector_4x4 ( ri , xp + 4 , yp , ri - > cells + qcell - > idx [ 1 ] ) ;
ff_apply_vector_4x4 ( ri , xp , yp + 4 , ri - > cells + qcell - > idx [ 2 ] ) ;
ff_apply_vector_4x4 ( ri , xp + 4 , yp + 4 , ri - > cells + qcell - > idx [ 3 ] ) ;
qcell = ri - > cb4x4 + buf [ bpos + + ] ;
ff_apply_vector_4x4 ( ri , xp , yp , ri - > cb2x2 + qcell - > idx [ 0 ] ) ;
ff_apply_vector_4x4 ( ri , xp + 4 , yp , ri - > cb2x2 + qcell - > idx [ 1 ] ) ;
ff_apply_vector_4x4 ( ri , xp , yp + 4 , ri - > cb2x2 + qcell - > idx [ 2 ] ) ;
ff_apply_vector_4x4 ( ri , xp + 4 , yp + 4 , ri - > cb2x2 + qcell - > idx [ 3 ] ) ;
break ;
case RoQ_ID_CCC :
for ( k = 0 ; k < 4 ; k + + ) {
@ -123,17 +123,17 @@ static void roqvideo_decode_frame(RoqContext *ri)
ff_apply_motion_4x4 ( ri , x , y , mx , my ) ;
break ;
case RoQ_ID_SLD :
qcell = ri - > qcells + buf [ bpos + + ] ;
ff_apply_vector_2x2 ( ri , x , y , ri - > cells + qcell - > idx [ 0 ] ) ;
ff_apply_vector_2x2 ( ri , x + 2 , y , ri - > cells + qcell - > idx [ 1 ] ) ;
ff_apply_vector_2x2 ( ri , x , y + 2 , ri - > cells + qcell - > idx [ 2 ] ) ;
ff_apply_vector_2x2 ( ri , x + 2 , y + 2 , ri - > cells + qcell - > idx [ 3 ] ) ;
qcell = ri - > cb4x4 + buf [ bpos + + ] ;
ff_apply_vector_2x2 ( ri , x , y , ri - > cb2x2 + qcell - > idx [ 0 ] ) ;
ff_apply_vector_2x2 ( ri , x + 2 , y , ri - > cb2x2 + qcell - > idx [ 1 ] ) ;
ff_apply_vector_2x2 ( ri , x , y + 2 , ri - > cb2x2 + qcell - > idx [ 2 ] ) ;
ff_apply_vector_2x2 ( ri , x + 2 , y + 2 , ri - > cb2x2 + qcell - > idx [ 3 ] ) ;
break ;
case RoQ_ID_CCC :
ff_apply_vector_2x2 ( ri , x , y , ri - > cells + buf [ bpos ] ) ;
ff_apply_vector_2x2 ( ri , x + 2 , y , ri - > cells + buf [ bpos + 1 ] ) ;
ff_apply_vector_2x2 ( ri , x , y + 2 , ri - > cells + buf [ bpos + 2 ] ) ;
ff_apply_vector_2x2 ( ri , x + 2 , y + 2 , ri - > cells + buf [ bpos + 3 ] ) ;
ff_apply_vector_2x2 ( ri , x , y , ri - > cb2x2 + buf [ bpos ] ) ;
ff_apply_vector_2x2 ( ri , x + 2 , y , ri - > cb2x2 + buf [ bpos + 1 ] ) ;
ff_apply_vector_2x2 ( ri , x , y + 2 , ri - > cb2x2 + buf [ bpos + 2 ] ) ;
ff_apply_vector_2x2 ( ri , x + 2 , y + 2 , ri - > cb2x2 + buf [ bpos + 3 ] ) ;
bpos + = 4 ;
break ;
}