Commit a3f8d010 authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

Merge branch 'bug_fix_MR_455_SynthesisSTFT' into 'main'

Bug fix for changes introduced through MR455 for SynthesisSTFT

See merge request !460
parents 9021c3b6 eac7a44d
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -2510,7 +2510,7 @@ void SynthesisSTFT(
    {
        FOR( i = 0; i < len; i++ )
        {
            olapBuffer[i] = extract_l( L_shr_r( fftBuffer[i], 31 - fftBufferExp ) );
            olapBuffer[i] = round_fx_sat( L_shl_sat( fftBuffer[i], fftBufferExp - 15 ) );
            move16();
        }
    }
@@ -2518,11 +2518,9 @@ void SynthesisSTFT(
    {
        FOR( i = 0; i < len4; i++ )
        {
            // olapBuffer[i + 1 * len4] = add_sat( olapBuffer[i + 1 * len4], mult_r( round_fx( L_shl( fftBuffer[i + 1 * len4], fftBufferExp - 15 ) ), olapWin[i].v.im ) );
            olapBuffer[i + 1 * len4] = add_sat( olapBuffer[i + 1 * len4], mult_r( extract_l( L_shr_r( fftBuffer[i + 1 * len4], 31 - fftBufferExp ) ), olapWin[i].v.im ) );
            olapBuffer[i + 1 * len4] = add_sat( olapBuffer[i + 1 * len4], mult_r( round_fx_sat( L_shl_sat( fftBuffer[i + 1 * len4], fftBufferExp - 15 ) ), olapWin[i].v.im ) );
            move16();
            // olapBuffer[i + 2 * len4] = add_sat( olapBuffer[i + 2 * len4], mult_r( round_fx( L_shl( fftBuffer[i + 2 * len4], fftBufferExp - 15 ) ), olapWin[len4 - 1 - i].v.re ) );
            olapBuffer[i + 2 * len4] = add_sat( olapBuffer[i + 2 * len4], mult_r( extract_l( L_shr_r( fftBuffer[i + 2 * len4], 31 - fftBufferExp ) ), olapWin[len4 - 1 - i].v.re ) );
            olapBuffer[i + 2 * len4] = add_sat( olapBuffer[i + 2 * len4], mult_r( round_fx_sat( L_shl_sat( fftBuffer[i + 2 * len4], fftBufferExp - 15 ) ), olapWin[len4 - 1 - i].v.re ) );
            move16();
        }
        FOR( i = len3; i < len; i++ )
@@ -2533,9 +2531,9 @@ void SynthesisSTFT(

    FOR( i = 0; i < len4; i++ )
    {
        olapBuffer[i + 5 * len4] = mult_r( extract_l( L_shr_r( fftBuffer[i + 5 * len4], 31 - fftBufferExp ) ), olapWin[i].v.re );
        olapBuffer[i + 5 * len4] = mult_r( round_fx_sat( L_shl_sat( fftBuffer[i + 5 * len4], fftBufferExp - 15 ) ), olapWin[i].v.re );
        move16();
        olapBuffer[i + 6 * len4] = mult_r( extract_l( L_shr_r( fftBuffer[i + 6 * len4], 31 - fftBufferExp ) ), olapWin[len4 - 1 - i].v.im );
        olapBuffer[i + 6 * len4] = mult_r( round_fx_sat( L_shl_sat( fftBuffer[i + 6 * len4], fftBufferExp - 15 ) ), olapWin[len4 - 1 - i].v.im );
        move16();
    }