Loading lib_com/lsf_tools_fx.c +12 −0 Original line number Diff line number Diff line Loading @@ -838,12 +838,20 @@ Word16 E_LPC_f_lsp_pol_get(const Word16 lsp[], Word32 f[], const Word16 n, cons Overflow = 0; move16(); plsp = lsp; #ifdef BASOP_NOGLOB f[0] = L_shl_o(1, sub(31, Q_out), &Overflow); #else f[0] = L_shl(1, sub(31, Q_out)); #endif move32(); /*b = -2.0f * *plsp;*/ b = *plsp; move16(); #ifdef BASOP_NOGLOB m2 = shl_o(-2, sub(15, Q_out), &Overflow); #else m2 = shl(-2, sub(15, Q_out)); #endif f[1] = L_mult(b, m2); move32(); Loading Loading @@ -874,7 +882,11 @@ Word16 E_LPC_f_lsp_pol_get(const Word16 lsp[], Word32 f[], const Word16 n, cons #endif } move32(); #ifdef BASOP_NOGLOB f[1] = L_add_o(f[1], b32, &Overflow); #else f[1] = L_add(f[1], b32); #endif } Loading lib_com/swb_bwe_com_fx.c +18 −0 Original line number Diff line number Diff line Loading @@ -546,16 +546,30 @@ Word32 calc_tilt_bwe_fx( /* o : Tilt in Q24 */ /* Divide Frame Length by 32 */ FOR (j = shr(N, 5); j > 0; j--) { #ifdef BASOP_NOGLOB tmp1 = mult_ro(*ptr++, 8192, &Overflow); /* Divide by 4 */ #else tmp1 = mult_r(*ptr++, 8192); /* Divide by 4 */ #endif L_ener = L_mult0(tmp1, tmp1); /* With the shift by 4 and the L_mult0, no overflow possible for 32 samples */ FOR (i = 1; i < 32; i++) { #ifdef BASOP_NOGLOB tmp1 = mult_ro(*ptr++, 8192, &Overflow); /* Divide by 4 */ L_ener = L_mac0_o(L_ener, tmp1, tmp1, &Overflow); #else tmp1 = mult_r(*ptr++, 8192); /* Divide by 4 */ L_ener = L_mac0(L_ener, tmp1, tmp1); #endif } #ifdef BASOP_NOGLOB L_ener = L_shr_o(L_ener, exp2, &Overflow); L_temp = L_add_o(L_ener_tot, L_ener, &Overflow); #else L_ener = L_shr(L_ener, exp2); L_temp = L_add(L_ener_tot, L_ener); #endif IF (Overflow != 0) { L_ener_tot = L_shr(L_ener_tot, 1); Loading @@ -565,7 +579,11 @@ Word32 calc_tilt_bwe_fx( /* o : Tilt in Q24 */ Overflow = 0; move16(); } #ifdef BASOP_NOGLOB L_ener_tot = L_add_o(L_ener_tot, L_ener, &Overflow); #else L_ener_tot = L_add(L_ener_tot, L_ener); #endif } L_ener = L_deposit_l(abs_s(sub(sp[1], sp[0]))); FOR (i = 2; i < N; i++) Loading Loading
lib_com/lsf_tools_fx.c +12 −0 Original line number Diff line number Diff line Loading @@ -838,12 +838,20 @@ Word16 E_LPC_f_lsp_pol_get(const Word16 lsp[], Word32 f[], const Word16 n, cons Overflow = 0; move16(); plsp = lsp; #ifdef BASOP_NOGLOB f[0] = L_shl_o(1, sub(31, Q_out), &Overflow); #else f[0] = L_shl(1, sub(31, Q_out)); #endif move32(); /*b = -2.0f * *plsp;*/ b = *plsp; move16(); #ifdef BASOP_NOGLOB m2 = shl_o(-2, sub(15, Q_out), &Overflow); #else m2 = shl(-2, sub(15, Q_out)); #endif f[1] = L_mult(b, m2); move32(); Loading Loading @@ -874,7 +882,11 @@ Word16 E_LPC_f_lsp_pol_get(const Word16 lsp[], Word32 f[], const Word16 n, cons #endif } move32(); #ifdef BASOP_NOGLOB f[1] = L_add_o(f[1], b32, &Overflow); #else f[1] = L_add(f[1], b32); #endif } Loading
lib_com/swb_bwe_com_fx.c +18 −0 Original line number Diff line number Diff line Loading @@ -546,16 +546,30 @@ Word32 calc_tilt_bwe_fx( /* o : Tilt in Q24 */ /* Divide Frame Length by 32 */ FOR (j = shr(N, 5); j > 0; j--) { #ifdef BASOP_NOGLOB tmp1 = mult_ro(*ptr++, 8192, &Overflow); /* Divide by 4 */ #else tmp1 = mult_r(*ptr++, 8192); /* Divide by 4 */ #endif L_ener = L_mult0(tmp1, tmp1); /* With the shift by 4 and the L_mult0, no overflow possible for 32 samples */ FOR (i = 1; i < 32; i++) { #ifdef BASOP_NOGLOB tmp1 = mult_ro(*ptr++, 8192, &Overflow); /* Divide by 4 */ L_ener = L_mac0_o(L_ener, tmp1, tmp1, &Overflow); #else tmp1 = mult_r(*ptr++, 8192); /* Divide by 4 */ L_ener = L_mac0(L_ener, tmp1, tmp1); #endif } #ifdef BASOP_NOGLOB L_ener = L_shr_o(L_ener, exp2, &Overflow); L_temp = L_add_o(L_ener_tot, L_ener, &Overflow); #else L_ener = L_shr(L_ener, exp2); L_temp = L_add(L_ener_tot, L_ener); #endif IF (Overflow != 0) { L_ener_tot = L_shr(L_ener_tot, 1); Loading @@ -565,7 +579,11 @@ Word32 calc_tilt_bwe_fx( /* o : Tilt in Q24 */ Overflow = 0; move16(); } #ifdef BASOP_NOGLOB L_ener_tot = L_add_o(L_ener_tot, L_ener, &Overflow); #else L_ener_tot = L_add(L_ener_tot, L_ener); #endif } L_ener = L_deposit_l(abs_s(sub(sp[1], sp[0]))); FOR (i = 2; i < N; i++) Loading