Commit e430720c authored by Fabian Bauer's avatar Fabian Bauer
Browse files

add FIX_1439_SPEEDUP_stereo_icBWE_dec_fx

parent 32bba36d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -83,5 +83,6 @@
// 
// new speedups
#define FIX_1439_SPEEDUP_Copy_Scale_sig_16_32_no_sat            /*FhG: reduces WMOPS - bit-exact*/ //   |
#define FIX_1439_SPEEDUP_stereo_icBWE_dec_fx                    /*FhG: reduces WMOPS - bit-exact*/ //   |

#endif
+10 −0
Original line number Diff line number Diff line
@@ -904,6 +904,9 @@ void stereo_icBWE_dec_fx(
    winSlope_fx = div_s( 1, winLen_fx );                       /* Q15 */
    alpha_fx = winSlope_fx;                                    /* Q15 */
    move16();
#ifdef FIX_1439_SPEEDUP_stereo_icBWE_dec_fx
    Word16 winSlope_fx_ = sub( 32767 /* 1.0 in Q15*/, winSlope_fx );
#endif
    FOR( i = 0; i < winLen_fx; i++ )
    {
        L_tmp = L_mult0( alpha_fx, icbweM2Ref_fx );                                                        /* Q29 */
@@ -911,10 +914,17 @@ void stereo_icBWE_dec_fx(
        tmp = shl( round_fx( L_tmp ), 1 );                                                                 /* Q14 */
        synthRef_fx[i] = Mpy_32_16_1( synthRef_fx[i], tmp );                                               /* Qsyn - 1 */
        move32();
#ifdef FIX_1439_SPEEDUP_stereo_icBWE_dec_fx
        if ( LE_16( alpha_fx, winSlope_fx_ ) )
        {
            alpha_fx = add( alpha_fx, winSlope_fx ); /* Q15 */
        }
#else
        IF( LE_16( alpha_fx, sub( 32767 /* 1.0 in Q15*/, winSlope_fx ) ) )
        {
            alpha_fx = add( alpha_fx, winSlope_fx ); /* Q15 */
        }
#endif
    }

    FOR( ; i < NS2SA_FX2( st->output_Fs, FRAME_SIZE_NS ); i++ )