Commit 1760e035 authored by vaclav's avatar vaclav
Browse files

Merge remote-tracking branch 'remotes/origin/main' into HARM_FD_BWE

parents d59b040e 785e2f24
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -105,6 +105,7 @@
#define FIX_2408_FD_BWE_UPDATE                          /* VA: basop issue 2408: bug-fix in the FD BWE memory updates in wb_pre_proc_ivas_fx()  */
#define FIX_2380_HARM_GSC_GAIN_COMP_FX                  /* VA: basop issue 2380 & 2381: Fix issue when switching from CNG low energy to active content with high energy */
#define FIX_2406_FIX_GAIN_ON_INACTIVE                   /* VA: basop issue 2406: gain between 6.4 and 8kHz was too weak during inactive content with Fs=16kHz  */
#define FIX_2407_FIX_RESIDU_IVAS                        /* VA: basop 2407, Implementation issue in residu_ivas + unnecessary complexity */

/* ##################### End NON-BE switches ########################### */

+17 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ void residu_ivas_fx(
    const Word16 l   /* i  : size of filtering                */
)
{
#ifndef FIX_2407_FIX_RESIDU_IVAS
    Word32 s;
    Word16 i, j;

@@ -38,7 +39,23 @@ void residu_ivas_fx(
        y[i] = s;
        move32();
    }
#else
    Word64 s64;
    Word16 i, j, scaling;

    scaling = sub( Q15, a_exp );
    FOR( i = 0; i < l; i++ )
    {
        s64 = W_mult_32_16( x[i], a[0] );
        FOR( j = 1; j <= m; j++ )
        {
            s64 = W_mac_32_16( s64, x[i - j], a[j] );
        }
        y[i] = W_shl_sat_l( s64, scaling );
        move32();
    }

#endif
    return;
}