Commit 7a3493b8 authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

BASOPAddMantissa optimization removal in transient detection and compute_diffuseness

parent eb799cea
Loading
Loading
Loading
Loading
Loading
+0 −25
Original line number Diff line number Diff line
@@ -921,7 +921,6 @@ void computeDiffuseness_fixed(
    }

    /* Compute Diffuseness */
#ifndef OPT_SBA_DEC_PATH
    p_tmp = intensity_slow_abs;
    exp2 = 0;
    move16();
@@ -960,30 +959,6 @@ void computeDiffuseness_fixed(
            move32();
        }
    }
#else /* OPT_SBA_DEC_PATH */
    Word16 diff = sub( 62, q_ene );
    p_tmp = intensity_slow_abs;
    FOR( i = 0; i < num_freq_bands; ++i )
    {

        exp1 = sub( 31, q_intensity_slow );
        tmp = Sqrt32( p_tmp[i], &exp1 );

        tmp = BASOP_Util_Divide3232_Scale_newton( tmp, L_add( energy_slow[i], EPSILLON_FX ), &exp2 );
        q_tmp = sub( diff, add( exp1, exp2 ) );
        // bring to Q30
        tmp = L_shl_sat( tmp, sub( Q30, q_tmp ) );
        diffuseness[i] = L_sub( ONE_IN_Q30, tmp );
        move32();

        if ( LT_32( diffuseness[i], 0 ) )
        {
            diffuseness[i] = 0;
            move32();
        }
    }

#endif /* OPT_SBA_DEC_PATH */
    *q_diffuseness = Q30;
    move16();

+0 −15
Original line number Diff line number Diff line
@@ -44,11 +44,7 @@
 *------------------------------------------------------------------------------------------*/

#define IVAS_TDET_PARM_ENV_EPS ( 1e-5f )
#ifndef OPT_SBA_DEC_PATH
#define IVAS_TDET_PARM_ENV_EPS_fx 21474          // Q31
#else                                            /* OPT_SBA_DEC_PATH */
#define IVAS_TDET_PARM_ENV_EPS_fx ( 1407374884 ) // Q47
#endif                                           /* OPT_SBA_DEC_PATH */

#define IVAS_TDET_DUCK_MULT_FAC   ( 590558003 ) // Q29
#define IVAS_TDET_PARM_TRANS_THR  ( 107374182 ) // Q30
@@ -407,19 +403,8 @@ void ivas_td_decorr_get_ducking_gains_fx(
    FOR( i = 0; i < frame_len; i++ )
    {
        // e_fast_fx[i] = L_add( L_abs( e_fast_fx[i] ), L_shr( IVAS_TDET_PARM_ENV_EPS_fx, q_factor_diff ) ); /*Q14*/
#ifndef OPT_SBA_DEC_PATH
        e_fast_fx[i] = BASOP_Util_Add_Mant32Exp( L_abs( e_fast_fx[i] ), e_fast_e[i], IVAS_TDET_PARM_ENV_EPS_fx, 0, &e_fast_e[i] );
        move32();
#else  /* OPT_SBA_DEC_PATH */
        Word32 tmp = L_abs( e_fast_fx[i] );
        Word16 nrm = norm_l( tmp );
        Word16 max_e = s_max( sub( e_fast_e[i], nrm ), 31 - 47 );
        max_e = add( max_e, 1 ); // 1 for headroom
        e_fast_fx[i] = L_add( L_shr( tmp, sub( max_e, e_fast_e[i] ) ), L_shr( IVAS_TDET_PARM_ENV_EPS_fx, sub( max_e, 31 - 47 ) ) );
        move32();
        e_fast_e[i] = max_e;
        move16();
#endif /* OPT_SBA_DEC_PATH */
        e_slow_fx[i] = e_fast_fx[i];
        move32();
        e_slow_e[i] = e_fast_e[i];