Loading lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -134,4 +134,6 @@ #define FIX_1010_OPT_GIVENS_INV /* FhG: SVD complexity optimizations (non-be) */ #define FIX_1010_OPT_NORM_NOSAT /* FhG: SVD complexity optimizations (non-be) */ #define FIX_1010_OPT_SEC_SINGLE_RESCALE /* FhG: SVD complexity optimizations (non-be) */ #define FIX_1072_SPEEDUP_matrixTransp2Mul_fx /* FhG: complexity optimization (non-be) */ #define FIX_1072_REDUCE_DIVS /* FhG: complexity optimization (non-be) */ #endif lib_rend/ivas_dirac_dec_binaural_functions.c +7 −14 Original line number Diff line number Diff line Loading @@ -46,12 +46,6 @@ #include "ivas_prot_fx.h" #include "wmc_auto.h" // avg 242,4 #define FIX_1072_SPEEDUP_matrixTransp2Mul_fx_scaleSwitch // SPEEDUP_matrix_2 - 2Mhz #define FIX_1072_REDUCE_DIVS // accept regressions! .5Mhz Word16 slot_fx[4] = { 32767, 16384, 10922, 8192 }; Loading Loading @@ -143,7 +137,7 @@ static void matrixTransp2Mul_fx( Word32 Bre[BINAURAL_CHANNELS][BINAURAL_CHANNELS] /*q_B*/, Word32 Bim[BINAURAL_CHANNELS][BINAURAL_CHANNELS] /*q_B*/, Word16 *q_B, #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx_scaleSwitch #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx int Ascale, int Bscale, #endif Loading Loading @@ -2045,7 +2039,7 @@ static void ivas_dirac_dec_binaural_determine_processing_matrices_fx( matrixMul_fx( Mre_fx, Mim_fx, &q_M, CxRe_fx, CxIm_fx, &q_Cx, tmpMtxRe_fx, tmpMtxIm_fx, &q_tmp ); matrixTransp2Mul_fx( tmpMtxRe_fx, tmpMtxIm_fx, &q_tmp, Mre_fx, Mim_fx, &q_M, #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx_scaleSwitch #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx 1 /*int Ascale*/, 0 /*int Bscale*/, #endif Loading Loading @@ -3882,7 +3876,7 @@ static void matrixTransp2Mul_fx( Word32 Bre_fx[BINAURAL_CHANNELS][BINAURAL_CHANNELS], /*q_B*/ Word32 Bim_fx[BINAURAL_CHANNELS][BINAURAL_CHANNELS], /*q_B*/ Word16 *q_B, #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx_scaleSwitch #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx int Ascale, int Bscale, #endif Loading @@ -3899,7 +3893,7 @@ static void matrixTransp2Mul_fx( #endif #endif #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx_scaleSwitch #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx IF( Ascale == 1 ) #endif { Loading @@ -3910,7 +3904,7 @@ static void matrixTransp2Mul_fx( move16(); } #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx_scaleSwitch #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx IF( Bscale == 1 ) #endif { Loading Loading @@ -4203,7 +4197,6 @@ static void chol2x2_fx( IF( outRe[1][1] == 0 ) { #if !defined( FIX_1072_REDUCE_DIVS ) /*2Mhz*/ outRe[0][1] = BASOP_Util_Divide3232_Scale_cadence( c_re, 4611686, &exp ); move32(); q_re2 = add( sub( 31, exp ), sub( q_c, 62 ) ); Loading Loading @@ -4730,7 +4723,7 @@ static void formulate2x2MixingMatrix_fx( } matrixTransp2Mul_fx( tmpRe_fx, tmpIm_fx, &q_temp, Ure_fx, Uim_fx, &q_U, #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx_scaleSwitch #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx 1 /*int Ascale*/, 0 /*int Bscale*/, #endif Loading Loading @@ -4883,7 +4876,7 @@ static void formulate2x2MixingMatrix_fx( matrixMul_fx( KyRe_fx, KyIm_fx, &q_ky, Pre_fx, Pim_fx, &q_P, tmpRe_fx, tmpIm_fx, &q_temp ); matrixTransp2Mul_fx( tmpRe_fx, tmpIm_fx, &q_temp, Uxre_fx, Uxim_fx, &q_Ux, #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx_scaleSwitch #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx 1 /*int Ascale*/, 0 /*int Bscale*/, #endif Loading Loading
lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -134,4 +134,6 @@ #define FIX_1010_OPT_GIVENS_INV /* FhG: SVD complexity optimizations (non-be) */ #define FIX_1010_OPT_NORM_NOSAT /* FhG: SVD complexity optimizations (non-be) */ #define FIX_1010_OPT_SEC_SINGLE_RESCALE /* FhG: SVD complexity optimizations (non-be) */ #define FIX_1072_SPEEDUP_matrixTransp2Mul_fx /* FhG: complexity optimization (non-be) */ #define FIX_1072_REDUCE_DIVS /* FhG: complexity optimization (non-be) */ #endif
lib_rend/ivas_dirac_dec_binaural_functions.c +7 −14 Original line number Diff line number Diff line Loading @@ -46,12 +46,6 @@ #include "ivas_prot_fx.h" #include "wmc_auto.h" // avg 242,4 #define FIX_1072_SPEEDUP_matrixTransp2Mul_fx_scaleSwitch // SPEEDUP_matrix_2 - 2Mhz #define FIX_1072_REDUCE_DIVS // accept regressions! .5Mhz Word16 slot_fx[4] = { 32767, 16384, 10922, 8192 }; Loading Loading @@ -143,7 +137,7 @@ static void matrixTransp2Mul_fx( Word32 Bre[BINAURAL_CHANNELS][BINAURAL_CHANNELS] /*q_B*/, Word32 Bim[BINAURAL_CHANNELS][BINAURAL_CHANNELS] /*q_B*/, Word16 *q_B, #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx_scaleSwitch #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx int Ascale, int Bscale, #endif Loading Loading @@ -2045,7 +2039,7 @@ static void ivas_dirac_dec_binaural_determine_processing_matrices_fx( matrixMul_fx( Mre_fx, Mim_fx, &q_M, CxRe_fx, CxIm_fx, &q_Cx, tmpMtxRe_fx, tmpMtxIm_fx, &q_tmp ); matrixTransp2Mul_fx( tmpMtxRe_fx, tmpMtxIm_fx, &q_tmp, Mre_fx, Mim_fx, &q_M, #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx_scaleSwitch #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx 1 /*int Ascale*/, 0 /*int Bscale*/, #endif Loading Loading @@ -3882,7 +3876,7 @@ static void matrixTransp2Mul_fx( Word32 Bre_fx[BINAURAL_CHANNELS][BINAURAL_CHANNELS], /*q_B*/ Word32 Bim_fx[BINAURAL_CHANNELS][BINAURAL_CHANNELS], /*q_B*/ Word16 *q_B, #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx_scaleSwitch #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx int Ascale, int Bscale, #endif Loading @@ -3899,7 +3893,7 @@ static void matrixTransp2Mul_fx( #endif #endif #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx_scaleSwitch #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx IF( Ascale == 1 ) #endif { Loading @@ -3910,7 +3904,7 @@ static void matrixTransp2Mul_fx( move16(); } #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx_scaleSwitch #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx IF( Bscale == 1 ) #endif { Loading Loading @@ -4203,7 +4197,6 @@ static void chol2x2_fx( IF( outRe[1][1] == 0 ) { #if !defined( FIX_1072_REDUCE_DIVS ) /*2Mhz*/ outRe[0][1] = BASOP_Util_Divide3232_Scale_cadence( c_re, 4611686, &exp ); move32(); q_re2 = add( sub( 31, exp ), sub( q_c, 62 ) ); Loading Loading @@ -4730,7 +4723,7 @@ static void formulate2x2MixingMatrix_fx( } matrixTransp2Mul_fx( tmpRe_fx, tmpIm_fx, &q_temp, Ure_fx, Uim_fx, &q_U, #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx_scaleSwitch #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx 1 /*int Ascale*/, 0 /*int Bscale*/, #endif Loading Loading @@ -4883,7 +4876,7 @@ static void formulate2x2MixingMatrix_fx( matrixMul_fx( KyRe_fx, KyIm_fx, &q_ky, Pre_fx, Pim_fx, &q_P, tmpRe_fx, tmpIm_fx, &q_temp ); matrixTransp2Mul_fx( tmpRe_fx, tmpIm_fx, &q_temp, Uxre_fx, Uxim_fx, &q_Ux, #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx_scaleSwitch #ifdef FIX_1072_SPEEDUP_matrixTransp2Mul_fx 1 /*int Ascale*/, 0 /*int Bscale*/, #endif Loading