Commit e04810d1 authored by multrus's avatar multrus
Browse files

add compilation switch, part 2

parent 51b2b453
Loading
Loading
Loading
Loading
Loading
+46 −0
Original line number Diff line number Diff line
@@ -754,6 +754,8 @@ static void tcx_ltp_synth_filter32(
            if ( fade < 0 )
                step = negate( step );
        }

#ifdef OPT_TCXLTP_FILTER_LOOP
        IF( fade != 0 )
        {
            IF( zir != NULL )
@@ -900,6 +902,50 @@ static void tcx_ltp_synth_filter32(
                }
            }
        }
#else
        FOR( j = 0; j < length; j++ )
        {
            s = L_deposit_l( 0 );
            s2 = L_deposit_l( 0 );
            k = 0;
            move16();
            FOR( i = 0; i < L; i++ )
            {
                s = Madd_32_16_r( Madd_32_16_r( s, x0[i], w0[k] ), x1[-i], w1[k] );   /* Qx */
                s2 = Madd_32_16_r( Madd_32_16_r( s2, y0[i], v0[k] ), y1[-i], v1[k] ); /* Qx */
                k = k + pitch_res;
            }

            /* s2 *= ALPHA;
               normal:      synth_ltp[j] = synth[j] - gain * s2 + gain * s;
               zir:         synth_ltp[j] = synth[j] - gain * s2 + gain * s - zir[j];
               fade-in/out: synth_ltp[j] = synth[j] - alpha * gain * s2 + alpha * gain * s; */
            L_tmp = L_sub_sat( s, Mpy_32_16_r( s2, ALPHA ) ); /* Qx */
            L_tmp2 = Mpy_32_16_r( L_tmp, gain );              /* Qx */
            IF( fade != 0 )
            L_tmp2 = Mpy_32_16_r( L_tmp2, alpha );  /* Qx */
            L_tmp2 = L_add_sat( synth[j], L_tmp2 ); /* Qx */
            if ( zir != NULL )
            {
                L_tmp2 = L_sub_sat( L_tmp2, zir[j] ); /* Qx */
            }

            synth_ltp[j] = L_tmp2; /* Qx */
            move16();

            BASOP_SATURATE_WARNING_OFF_EVS;
            if ( fade != 0 )
            {
                alpha = add_sat( alpha, step );
            }
            BASOP_SATURATE_WARNING_ON_EVS;

            x0++;
            x1++;
            y0++;
            y1++;
        }
#endif
    }
    ELSE
    {