static void dequant_4x4( int16_t dct[4][4], int dequant_mf[6][4][4], int i_qp ) { const int i_mf = i_qp%6; const int i_qbits = i_qp/6 - 4; int y; if( i_qbits >= 0 ) { for( y = 0; y < 4; y++ ) { DEQUANT_SHL( 0 ); DEQUANT_SHL( 1 ); DEQUANT_SHL( 2 ); DEQUANT_SHL( 3 ); } } else { const int f = 1 << (-i_qbits-1); for( y = 0; y < 4; y++ ) { DEQUANT_SHR( 0 ); DEQUANT_SHR( 1 ); DEQUANT_SHR( 2 ); DEQUANT_SHR( 3 ); } } }
static void dequant_8x8( dctcoef dct[64], int dequant_mf[6][64], int i_qp ) { const int i_mf = i_qp%6; const int i_qbits = i_qp/6 - 6; if( i_qbits >= 0 ) { for( int i = 0; i < 64; i++ ) DEQUANT_SHL( i ); } else { const int f = 1 << (-i_qbits-1); for( int i = 0; i < 64; i++ ) DEQUANT_SHR( i ); } }
void x264_dequant_8x8_altivec( int16_t dct[8][8], int dequant_mf[6][8][8], int i_qp ) { const int i_mf = i_qp%6; const int i_qbits = i_qp/6 - 6; int y; vec_s16_t dctv; vec_s16_t dct1v, dct2v; vec_s32_t mf1v, mf2v; vec_s16_t mfv; vec_s32_t multEvenvA, multOddvA; vec_s32_t temp1v, temp2v; if( i_qbits >= 0 ) { vec_u16_t i_qbitsv; vect_ushort_u qbits_u; qbits_u.s[0]=i_qbits; i_qbitsv = vec_splat(qbits_u.v, 0); for( y = 0; y < 8; y++ ) DEQUANT_SHL(); } else { const int f = 1 << (-i_qbits-1); vec_s32_t fv; vect_int_u f_u; f_u.s[0]=f; fv = (vec_s32_t)vec_splat(f_u.v, 0); vec_u32_t i_qbitsv; vect_int_u qbits_u; qbits_u.s[0]=-i_qbits; i_qbitsv = vec_splat(qbits_u.v, 0); vec_u32_t sixteenv; vect_int_u sixteen_u; sixteen_u.s[0]=16; sixteenv = vec_splat(sixteen_u.v, 0); for( y = 0; y < 8; y++ ) DEQUANT_SHR(); } }
static void dequant_4x4( int16_t dct[16], int dequant_mf[6][16], int i_qp ) { const int i_mf = i_qp%6; const int i_qbits = i_qp/6 - 4; int i; if( i_qbits >= 0 ) { for( i = 0; i < 16; i++ ) DEQUANT_SHL( i ); } else { const int f = 1 << (-i_qbits-1); for( i = 0; i < 16; i++ ) DEQUANT_SHR( i ); } }
static void dequant_8x8( int16_t dct[8][8], int dequant_mf[6][8][8], int i_qp ) { const int i_mf = i_qp%6; const int i_qbits = i_qp/6 - 6; int y; if( i_qbits >= 0 ) { for( y = 0; y < 8; y++ ) { DEQUANT_SHL( 0 ); DEQUANT_SHL( 1 ); DEQUANT_SHL( 2 ); DEQUANT_SHL( 3 ); DEQUANT_SHL( 4 ); DEQUANT_SHL( 5 ); DEQUANT_SHL( 6 ); DEQUANT_SHL( 7 ); } } else { const int f = 1 << (-i_qbits-1); for( y = 0; y < 8; y++ ) { DEQUANT_SHR( 0 ); DEQUANT_SHR( 1 ); DEQUANT_SHR( 2 ); DEQUANT_SHR( 3 ); DEQUANT_SHR( 4 ); DEQUANT_SHR( 5 ); DEQUANT_SHR( 6 ); DEQUANT_SHR( 7 ); } } }