Loading lib_com/basop_util.c +0 −1 Original line number Diff line number Diff line Loading @@ -1041,7 +1041,6 @@ Word32 BASOP_Util_Divide3232_Scale_cadence( Word32 x, Word32 y, Word16 *s ) } #endif Word32 div_w_newton( Word32 num, Word32 den ); /* Table of 256 precalculated estimates to be used by the "div_w_newton" function using the Newton/Raphson method. Loading lib_com/basop_util.h +2 −0 Original line number Diff line number Diff line Loading @@ -334,6 +334,8 @@ Word32 BASOP_Util_Divide3232_Scale_cadence( Word32 x, /*!< i : Numerator*/ Word16 *s ); /*!< o : Additional scalefactor difference*/ #endif Word32 div_w_newton( Word32 num, /*!< i : Numerator*/ Word32 den ); /*!< i : Denominator*/ Word32 BASOP_Util_Divide3232_Scale_newton( Word32 x, /*!< i : Numerator*/ Word32 y, /*!< i : Denominator*/ Loading lib_rend/ivas_dirac_dec_binaural_functions_fx.c +20 −4 Original line number Diff line number Diff line Loading @@ -3747,13 +3747,29 @@ static void eig2x2_fx( nval64m[1] = W_shl( nval64m[1], q_diff ); nvalq[1] = add( q_min, q_diff ); nvalm[0] = BASOP_Util_Divide3232_Scale_newton( ONE_IN_Q30, W_extract_h( nval64m[0] ), &exp ); exp = sub( exp, sub( 62, nvalq[0] ) ); // nvalm[0] = BASOP_Util_Divide3232_Scale_newton( ONE_IN_Q30, W_extract_h( nval64m[0] ), &exp ); // exp = sub( exp, sub( 62, nvalq[0] ) ); // // is equivalent to: // // nvalm[0] = div_w_newton( ONE_IN_Q30, W_extract_h( nval64m[0] ) ); // exp = sub( nvalq[0], 61 ); nvalm[0] = div_w_newton( ONE_IN_Q30, W_extract_h( nval64m[0] ) ); exp = sub( nvalq[0], 61 ); nvalm[0] = Sqrt32( nvalm[0], &exp ); nvalq[0] = sub( 31, exp ); nvalm[1] = BASOP_Util_Divide3232_Scale_newton( ONE_IN_Q30, W_extract_h( nval64m[1] ), &exp ); exp = sub( exp, sub( 62, nvalq[1] ) ); // nvalm[1] = BASOP_Util_Divide3232_Scale_newton( ONE_IN_Q30, W_extract_h( nval64m[1] ), &exp ); // exp = sub( exp, sub( 62, nvalq[1] ) ); // // is equivalent to: // // nvalm[1] = div_w_newton( ONE_IN_Q30, W_extract_h( nval64m[1] ) ); // exp = sub( nvalq[1], 61 ); nvalm[1] = div_w_newton( ONE_IN_Q30, W_extract_h( nval64m[1] ) ); exp = sub( nvalq[1], 61 ); nvalm[1] = Sqrt32( nvalm[1], &exp ); nvalq[1] = sub( 31, exp ); Loading Loading
lib_com/basop_util.c +0 −1 Original line number Diff line number Diff line Loading @@ -1041,7 +1041,6 @@ Word32 BASOP_Util_Divide3232_Scale_cadence( Word32 x, Word32 y, Word16 *s ) } #endif Word32 div_w_newton( Word32 num, Word32 den ); /* Table of 256 precalculated estimates to be used by the "div_w_newton" function using the Newton/Raphson method. Loading
lib_com/basop_util.h +2 −0 Original line number Diff line number Diff line Loading @@ -334,6 +334,8 @@ Word32 BASOP_Util_Divide3232_Scale_cadence( Word32 x, /*!< i : Numerator*/ Word16 *s ); /*!< o : Additional scalefactor difference*/ #endif Word32 div_w_newton( Word32 num, /*!< i : Numerator*/ Word32 den ); /*!< i : Denominator*/ Word32 BASOP_Util_Divide3232_Scale_newton( Word32 x, /*!< i : Numerator*/ Word32 y, /*!< i : Denominator*/ Loading
lib_rend/ivas_dirac_dec_binaural_functions_fx.c +20 −4 Original line number Diff line number Diff line Loading @@ -3747,13 +3747,29 @@ static void eig2x2_fx( nval64m[1] = W_shl( nval64m[1], q_diff ); nvalq[1] = add( q_min, q_diff ); nvalm[0] = BASOP_Util_Divide3232_Scale_newton( ONE_IN_Q30, W_extract_h( nval64m[0] ), &exp ); exp = sub( exp, sub( 62, nvalq[0] ) ); // nvalm[0] = BASOP_Util_Divide3232_Scale_newton( ONE_IN_Q30, W_extract_h( nval64m[0] ), &exp ); // exp = sub( exp, sub( 62, nvalq[0] ) ); // // is equivalent to: // // nvalm[0] = div_w_newton( ONE_IN_Q30, W_extract_h( nval64m[0] ) ); // exp = sub( nvalq[0], 61 ); nvalm[0] = div_w_newton( ONE_IN_Q30, W_extract_h( nval64m[0] ) ); exp = sub( nvalq[0], 61 ); nvalm[0] = Sqrt32( nvalm[0], &exp ); nvalq[0] = sub( 31, exp ); nvalm[1] = BASOP_Util_Divide3232_Scale_newton( ONE_IN_Q30, W_extract_h( nval64m[1] ), &exp ); exp = sub( exp, sub( 62, nvalq[1] ) ); // nvalm[1] = BASOP_Util_Divide3232_Scale_newton( ONE_IN_Q30, W_extract_h( nval64m[1] ), &exp ); // exp = sub( exp, sub( 62, nvalq[1] ) ); // // is equivalent to: // // nvalm[1] = div_w_newton( ONE_IN_Q30, W_extract_h( nval64m[1] ) ); // exp = sub( nvalq[1], 61 ); nvalm[1] = div_w_newton( ONE_IN_Q30, W_extract_h( nval64m[1] ) ); exp = sub( nvalq[1], 61 ); nvalm[1] = Sqrt32( nvalm[1], &exp ); nvalq[1] = sub( 31, exp ); Loading