Loading lib_rend/ivas_dirac_dec_binaural_functions_fx.c +13 −7 Original line number Diff line number Diff line Loading @@ -52,8 +52,8 @@ //#define FIX_1326_SPEEDUP_04 // speedup eig2x2_fx // .2 WMOPS //#define FIX_1326_SPEEDUP_05 // div->sqrt =>isqrt // 3.5 WMOPS //Quite bad diffs //#define FIX_1326_SPEEDUP_06 // div->sqrt =>isqrt // 3.0 WMOPS //Quite bad diffs //#define FIX_1326_SPEEDUP_07 // div->sqrt =>isqrt // 2.8 WMOPS //Big DIffs #define FIX_1326_SPEEDUP_08 // "-" // 3.0 WMOPS //small diffs! #define FIX_1326_SPEEDUP_07 // div->sqrt =>isqrt // 2.8 WMOPS //Big DIffs , no replacement of divSqrt #define FIX_1326_SPEEDUP_08 // "-" // 3.0 WMOPS //small diffs, PIPELINE GREEN! Word16 slot_fx[4] = { 32767, 16384, 10922, 8192 }; /*------------------------------------------------------------------------- Loading Loading @@ -4746,12 +4746,18 @@ static void formulate2x2MixingMatrix_fx( } ELSE { #if 1 //old code push_wmops( "formulate2x2MixingMatrix Division" ); temp = BASOP_Util_Divide3232_Scale_cadence( ONE_IN_Q30, D_fx[0], &exp ); exp = sub( exp, sub( Q30, q_D ) ); pop_wmops(); /*push_wmops( "formulate2x2MixingMatrix Division" )*/ div_fx[0] = Sqrt32( temp, &exp ); // Q = 31 - exp move32(); #else exp = sub(31, q_D); div_fx[0] = ISqrt32( D_fx[0], &exp ); // temp = BASOP_Util_Divide3232_Scale_cadence( ONE_IN_Q30, D_fx[0], &exp ); // exp = sub( exp, sub( Q30, q_D ) ); // div_fx[0] = Sqrt32( temp, &exp ); // Q = 31 - exp div_fx[0] = ISqrt32_2( D_fx[0], &exp ); move32(); #endif } #else IF( D_fx[0] == 0 ) Loading Loading
lib_rend/ivas_dirac_dec_binaural_functions_fx.c +13 −7 Original line number Diff line number Diff line Loading @@ -52,8 +52,8 @@ //#define FIX_1326_SPEEDUP_04 // speedup eig2x2_fx // .2 WMOPS //#define FIX_1326_SPEEDUP_05 // div->sqrt =>isqrt // 3.5 WMOPS //Quite bad diffs //#define FIX_1326_SPEEDUP_06 // div->sqrt =>isqrt // 3.0 WMOPS //Quite bad diffs //#define FIX_1326_SPEEDUP_07 // div->sqrt =>isqrt // 2.8 WMOPS //Big DIffs #define FIX_1326_SPEEDUP_08 // "-" // 3.0 WMOPS //small diffs! #define FIX_1326_SPEEDUP_07 // div->sqrt =>isqrt // 2.8 WMOPS //Big DIffs , no replacement of divSqrt #define FIX_1326_SPEEDUP_08 // "-" // 3.0 WMOPS //small diffs, PIPELINE GREEN! Word16 slot_fx[4] = { 32767, 16384, 10922, 8192 }; /*------------------------------------------------------------------------- Loading Loading @@ -4746,12 +4746,18 @@ static void formulate2x2MixingMatrix_fx( } ELSE { #if 1 //old code push_wmops( "formulate2x2MixingMatrix Division" ); temp = BASOP_Util_Divide3232_Scale_cadence( ONE_IN_Q30, D_fx[0], &exp ); exp = sub( exp, sub( Q30, q_D ) ); pop_wmops(); /*push_wmops( "formulate2x2MixingMatrix Division" )*/ div_fx[0] = Sqrt32( temp, &exp ); // Q = 31 - exp move32(); #else exp = sub(31, q_D); div_fx[0] = ISqrt32( D_fx[0], &exp ); // temp = BASOP_Util_Divide3232_Scale_cadence( ONE_IN_Q30, D_fx[0], &exp ); // exp = sub( exp, sub( Q30, q_D ) ); // div_fx[0] = Sqrt32( temp, &exp ); // Q = 31 - exp div_fx[0] = ISqrt32_2( D_fx[0], &exp ); move32(); #endif } #else IF( D_fx[0] == 0 ) Loading