Commit 4786581c authored by Fabian Bauer's avatar Fabian Bauer
Browse files

deactivated all speedups but FIX_1439_SPEEDUP_Copy_Scale_sig_16_32_no_sat in tools_fx.c - is it be?

parent c87aa384
Loading
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -60,10 +60,10 @@
#define TCX_IMDCT_HEADROOM 1
#define FIX_1439_SPEEDUP_elliptic_bpf_48k_generic_STAGE1       // nonbe    // |
#define FIX_1439_SPEEDUP_elliptic_bpf_48k_generic_STAGE2       // nonbe    // | > 3.1 WOPS
#define FIX_1439_SPEEDUP_elliptic_bpf_48k_generic_STAGE3       // nonbe    // |
#define FIX_1439_SPEEDUP_elliptic_bpf_48k_generic_upsampledsig // BE  // .9    WMOPS -- all pipes green
//#define FIX_1439_SPEEDUP_elliptic_bpf_48k_generic_STAGE1       // nonbe    // |
//#define FIX_1439_SPEEDUP_elliptic_bpf_48k_generic_STAGE2       // nonbe    // | > 3.1 WOPS, pipe testing https://forge.3gpp.org/rep/sa4/audio/ivas-basop/-/pipelines/50562
//#define FIX_1439_SPEEDUP_elliptic_bpf_48k_generic_STAGE3       // nonbe    // |
//#define FIX_1439_SPEEDUP_elliptic_bpf_48k_generic_upsampledsig // BE  // .9    WMOPS -- all pipes green
//   ^^^^^^^^
// Numbers ALL:     84,189
// Numbers beOnly:  87,344
@@ -71,7 +71,7 @@
//-----------------------------------------------------------------------
#define FIX_1439_SPEEDUP_ivas_swb_tbe_dec_fx_0 // .8 WMOPS BE, all pipes green!
//#define FIX_1439_SPEEDUP_ivas_swb_tbe_dec_fx_0 // .8 WMOPS BE, all pipes green!
// OPT_STEREO_32KBPS_V1 switch is inactive - why? (3.2 WMOPS)
+37 −0
Original line number Diff line number Diff line
@@ -760,6 +760,7 @@ void Copy_Scale_sig_16_32_DEPREC(
    }
}

#define FIX_1439_SPEEDUP_Copy_Scale_sig_16_32_no_sat
void Copy_Scale_sig_16_32_no_sat(
    const Word16 x[], /* i  : signal to scale input           Qx        */
    Word32 y[],       /* o  : scaled signal output            Qx        */
@@ -794,6 +795,41 @@ void Copy_Scale_sig_16_32_no_sat(
        }
        return;
    }
#ifdef FIX_1439_SPEEDUP_Copy_Scale_sig_16_32_no_sat
//#define FIX_1439_SPEEDUP_Copy_Scale_sig_16_32_no_sat_TEST
    L_tmp = L_shl_o( 1, exp0 - 1, &Overflow );

    IF( L_tmp >= 0x7FFF )
    {
        FOR( i = 0; i < lg; i++ )
        {
            // y[i] = L_mult0(x[i], L_tmp);
            y[i] = W_extract_l( W_mult_32_16( L_tmp, x[i] ) );
            move32(); /* saturation can occur here */
#ifdef FIX_1439_SPEEDUP_Copy_Scale_sig_16_32_no_sat_TEST
            Word32 tmp32 = W_extract_l( W_mult_32_16( L_tmp, x[i] ) );
            if ( tmp32 != y[i] )
                assert( 0 );
#endif
        }
        return;
    }
    
    //ELSE
    {
        Word16 tmp = extract_l( L_tmp );
        FOR( i = 0; i < lg; i++ )
        {
            y[i] = L_mult(x[i], L_tmp);
            move32(); /* saturation can occur here */
#ifdef FIX_1439_SPEEDUP_Copy_Scale_sig_16_32_no_sat_TEST
            Word32 tmp32 = W_extract_l( W_mult_32_16( L_tmp, x[i] ) );
            if ( tmp32 != y[i] )
                assert( 0 );
#endif
        }
    }
#else
    L_tmp = L_shl_o( 1, exp0 - 1, &Overflow );
    FOR( i = 0; i < lg; i++ )
    {
@@ -801,6 +837,7 @@ void Copy_Scale_sig_16_32_no_sat(
        y[i] = W_extract_l( W_mult_32_16( L_tmp, x[i] ) );
        move32(); /* saturation can occur here */
    }
#endif
}

void Copy_Scale_sig_32_16(