Loading lib_rend/ivas_dirac_dec_binaural_functions.c +10 −3 Original line number Diff line number Diff line Loading @@ -48,7 +48,7 @@ #include "wmc_auto.h" //#define FIX1072_SPEEDUP_formulate2x2MixingMatrix_fx_simple #define FIX1072_SPEEDUP_formulate2x2MixingMatrix_fx_reduceDivs #define FIX1072_SPEEDUP_formulate2x2MixingMatrix_fx_reduceDivs //orange tests //#define FIX1072_SPEEDUP_chol2x2_fx Loading @@ -58,7 +58,7 @@ //#define FIX_1072_SPEEDUP_matrixTransp2Mul_fx_reducetest /*16 Mhz*/ #define FIX_1072_REPLACE_DIV_SQRT_BY_ISQRT #define FIX_1072_REPLACE_DIV_SQRT_BY_ISQRT //testing... //#define FIX_1072_REDUCE_DIVS #ifndef FIX_1072_REPLACE_DIV_SQRT_BY_ISQRT Loading Loading @@ -4494,6 +4494,7 @@ static void formulate2x2MixingMatrix_fx( Word16 hdrm_re[BINAURAL_CHANNELS][BINAURAL_CHANNELS], hdrm_im[BINAURAL_CHANNELS][BINAURAL_CHANNELS]; push_wmops( "IDDB_detProcMat_bigLoop1_2x2Matrix" ); push_wmops( "IDDB_2x2Matrix_Part1" ); #ifdef FIX1072_SPEEDUP_formulate2x2MixingMatrix_fx_simple #else Loading Loading @@ -4605,6 +4606,9 @@ static void formulate2x2MixingMatrix_fx( Cout_im = Mpy_32_32( Cout_im, maxEneDiv_fx ); q_cout = sub( add( q_cout, q_maxEneDiv ), 31 ); pop_wmops(); //( "IDDB_2x2Matrix_Part1" ); push_wmops( "IDDB_2x2Matrix_Part2" ); /* Cholesky decomposition of target / output covariance matrix */ chol2x2_fx( E_out1, E_out2, q_eout, Cout_re, Cout_im, q_cout, KyRe_fx, KyIm_fx, &q_ky ); Loading Loading @@ -4977,6 +4981,9 @@ static void formulate2x2MixingMatrix_fx( #endif Pre_fx, Pim_fx, &q_P ); /* Nearest orthonormal matrix P to matrix A formulated */ pop_wmops(); //( "IDDB_2x2Matrix_Part2" ); push_wmops( "IDDB_2x2Matrix_Part3" ); /* These are the final formulas of the JAES publication M = Ky P Kx^(-1) */ FOR( chA = 0; chA < BINAURAL_CHANNELS; chA++ ) { Loading Loading @@ -5058,7 +5065,7 @@ static void formulate2x2MixingMatrix_fx( 0 /*int Bscale*/, #endif Mre_fx, Mim_fx, q_M ); pop_wmops(); //push_wmops( "IDDB_2x2Matrix_Part3" ); pop_wmops(); /*IDDB_detProcMat_bigLoop1_2x2Matrix*/ return; } Loading Loading
lib_rend/ivas_dirac_dec_binaural_functions.c +10 −3 Original line number Diff line number Diff line Loading @@ -48,7 +48,7 @@ #include "wmc_auto.h" //#define FIX1072_SPEEDUP_formulate2x2MixingMatrix_fx_simple #define FIX1072_SPEEDUP_formulate2x2MixingMatrix_fx_reduceDivs #define FIX1072_SPEEDUP_formulate2x2MixingMatrix_fx_reduceDivs //orange tests //#define FIX1072_SPEEDUP_chol2x2_fx Loading @@ -58,7 +58,7 @@ //#define FIX_1072_SPEEDUP_matrixTransp2Mul_fx_reducetest /*16 Mhz*/ #define FIX_1072_REPLACE_DIV_SQRT_BY_ISQRT #define FIX_1072_REPLACE_DIV_SQRT_BY_ISQRT //testing... //#define FIX_1072_REDUCE_DIVS #ifndef FIX_1072_REPLACE_DIV_SQRT_BY_ISQRT Loading Loading @@ -4494,6 +4494,7 @@ static void formulate2x2MixingMatrix_fx( Word16 hdrm_re[BINAURAL_CHANNELS][BINAURAL_CHANNELS], hdrm_im[BINAURAL_CHANNELS][BINAURAL_CHANNELS]; push_wmops( "IDDB_detProcMat_bigLoop1_2x2Matrix" ); push_wmops( "IDDB_2x2Matrix_Part1" ); #ifdef FIX1072_SPEEDUP_formulate2x2MixingMatrix_fx_simple #else Loading Loading @@ -4605,6 +4606,9 @@ static void formulate2x2MixingMatrix_fx( Cout_im = Mpy_32_32( Cout_im, maxEneDiv_fx ); q_cout = sub( add( q_cout, q_maxEneDiv ), 31 ); pop_wmops(); //( "IDDB_2x2Matrix_Part1" ); push_wmops( "IDDB_2x2Matrix_Part2" ); /* Cholesky decomposition of target / output covariance matrix */ chol2x2_fx( E_out1, E_out2, q_eout, Cout_re, Cout_im, q_cout, KyRe_fx, KyIm_fx, &q_ky ); Loading Loading @@ -4977,6 +4981,9 @@ static void formulate2x2MixingMatrix_fx( #endif Pre_fx, Pim_fx, &q_P ); /* Nearest orthonormal matrix P to matrix A formulated */ pop_wmops(); //( "IDDB_2x2Matrix_Part2" ); push_wmops( "IDDB_2x2Matrix_Part3" ); /* These are the final formulas of the JAES publication M = Ky P Kx^(-1) */ FOR( chA = 0; chA < BINAURAL_CHANNELS; chA++ ) { Loading Loading @@ -5058,7 +5065,7 @@ static void formulate2x2MixingMatrix_fx( 0 /*int Bscale*/, #endif Mre_fx, Mim_fx, q_M ); pop_wmops(); //push_wmops( "IDDB_2x2Matrix_Part3" ); pop_wmops(); /*IDDB_detProcMat_bigLoop1_2x2Matrix*/ return; } Loading