Commit 60212ef0 authored by Fabian Bauer's avatar Fabian Bauer
Browse files

implement maxabs in func1, STAGE2 and func1 still inactive

parent d41a00b7
Loading
Loading
Loading
Loading
Loading
+71 −1
Original line number Diff line number Diff line
@@ -6688,10 +6688,13 @@ void wb_tbe_extras_reset_synth_fx(
}

#ifdef FIX_1439_SPEEDUP_SIMPLIFY_elliptic_bpf_48k_generic_func1
inline static void elliptic_bpf_48k_generic_func1( Word32 *input_fx, Word32 *L_tmp, const Word16 full_band_bpf_fx[][5], Word16 IsUpsampled3, Word32 L_tmpMax )
inline static void elliptic_bpf_48k_generic_func1( Word32 *input_fx, Word32 *L_tmp, const Word16 full_band_bpf_fx[][5], Word16 IsUpsampled3, Word32 *L_tmpMax )
{
    Word32 L_tmpX;
    Word16 i;
    Word32 L_tmpMax2 = *L_tmpMax;
    Word32 L_tmpAbs;
    move32();
    IF( !IsUpsampled3 )
    {
#ifdef FIX_1439_SPEEDUP_SIMPLIFY_elliptic_bpf_48k_generic_STAGE2
@@ -6708,6 +6711,14 @@ inline static void elliptic_bpf_48k_generic_func1( Word32 *input_fx, Word32 *L_t
            W_tmpY = W_msu_32_16( W_tmpY, L_tmp[i - 4], full_band_bpf_fx[3][4] );
            L_tmp[i] = W_sat_l( W_shr( W_add( W_tmpX, W_shl( W_tmpY, 2 - 16 + 3 ) ), 3 ) ); /*Q_input_fx + 11*/
            move32();
            if ( L_tmpMax > 0 )
            {
                L_tmpAbs = L_abs( L_tmp[i] );
            }
            if ( L_tmpMax > 0 )
            {
                L_tmpMax2 = L_max( L_tmpMax2, L_tmpAbs );
            }
        }
#else
        FOR( i = 0; i < L_FRAME48k; i++ )
@@ -6722,6 +6733,15 @@ inline static void elliptic_bpf_48k_generic_func1( Word32 *input_fx, Word32 *L_t
            L_tmpX = L_add_sat( L_shr( L_mult( input_fx[i], full_band_bpf_fx[0][0] ), 3 ), L_tmpX );          /*Q_input_fx + 13 + 1 - 3*/
            L_tmp[i] = L_sub_sat( L_tmpX, L_shl_sat( Mult_32_16( L_tmp[i - 4], full_band_bpf_fx[3][4] ), 2 ) ); /*Q_input_fx + 11 + 13  -15 +2*/
            move32();
            if ( L_tmpMax > 0 )
            {
                L_tmpAbs = L_abs( L_tmp[i] );
            }
            if ( L_tmpMax > 0 )
            {
                L_tmpMax2 = L_max( L_tmpMax2, L_tmpAbs );
            }
            
        }
#endif
        } /*IsUpsampled3*/
@@ -6738,6 +6758,14 @@ inline static void elliptic_bpf_48k_generic_func1( Word32 *input_fx, Word32 *L_t
                W_tmpY = W_msu_32_16( W_tmpY, L_tmp[i - 4], full_band_bpf_fx[3][4] );
                L_tmp[i] = W_sat_l( W_shr( W_add( W_tmpX, W_shl( W_tmpY, 2 - 16 + 3 ) ), 3 ) ); /*Q_input_fx + 11*/
                move32();
                if ( L_tmpMax > 0 )
                {
                    L_tmpAbs = L_abs( L_tmp[i] );
                }
                if ( L_tmpMax > 0 )
                {
                    L_tmpMax2 = L_max( L_tmpMax2, L_tmpAbs );
                }
                i++;

                W_tmpX = W_mac_16_16( 0, input_fx[i - 4], full_band_bpf_fx[0][4] );
@@ -6748,6 +6776,14 @@ inline static void elliptic_bpf_48k_generic_func1( Word32 *input_fx, Word32 *L_t
                W_tmpY = W_msu_32_16( W_tmpY, L_tmp[i - 4], full_band_bpf_fx[3][4] );
                L_tmp[i] = W_sat_l( W_shr( W_add( W_tmpX, W_shl( W_tmpY, 2 - 16 + 3 ) ), 3 ) ); /*Q_input_fx + 11*/
                move32();
                if ( L_tmpMax > 0 )
                {
                    L_tmpAbs = L_abs( L_tmp[i] );
                }
                if ( L_tmpMax > 0 )
                {
                    L_tmpMax2 = L_max( L_tmpMax2, L_tmpAbs );
                }
                i++;

                W_tmpY = W_msu_32_16( 0, L_tmp[i - 1], full_band_bpf_fx[3][1] );
@@ -6757,6 +6793,14 @@ inline static void elliptic_bpf_48k_generic_func1( Word32 *input_fx, Word32 *L_t
                W_tmpY = W_msu_32_16( W_tmpY, L_tmp[i - 4], full_band_bpf_fx[3][4] );
                L_tmp[i] = W_sat_l( W_shr( W_add( W_tmpX, W_shl( W_tmpY, 2 - 16 + 3 ) ), 3 ) ); /*Q_input_fx + 11*/
                move32();
                if ( L_tmpMax > 0 )
                {
                    L_tmpAbs = L_abs( L_tmp[i] );
                }
                if ( L_tmpMax > 0 )
                {
                    L_tmpMax2 = L_max( L_tmpMax2, L_tmpAbs );
                }
                i++;
            }
#else
@@ -6769,6 +6813,14 @@ inline static void elliptic_bpf_48k_generic_func1( Word32 *input_fx, Word32 *L_t
                L_tmpX = L_add_sat( L_shr( L_mult( input_fx[i], full_band_bpf_fx[0][0] ), 3 ), L_tmpX );            /*Q_input_fx + 13 + 1 - 3*/
                L_tmp[i] = L_sub_sat( L_tmpX, L_shl_sat( Mult_32_16( L_tmp[i - 4], full_band_bpf_fx[3][4] ), 2 ) ); /*Q_input_fx + 11 + 13  -15 +2*/
                move32();
                if ( L_tmpMax > 0 )
                {
                    L_tmpAbs = L_abs( L_tmp[i] );
                }
                if ( L_tmpMax > 0 )
                {
                    L_tmpMax2 = L_max( L_tmpMax2, L_tmpAbs );
                }
                i++;

                L_tmpX = L_shr( L_mult( input_fx[i - 4], full_band_bpf_fx[0][4] ), 3 );                             /*Q_input_fx + 13 + 1 - 3*/
@@ -6778,6 +6830,14 @@ inline static void elliptic_bpf_48k_generic_func1( Word32 *input_fx, Word32 *L_t
                L_tmpX = L_sub_sat( L_tmpX, L_shl_sat( Mult_32_16( L_tmp[i - 3], full_band_bpf_fx[3][3] ), 2 ) );   /*Q_input_fx + 11 + 13  -15 +2*/
                L_tmp[i] = L_sub_sat( L_tmpX, L_shl_sat( Mult_32_16( L_tmp[i - 4], full_band_bpf_fx[3][4] ), 2 ) ); /*Q_input_fx + 11 + 13  -15 +2*/
                move32();
                if ( L_tmpMax > 0 )
                {
                    L_tmpAbs = L_abs( L_tmp[i] );
                }
                if ( L_tmpMax > 0 )
                {
                    L_tmpMax2 = L_max( L_tmpMax2, L_tmpAbs );
                }
                i++;

                L_tmpX = L_sub_sat( 0, L_shl_sat( Mult_32_16( L_tmp[i - 1], full_band_bpf_fx[3][1] ), 2 ) );        /*Q_input_fx + 11 + 13  -15 +2*/
@@ -6786,10 +6846,20 @@ inline static void elliptic_bpf_48k_generic_func1( Word32 *input_fx, Word32 *L_t
                L_tmpX = L_sub_sat( L_tmpX, L_shl_sat( Mult_32_16( L_tmp[i - 3], full_band_bpf_fx[3][3] ), 2 ) );   /*Q_input_fx + 11 + 13  -15 +2*/
                L_tmp[i] = L_sub_sat( L_tmpX, L_shl_sat( Mult_32_16( L_tmp[i - 4], full_band_bpf_fx[3][4] ), 2 ) ); /*Q_input_fx + 11 + 13  -15 +2*/
                move32();
                if ( L_tmpMax > 0 )
                {
                    L_tmpAbs = L_abs( L_tmp[i] );
                }
                if ( L_tmpMax > 0 )
                {
                    L_tmpMax2 = L_max( L_tmpMax2, L_tmpAbs );
                }
                i++;
            }
#endif /*#ifdef FIX_1439_SPEEDUP_SIMPLIFY_elliptic_bpf_48k_generic_STAGE2*/
        } /*IsUpsampled3*/
        *L_tmpMax = L_tmpMax2;
        move32();
}
#endif /*FIX_1439_SPEEDUP_SIMPLIFY_elliptic_bpf_48k_generic_func1*/