Loading lib_com/enr_1_az.c +9 −2 Original line number Diff line number Diff line Loading @@ -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 */ Loading @@ -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++; Loading @@ -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 ); Loading @@ -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 ); Loading @@ -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 */ Loading @@ -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 lib_com/env_adj.c +2 −2 Original line number Diff line number Diff line Loading @@ -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)); */ Loading @@ -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); */ Loading lib_com/env_stab.c +4 −0 Original line number Diff line number Diff line Loading @@ -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 ) Loading Loading @@ -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 ); Loading Loading @@ -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 } Loading lib_com/env_stab_trans.c +2 −1 Original line number Diff line number Diff line Loading @@ -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 */ { Loading Loading @@ -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(); Loading lib_com/fft_fx.c +2110 −318 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
lib_com/enr_1_az.c +9 −2 Original line number Diff line number Diff line Loading @@ -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 */ Loading @@ -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++; Loading @@ -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 ); Loading @@ -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 ); Loading @@ -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 */ Loading @@ -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
lib_com/env_adj.c +2 −2 Original line number Diff line number Diff line Loading @@ -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)); */ Loading @@ -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); */ Loading
lib_com/env_stab.c +4 −0 Original line number Diff line number Diff line Loading @@ -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 ) Loading Loading @@ -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 ); Loading Loading @@ -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 } Loading
lib_com/env_stab_trans.c +2 −1 Original line number Diff line number Diff line Loading @@ -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 */ { Loading Loading @@ -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(); Loading
lib_com/fft_fx.c +2110 −318 File changed.Preview size limit exceeded, changes collapsed. Show changes