Loading lib_com/fft_fx.c +54 −17 Original line number Diff line number Diff line Loading @@ -1245,35 +1245,41 @@ static void fft5_32_16fx( move16(); T3 = zRe[i4]; move16(); T4 = add(T2, T3); #ifdef BASOP_NOGLOB T4 = add_sat(T2, T3); T5 = zRe[i2]; move16(); T6 = zRe[i3]; move16(); #ifdef BASOP_NOGLOB T7 = add_o(T5,T6, &Overflow); T8 = add_o(T4,T7, &Overflow); Tt = sub_o(T5,T6, &Overflow); #else T4 = add(T2, T3); T5 = zRe[i2]; move16(); T6 = zRe[i3]; move16(); T7 = add(T5,T6); T8 = add(T4,T7); Tt = sub(T5,T6); #endif #ifdef BASOP_NOGLOB /* T9 = KP559016994 * (T4 - T7); */ L_tmp = Mult_32_16(KP559016994_16FX,sub(T4,T7)); T9 = round_fx(L_tmp); Ts = sub(T2,T3); L_tmp = Mult_32_16(KP559016994_16FX, sub_sat(T4, T7)); T9 = round_fx_sat(L_tmp); Ts = sub_sat(T2, T3); T2 = zIm[i1]; move16(); T3 = zIm[i4]; move16(); T4 = add(T2,T3); T4 = add_sat(T2, T3); T5 = zIm[i2]; move16(); T6 = zIm[i3]; move16(); #ifdef BASOP_NOGLOB T7 = add_sat(T5,T6); Te = sub_sat(T2,T3); Tp = add_sat(T4,T7); Loading @@ -1281,6 +1287,20 @@ static void fft5_32_16fx( L_tmp = Mult_32_16(KP559016994_16FX,sub_sat(T4,T7)); Tn = round_fx_sat(L_tmp); #else /* T9 = KP559016994 * (T4 - T7); */ L_tmp = Mult_32_16(KP559016994_16FX, sub(T4, T7)); T9 = round_fx(L_tmp); Ts = sub(T2, T3); T2 = zIm[i1]; move16(); T3 = zIm[i4]; move16(); T4 = add(T2, T3); T5 = zIm[i2]; move16(); T6 = zIm[i3]; move16(); T7 = add(T5,T6); Te = sub(T2,T3); Tp = add(T4,T7); Loading @@ -1302,22 +1322,23 @@ static void fft5_32_16fx( move32(); #endif #ifdef BASOP_NOGLOB /*T2 = KP951056516*Te + KP587785252*Th; */ L_tmp = Mult_32_16(KP951056516_16FX, Te); L_tmp = Madd_32_16(L_tmp, KP587785252_16FX, Th); T2 = round_fx(L_tmp); T2 = round_fx_sat(L_tmp); /*T3 = KP951056516*Th - KP587785252*Te; */ L_tmp = Mult_32_16(KP951056516_16FX, Th); L_tmp = Msub_32_16(L_tmp, KP587785252_16FX, Te); T3 = round_fx(L_tmp); T3 = round_fx_sat(L_tmp); T6 = sub(T1,shr(T8,2)); T4 = add(T9,T6); T5 = sub(T6,T9); #ifdef BASOP_NOGLOB T6 = sub_sat(T1, shr(T8, 2)); T4 = add_sat(T9, T6); T5 = sub_sat(T6, T9); zRe[i3] = sub_o(T4,T2, &Overflow); move32(); zRe[i1] = add_o(T5,T3, &Overflow); Loading @@ -1327,6 +1348,22 @@ static void fft5_32_16fx( zRe[i4] = sub_o(T5,T3, &Overflow); move32(); #else /*T2 = KP951056516*Te + KP587785252*Th; */ L_tmp = Mult_32_16(KP951056516_16FX, Te); L_tmp = Madd_32_16(L_tmp, KP587785252_16FX, Th); T2 = round_fx(L_tmp); /*T3 = KP951056516*Th - KP587785252*Te; */ L_tmp = Mult_32_16(KP951056516_16FX, Th); L_tmp = Msub_32_16(L_tmp, KP587785252_16FX, Te); T3 = round_fx(L_tmp); T6 = sub(T1, shr(T8, 2)); T4 = add(T9, T6); T5 = sub(T6, T9); zRe[i3] = sub(T4,T2); move32(); zRe[i1] = add(T5,T3); Loading lib_dec/hf_synth_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -1419,7 +1419,11 @@ static void envelope_fx( pt3 = exp_tab_q_fx+33; FOR ( i = 0; i <= M; i++ ) { #ifdef BASOP_NOGLOB L_tmp = L_mac_sat(L_tmp, *pt2++, *pt3--); #else L_tmp = L_mac(L_tmp, *pt2++, *pt3--); #endif } q3 = norm_l(L_tmp); shift = sub(q2, q3); Loading Loading
lib_com/fft_fx.c +54 −17 Original line number Diff line number Diff line Loading @@ -1245,35 +1245,41 @@ static void fft5_32_16fx( move16(); T3 = zRe[i4]; move16(); T4 = add(T2, T3); #ifdef BASOP_NOGLOB T4 = add_sat(T2, T3); T5 = zRe[i2]; move16(); T6 = zRe[i3]; move16(); #ifdef BASOP_NOGLOB T7 = add_o(T5,T6, &Overflow); T8 = add_o(T4,T7, &Overflow); Tt = sub_o(T5,T6, &Overflow); #else T4 = add(T2, T3); T5 = zRe[i2]; move16(); T6 = zRe[i3]; move16(); T7 = add(T5,T6); T8 = add(T4,T7); Tt = sub(T5,T6); #endif #ifdef BASOP_NOGLOB /* T9 = KP559016994 * (T4 - T7); */ L_tmp = Mult_32_16(KP559016994_16FX,sub(T4,T7)); T9 = round_fx(L_tmp); Ts = sub(T2,T3); L_tmp = Mult_32_16(KP559016994_16FX, sub_sat(T4, T7)); T9 = round_fx_sat(L_tmp); Ts = sub_sat(T2, T3); T2 = zIm[i1]; move16(); T3 = zIm[i4]; move16(); T4 = add(T2,T3); T4 = add_sat(T2, T3); T5 = zIm[i2]; move16(); T6 = zIm[i3]; move16(); #ifdef BASOP_NOGLOB T7 = add_sat(T5,T6); Te = sub_sat(T2,T3); Tp = add_sat(T4,T7); Loading @@ -1281,6 +1287,20 @@ static void fft5_32_16fx( L_tmp = Mult_32_16(KP559016994_16FX,sub_sat(T4,T7)); Tn = round_fx_sat(L_tmp); #else /* T9 = KP559016994 * (T4 - T7); */ L_tmp = Mult_32_16(KP559016994_16FX, sub(T4, T7)); T9 = round_fx(L_tmp); Ts = sub(T2, T3); T2 = zIm[i1]; move16(); T3 = zIm[i4]; move16(); T4 = add(T2, T3); T5 = zIm[i2]; move16(); T6 = zIm[i3]; move16(); T7 = add(T5,T6); Te = sub(T2,T3); Tp = add(T4,T7); Loading @@ -1302,22 +1322,23 @@ static void fft5_32_16fx( move32(); #endif #ifdef BASOP_NOGLOB /*T2 = KP951056516*Te + KP587785252*Th; */ L_tmp = Mult_32_16(KP951056516_16FX, Te); L_tmp = Madd_32_16(L_tmp, KP587785252_16FX, Th); T2 = round_fx(L_tmp); T2 = round_fx_sat(L_tmp); /*T3 = KP951056516*Th - KP587785252*Te; */ L_tmp = Mult_32_16(KP951056516_16FX, Th); L_tmp = Msub_32_16(L_tmp, KP587785252_16FX, Te); T3 = round_fx(L_tmp); T3 = round_fx_sat(L_tmp); T6 = sub(T1,shr(T8,2)); T4 = add(T9,T6); T5 = sub(T6,T9); #ifdef BASOP_NOGLOB T6 = sub_sat(T1, shr(T8, 2)); T4 = add_sat(T9, T6); T5 = sub_sat(T6, T9); zRe[i3] = sub_o(T4,T2, &Overflow); move32(); zRe[i1] = add_o(T5,T3, &Overflow); Loading @@ -1327,6 +1348,22 @@ static void fft5_32_16fx( zRe[i4] = sub_o(T5,T3, &Overflow); move32(); #else /*T2 = KP951056516*Te + KP587785252*Th; */ L_tmp = Mult_32_16(KP951056516_16FX, Te); L_tmp = Madd_32_16(L_tmp, KP587785252_16FX, Th); T2 = round_fx(L_tmp); /*T3 = KP951056516*Th - KP587785252*Te; */ L_tmp = Mult_32_16(KP951056516_16FX, Th); L_tmp = Msub_32_16(L_tmp, KP587785252_16FX, Te); T3 = round_fx(L_tmp); T6 = sub(T1, shr(T8, 2)); T4 = add(T9, T6); T5 = sub(T6, T9); zRe[i3] = sub(T4,T2); move32(); zRe[i1] = add(T5,T3); Loading
lib_dec/hf_synth_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -1419,7 +1419,11 @@ static void envelope_fx( pt3 = exp_tab_q_fx+33; FOR ( i = 0; i <= M; i++ ) { #ifdef BASOP_NOGLOB L_tmp = L_mac_sat(L_tmp, *pt2++, *pt3--); #else L_tmp = L_mac(L_tmp, *pt2++, *pt3--); #endif } q3 = norm_l(L_tmp); shift = sub(q2, q3); Loading