Commit e2dac988 authored by multrus's avatar multrus
Browse files

separate changes to transient detector from cdlfb_opt

parent 3ea8505d
Loading
Loading
Loading
Loading
Loading
+17 −2
Original line number Diff line number Diff line
@@ -44,7 +44,11 @@
 *------------------------------------------------------------------------------------------*/

#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
@@ -403,8 +407,19 @@ 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];
+2 −0
Original line number Diff line number Diff line
@@ -106,4 +106,6 @@

#define FIX_1713_EXP                            /* VA: proposed correction to exp in ic-BWE*/

#define OPT_SBA_DEC_PATH

#endif