Loading lib_com/fft_fx.c +6 −3 Original line number Diff line number Diff line Loading @@ -1105,15 +1105,18 @@ static void fft5_shift4_16fx( Tp = add(T4,T7); Th = sub(T5,T6); #endif /* Tn = KP559016994 * (T4 - T7); */ L_tmp = Mult_32_16(KP559016994_16FX,sub(T4,T7)); Tn = round_fx(L_tmp); #ifdef BASOP_NOGLOB /* Tn = KP559016994 * (T4 - T7); */ L_tmp = Mult_32_16(KP559016994_16FX, sub_sat(T4, T7)); Tn = round_fx_sat(L_tmp); zRe[i0] = add_sat(T1, T8); move16(); zIm[i0] = add_sat(To, Tp); #else /* Tn = KP559016994 * (T4 - T7); */ L_tmp = Mult_32_16(KP559016994_16FX, sub(T4, T7)); Tn = round_fx(L_tmp); zRe[i0] = add(T1,T8); move16(); zIm[i0] = add(To, Tp); Loading lib_dec/hf_synth_fx.c +16 −2 Original line number Diff line number Diff line Loading @@ -1099,8 +1099,11 @@ static void hf_synthesis_amr_wb_fx( scale = div_s(shl(1, 14), ener); /*Q(29-q1) */ L_tmp = L_mult(tmp, scale); /*30-q1+q2 */ q2 = sub(q1, q2); /*30-q2 */ #ifdef BASOP_NOGLOB scale = round_fx_sat(Isqrt(L_shl_sat(L_tmp, sub(q2, 24)))); /*Q12 */ #else scale = round_fx(Isqrt(L_shl(L_tmp, sub(q2, 24)))); /*Q12 */ #endif pt1 = exc16k; pt2 = exc2385; FOR ( i = 0; i < L_SUBFR16k; i++ ) Loading Loading @@ -1130,8 +1133,11 @@ static void hf_synthesis_amr_wb_fx( scale = div_s(shl(1, 14), ener); /*Q(29-q1) */ L_tmp = L_mult(tmp, scale); /*30-q1+q2 */ q2 = sub(q1, q2); /*30-q2 */ #ifdef BASOP_NOGLOB scale = round_fx_sat(Isqrt(L_shl_sat(L_tmp, sub(q2, 24)))); /*Q12 */ #else scale = round_fx(Isqrt(L_shl(L_tmp, sub(q2, 24)))); /*Q12 */ #endif flag = negate(s_and(til,-0x8000)); if (GT_16(scale, 4096)) { Loading Loading @@ -1552,7 +1558,11 @@ static void envelope_fx( L_tmp = L_mult(tilt, sub(26214, shr(voice_factor, 1))); /*Q28*/ L_tmp = L_max(L_tmp, 268435456); L_tmp = Mult_32_16(L_tmp, qq); /*Q23*/ #ifdef BASOP_NOGLOB qq = round_fx_sat(L_shl_sat(L_tmp, 3)); /*Q10*/ #else qq = round_fx(L_shl(L_tmp, 3)); /*Q10*/ #endif rr = s_min(rr, qq); rr= s_max(rr, pp); } Loading @@ -1567,7 +1577,11 @@ static void envelope_fx( alpha = round_fx(L_shl(L_tmp, 9)); /*Q14*/ L_tmp = L_mult(alpha, (hAmrwb_IO->prev_r_fx)); /*Q25*/ L_tmp = L_mac(L_tmp, tmp, rr); /*Q25*/ #ifdef BASOP_NOGLOB rr = round_fx_sat(L_shl_sat(L_tmp, 1)); /*Q10*/ #else rr = round_fx(L_shl(L_tmp, 1)); /*Q10*/ #endif } hAmrwb_IO->prev_r_fx = rr; Loading Loading
lib_com/fft_fx.c +6 −3 Original line number Diff line number Diff line Loading @@ -1105,15 +1105,18 @@ static void fft5_shift4_16fx( Tp = add(T4,T7); Th = sub(T5,T6); #endif /* Tn = KP559016994 * (T4 - T7); */ L_tmp = Mult_32_16(KP559016994_16FX,sub(T4,T7)); Tn = round_fx(L_tmp); #ifdef BASOP_NOGLOB /* Tn = KP559016994 * (T4 - T7); */ L_tmp = Mult_32_16(KP559016994_16FX, sub_sat(T4, T7)); Tn = round_fx_sat(L_tmp); zRe[i0] = add_sat(T1, T8); move16(); zIm[i0] = add_sat(To, Tp); #else /* Tn = KP559016994 * (T4 - T7); */ L_tmp = Mult_32_16(KP559016994_16FX, sub(T4, T7)); Tn = round_fx(L_tmp); zRe[i0] = add(T1,T8); move16(); zIm[i0] = add(To, Tp); Loading
lib_dec/hf_synth_fx.c +16 −2 Original line number Diff line number Diff line Loading @@ -1099,8 +1099,11 @@ static void hf_synthesis_amr_wb_fx( scale = div_s(shl(1, 14), ener); /*Q(29-q1) */ L_tmp = L_mult(tmp, scale); /*30-q1+q2 */ q2 = sub(q1, q2); /*30-q2 */ #ifdef BASOP_NOGLOB scale = round_fx_sat(Isqrt(L_shl_sat(L_tmp, sub(q2, 24)))); /*Q12 */ #else scale = round_fx(Isqrt(L_shl(L_tmp, sub(q2, 24)))); /*Q12 */ #endif pt1 = exc16k; pt2 = exc2385; FOR ( i = 0; i < L_SUBFR16k; i++ ) Loading Loading @@ -1130,8 +1133,11 @@ static void hf_synthesis_amr_wb_fx( scale = div_s(shl(1, 14), ener); /*Q(29-q1) */ L_tmp = L_mult(tmp, scale); /*30-q1+q2 */ q2 = sub(q1, q2); /*30-q2 */ #ifdef BASOP_NOGLOB scale = round_fx_sat(Isqrt(L_shl_sat(L_tmp, sub(q2, 24)))); /*Q12 */ #else scale = round_fx(Isqrt(L_shl(L_tmp, sub(q2, 24)))); /*Q12 */ #endif flag = negate(s_and(til,-0x8000)); if (GT_16(scale, 4096)) { Loading Loading @@ -1552,7 +1558,11 @@ static void envelope_fx( L_tmp = L_mult(tilt, sub(26214, shr(voice_factor, 1))); /*Q28*/ L_tmp = L_max(L_tmp, 268435456); L_tmp = Mult_32_16(L_tmp, qq); /*Q23*/ #ifdef BASOP_NOGLOB qq = round_fx_sat(L_shl_sat(L_tmp, 3)); /*Q10*/ #else qq = round_fx(L_shl(L_tmp, 3)); /*Q10*/ #endif rr = s_min(rr, qq); rr= s_max(rr, pp); } Loading @@ -1567,7 +1577,11 @@ static void envelope_fx( alpha = round_fx(L_shl(L_tmp, 9)); /*Q14*/ L_tmp = L_mult(alpha, (hAmrwb_IO->prev_r_fx)); /*Q25*/ L_tmp = L_mac(L_tmp, tmp, rr); /*Q25*/ #ifdef BASOP_NOGLOB rr = round_fx_sat(L_shl_sat(L_tmp, 1)); /*Q10*/ #else rr = round_fx(L_shl(L_tmp, 1)); /*Q10*/ #endif } hAmrwb_IO->prev_r_fx = rr; Loading