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

BASOP and instrumentation for some of the lib_com files

parent a50af5b8
Loading
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -84,6 +84,7 @@ Word16 Enr_1_Az_fx( /* o : impulse response energy Q3
    Word32 L_tmp, L_tmp2;
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
    Flag Overflow = 0;
    move32();
#endif
    /* Find the impulse response */

@@ -99,12 +100,14 @@ Word16 Enr_1_Az_fx( /* o : impulse response energy Q3
    /* h1_in Q11, h1_out Q10 */
    L_tmp = L_mult( a0, 1 << 13 ); /* Q25 = L_mult(Q11,Q13) */
    *y = round_fx( L_tmp );        /* Q25 to Q9 */
    move16();
    L_tmp2 = L_mult( *y, *y ); /* Q19 = L_mult(Q9,Q9) */
    y++;

    L_tmp = L_msu( 0, Aq[1], y[-1] ); /* Q23 = L_mult(Q14,Q9) */
    L_tmp = L_shl( L_tmp, q );
    *y = round_fx( L_tmp ); /* Q25 to Q9 */
    move16();
    L_tmp2 = L_mac( L_tmp2, *y, *y ); /* Q19 = L_mult(Q9,Q9) */
    y++;

@@ -124,6 +127,7 @@ Word16 Enr_1_Az_fx( /* o : impulse response energy Q3
#ifdef BASOP_NOGLOB
        L_tmp = L_shl_o( L_tmp, q, &Overflow );
        *y = round_fx_o( L_tmp, &Overflow );
        move16();
        L_tmp2 = L_mac_o( L_tmp2, *y, *y, &Overflow );
#else
        L_tmp = L_shl( L_tmp, q );
@@ -148,6 +152,7 @@ Word16 Enr_1_Az_fx( /* o : impulse response energy Q3
#ifdef BASOP_NOGLOB
        L_tmp = L_shl_o( L_tmp, q, &Overflow );
        *y = round_fx_o( L_tmp, &Overflow );
        move16();
        L_tmp2 = L_mac_o( L_tmp2, *y, *y, &Overflow );
#else
        L_tmp = L_shl( L_tmp, q );
@@ -158,6 +163,7 @@ Word16 Enr_1_Az_fx( /* o : impulse response energy Q3
    }
#ifdef BASOP_NOGLOB
    *Overflow_out = Overflow;
    move32();
    return round_fx_o( L_tmp2, Overflow_out ); /* Q19 to Q3 */
#else
    return round_fx( L_tmp2 ); /* Q19 to Q3 */
@@ -170,6 +176,7 @@ Word16 Enr_1_Az_fx( /* o : impulse response energy Q3
)
{
    Flag Overflow = 0;
    move32();
    return Enr_1_Az_fx_o( Aq, len, &Overflow );
}
#endif
+2 −2
Original line number Diff line number Diff line
@@ -260,6 +260,7 @@ void env_adj_fx(
            ELSE
            {
                adj[i] = MAX_16; /* Q15, 1.0f (saturated) */
                move16();
                IF( EQ_16( att_state, 1 ) ) /* End of attenuation region found */
                {
                    /* tmp = min(1, max(0, len-ENV_ADJ_START)*(1.0f/ENV_ADJ_INCL)); */
@@ -269,7 +270,6 @@ void env_adj_fx(
                    tmp = round_fx( L_shl( L_mult0( s_max( 0, sub( len, ENV_ADJ_START_FX ) ), ENV_ADJ_INV_INCL_FX ), 16 ) ); /* Q15 (15+16-16) */
#endif
                    tmp_diff = sub( MAX_16, tmp ); /* Q15 */
                    move16();
                    FOR( j = start; j < i; j++ )
                    {
                        /* adj[j] = max(tmp + (1-tmp)*adj[j],env_stab); */
+4 −0
Original line number Diff line number Diff line
@@ -201,6 +201,7 @@ Word16 env_stability_fx( /* in Q15 */
    Word16 inv_nb_sfm;
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
    Flag Overflow = 0;
    move32();
#endif

    IF( core_switching_flag )
@@ -377,6 +378,7 @@ Word16 env_stab_smo_fx( /* Q0 */
    Word16 tmp, sum, exp;
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
    Flag Overflow = 0;
    move32();
#endif
    /* get previous state */
    prev_state = maximum_fx( env_stab_state_p, NUM_ENV_STAB_PLC_STATES, &maxval );
@@ -415,8 +417,10 @@ Word16 env_stab_smo_fx( /* Q0 */
    {
#ifdef BASOP_NOGLOB
        env_stab_state_p[i] = round_fx_o( L_shl_o( L_mult_o( env_stab_state_p[i], tmp, &Overflow ), add( exp, 1 ), &Overflow ), &Overflow ); /* Q15 */
        move16();
#else
        env_stab_state_p[i] = round_fx( L_shl( L_mult( env_stab_state_p[i], tmp ), add( exp, 1 ) ) ); /* Q15 */
        move16();
#endif
    }

+2 −1
Original line number Diff line number Diff line
@@ -231,6 +231,7 @@ void env_stab_transient_detect_fx(
            FOR( blk = 0; blk < NUM_SUBFRAMES; blk++ )
            {
                L_E_sub[blk] = L_deposit_l( 0 ); /* Q9 */
                move32();

                FOR( i = 0; i < BANDS_PER_SUBFRAMES; i++ ) /* 9 times -> < 2^4 */
                {
@@ -291,7 +292,7 @@ void env_stab_transient_detect_fx(
            *no_att_hangover = ATT_LIM_HANGOVER;
            move16();
        }
        ELSE if ( *no_att_hangover > 0 )
        ELSE IF( *no_att_hangover > 0 )
        {
            *no_att_hangover = sub( *no_att_hangover, 1 );
            move16();
+2110 −318

File changed.

Preview size limit exceeded, changes collapsed.

Loading