Loading lib_rend/ivas_dirac_dec_binaural_functions_fx.c +13 −6 Original line number Diff line number Diff line Loading @@ -122,6 +122,13 @@ static void matrixMul_fx( Word32 Are[BINAURAL_CHANNELS][BINAURAL_CHANNELS] /*q_A static void matrixTransp2Mul_fx( Word32 Are[BINAURAL_CHANNELS][BINAURAL_CHANNELS] /*q_A*/, Word32 Aim[BINAURAL_CHANNELS][BINAURAL_CHANNELS] /*q_A*/, Word16 *q_A, Word32 Bre[BINAURAL_CHANNELS][BINAURAL_CHANNELS] /*q_B*/, Word32 Bim[BINAURAL_CHANNELS][BINAURAL_CHANNELS] /*q_B*/, Word16 *q_B, Word32 Ascale, Word32 Bscale, Word32 outRe[BINAURAL_CHANNELS][BINAURAL_CHANNELS] /*q_out*/, Word32 outIm[BINAURAL_CHANNELS][BINAURAL_CHANNELS] /*q_out*/, Word16 *q_out ); static UWord32 ceil_pow2( UWord32 x ); static UWord32 popcnt( UWord32 x ); static UWord32 ceil_log2( UWord32 x ); static Word64 Mpy_64_32( Word64 W_var1, Word32 L_var2 ); /*------------------------------------------------------------------------- * ivas_dirac_dec_init_binaural_data() Loading Loading @@ -1330,7 +1337,7 @@ static void ivas_dirac_dec_decorrelate_slot_fx( return; } UWord32 ceil_pow2( UWord32 x ) static UWord32 ceil_pow2( UWord32 x ) { --x; x |= x >> 1; Loading @@ -1342,7 +1349,7 @@ UWord32 ceil_pow2( UWord32 x ) return x; } UWord32 popcnt( UWord32 x ) static UWord32 popcnt( UWord32 x ) { // it takes once cycle x = ( x & 0x55555555 ) + ( ( x & 0xAAAAAAAA ) >> 1 ); Loading @@ -1353,7 +1360,7 @@ UWord32 popcnt( UWord32 x ) return x; } UWord32 ceil_log2( UWord32 x ) static UWord32 ceil_log2( UWord32 x ) { if ( x ) { Loading @@ -1365,7 +1372,7 @@ UWord32 ceil_log2( UWord32 x ) } } Word64 Mpy_64_32( Word64 W_var1, Word32 L_var2 ) static Word64 Mpy_64_32( Word64 W_var1, Word32 L_var2 ) { Word32 var1_l; Word64 var_out; Loading Loading @@ -1477,8 +1484,8 @@ static void ivas_dirac_dec_binaural_formulate_input_covariance_matrices_fx( #endif #ifdef NONBE_2157_IVAS_DIRAC_DEC_BINAURAL_FORMULATE_INPUT_COVARIANCE_MATRICES rsh0 = ceil_log2( hSpatParamRendCom->subframe_nbslots[subframe] ) - 1; rsh1 = ceil_log2( BINAURAL_CHANNELS * hSpatParamRendCom->subframe_nbslots[subframe] ) - 1; rsh0 = (Word16) ( ceil_log2( hSpatParamRendCom->subframe_nbslots[subframe] ) - 1 ); rsh1 = (Word16) ( ceil_log2( BINAURAL_CHANNELS * hSpatParamRendCom->subframe_nbslots[subframe] ) - 1 ); exp0 = add( sub( 63, shl( q, 1 ) ), rsh0 ); exp1 = add( sub( 63, shl( q, 1 ) ), rsh1 ); #else Loading Loading
lib_rend/ivas_dirac_dec_binaural_functions_fx.c +13 −6 Original line number Diff line number Diff line Loading @@ -122,6 +122,13 @@ static void matrixMul_fx( Word32 Are[BINAURAL_CHANNELS][BINAURAL_CHANNELS] /*q_A static void matrixTransp2Mul_fx( Word32 Are[BINAURAL_CHANNELS][BINAURAL_CHANNELS] /*q_A*/, Word32 Aim[BINAURAL_CHANNELS][BINAURAL_CHANNELS] /*q_A*/, Word16 *q_A, Word32 Bre[BINAURAL_CHANNELS][BINAURAL_CHANNELS] /*q_B*/, Word32 Bim[BINAURAL_CHANNELS][BINAURAL_CHANNELS] /*q_B*/, Word16 *q_B, Word32 Ascale, Word32 Bscale, Word32 outRe[BINAURAL_CHANNELS][BINAURAL_CHANNELS] /*q_out*/, Word32 outIm[BINAURAL_CHANNELS][BINAURAL_CHANNELS] /*q_out*/, Word16 *q_out ); static UWord32 ceil_pow2( UWord32 x ); static UWord32 popcnt( UWord32 x ); static UWord32 ceil_log2( UWord32 x ); static Word64 Mpy_64_32( Word64 W_var1, Word32 L_var2 ); /*------------------------------------------------------------------------- * ivas_dirac_dec_init_binaural_data() Loading Loading @@ -1330,7 +1337,7 @@ static void ivas_dirac_dec_decorrelate_slot_fx( return; } UWord32 ceil_pow2( UWord32 x ) static UWord32 ceil_pow2( UWord32 x ) { --x; x |= x >> 1; Loading @@ -1342,7 +1349,7 @@ UWord32 ceil_pow2( UWord32 x ) return x; } UWord32 popcnt( UWord32 x ) static UWord32 popcnt( UWord32 x ) { // it takes once cycle x = ( x & 0x55555555 ) + ( ( x & 0xAAAAAAAA ) >> 1 ); Loading @@ -1353,7 +1360,7 @@ UWord32 popcnt( UWord32 x ) return x; } UWord32 ceil_log2( UWord32 x ) static UWord32 ceil_log2( UWord32 x ) { if ( x ) { Loading @@ -1365,7 +1372,7 @@ UWord32 ceil_log2( UWord32 x ) } } Word64 Mpy_64_32( Word64 W_var1, Word32 L_var2 ) static Word64 Mpy_64_32( Word64 W_var1, Word32 L_var2 ) { Word32 var1_l; Word64 var_out; Loading Loading @@ -1477,8 +1484,8 @@ static void ivas_dirac_dec_binaural_formulate_input_covariance_matrices_fx( #endif #ifdef NONBE_2157_IVAS_DIRAC_DEC_BINAURAL_FORMULATE_INPUT_COVARIANCE_MATRICES rsh0 = ceil_log2( hSpatParamRendCom->subframe_nbslots[subframe] ) - 1; rsh1 = ceil_log2( BINAURAL_CHANNELS * hSpatParamRendCom->subframe_nbslots[subframe] ) - 1; rsh0 = (Word16) ( ceil_log2( hSpatParamRendCom->subframe_nbslots[subframe] ) - 1 ); rsh1 = (Word16) ( ceil_log2( BINAURAL_CHANNELS * hSpatParamRendCom->subframe_nbslots[subframe] ) - 1 ); exp0 = add( sub( 63, shl( q, 1 ) ), rsh0 ); exp1 = add( sub( 63, shl( q, 1 ) ), rsh1 ); #else Loading