Commit 2ad939bc authored by TYAGIRIS's avatar TYAGIRIS
Browse files

roll back to divide3232 to retain q15 precision

parent e7bcce8b
Loading
Loading
Loading
Loading
Loading
+6 −8
Original line number Diff line number Diff line
@@ -4264,7 +4264,7 @@ void ivas_get_spar_md_from_dirac_enc_fx(
                    Word16 norm_q;

#ifdef NONBE_FIX_1748_SPAR_DIV_OPT
                    Word16 num_ch_order, norm_t, tmp_e;
                    Word16 num_ch_order, norm_t;
                    Word32 tmp_norm_out;
#else
                    Word16 num_ch_order, hoa2_ch_order;
@@ -4342,9 +4342,8 @@ void ivas_get_spar_md_from_dirac_enc_fx(
                    {
                        FOR( ch = 1; ch < foa_ch; ch++ )
                        {
                            tmp_norm_out = BASOP_Util_Divide3232_Scale_newton( response_avg_fx[ch], L_max( norm_fx, L_abs( response_avg_fx[ch] ) ), &tmp_e ); // Q31 - tmp_e
                            tmp_norm_out = L_shl( tmp_norm_out, sub( tmp_e, Q1 ) );                                                                           // q30
                            response_avg_fx[ch] = L_and( tmp_norm_out, 0xffff8000 );                                                                          // q30
                            tmp_norm_out = divide3232( response_avg_fx[ch], L_max( norm_fx, L_abs( response_avg_fx[ch] ) ) ); // q15
                            response_avg_fx[ch] = L_shl( tmp_norm_out, 15 );                                                  // q30
                            move32();
                        }
                    }
@@ -4868,7 +4867,7 @@ void ivas_get_spar_md_from_dirac_fx(
                    Word32 norm_fx;
                    Word16 norm_q;
#ifdef NONBE_FIX_1748_SPAR_DIV_OPT
                    Word16 num_ch_order, norm_t, tmp_e;
                    Word16 num_ch_order, norm_t;
                    Word32 tmp_norm_out;
#else
                    Word16 num_ch_order, hoa2_ch_order;
@@ -4948,9 +4947,8 @@ void ivas_get_spar_md_from_dirac_fx(
                    {
                        FOR( ch = 1; ch < foa_ch; ch++ )
                        {
                            tmp_norm_out = BASOP_Util_Divide3232_Scale_newton( response_avg_fx[ch], L_max( norm_fx, L_abs( response_avg_fx[ch] ) ), &tmp_e ); // Q31 - tmp_e
                            tmp_norm_out = L_shl( tmp_norm_out, sub( tmp_e, Q1 ) );                                                                           // q30
                            response_avg_fx[ch] = L_and( tmp_norm_out, 0xffff8000 );                                                                          // q30
                            tmp_norm_out = divide3232( response_avg_fx[ch], L_max( norm_fx, L_abs( response_avg_fx[ch] ) ) ); // q15
                            response_avg_fx[ch] = L_shl( tmp_norm_out, 15 );                                                  // q30
                            move32();
                        }
                    }