Loading basic_math/oper_32b.c +6 −2 Original line number Diff line number Diff line Loading @@ -134,6 +134,7 @@ Word32 Mpy_32 (Word16 hi1, Word16 lo1, Word16 hi2, Word16 lo2) L_32 = L_mac (L_32, mult (hi1, lo2), 1); L_32 = L_mac (L_32, mult (lo1, hi2), 1); #endif return (L_32); } Loading Loading @@ -163,6 +164,7 @@ Word32 Mac_32 (Word32 L_num, Word16 hi1, Word16 lo1, Word16 hi2, Word16 lo2) Word32 L_32; #ifdef BASOP_NOGLOB Flag Overflow = 0; L_32 = L_mac_o (L_num, hi1, hi2, &Overflow); L_32 = L_mac_o(L_32, mult (hi1, lo2), 1, &Overflow); L_32 = L_mac_o(L_32, mult (lo1, hi2), 1, &Overflow); Loading @@ -171,6 +173,7 @@ Word32 Mac_32 (Word32 L_num, Word16 hi1, Word16 lo1, Word16 hi2, Word16 lo2) L_32 = L_mac (L_32, mult (hi1, lo2), 1); L_32 = L_mac (L_32, mult (lo1, hi2), 1); #endif return (L_32); } Loading Loading @@ -199,6 +202,7 @@ Word32 Sqr_32 (Word16 hi, Word16 lo) Word32 L_32; #ifdef BASOP_NOGLOB Flag Overflow = 0; L_32 = L_mult_o (hi, hi, &Overflow); L_32 = L_mac_o (L_32, mult (hi, lo), 2, &Overflow); #else Loading basic_op/basop32.c +4 −2 Original line number Diff line number Diff line Loading @@ -1896,6 +1896,7 @@ Word16 shr_r (Word16 var1, Word16 var2) { #else var_out = shr (var1, var2); #endif #if (WMOPS) multiCounter[currCounter].shr--; #endif Loading @@ -1912,6 +1913,7 @@ Word16 shr_r (Word16 var1, Word16 var2) { #endif return (var_out); } #ifdef BASOP_NOGLOB Word16 shr_r(Word16 var1, Word16 var2) { return shr_ro(var1, var2, NULL); Loading lib_com/basop_util.c +4 −0 Original line number Diff line number Diff line Loading @@ -228,6 +228,8 @@ void BASOP_Util_Divide_MantExp (Word16 a_m, /*!< Mantissa of dividend Flag Overflow = 0; #endif assert(b_m != 0); /* normalize b */ Loading Loading @@ -372,6 +374,7 @@ static Word32 ISqrt32_common(Word32 m, #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif assert(m >= 0x40000000); #ifdef BASOP_NOGLOB Loading @@ -379,6 +382,7 @@ static Word32 ISqrt32_common(Word32 m, #else m16 = round_fx(m); #endif /* get table index (upper 6 bits minus 32) */ /* index = (m16 >> 25) - 32; */ index = mac_r(-32768 - (32 << 16), m16, 1 << 6); Loading lib_com/get_gain.c +5 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ Word32 get_gain( /* output: codebook gain (adaptive or fixed) Q16 */ Flag Overflow = 0; #endif tcorr = L_deposit_l(0); tener = L_deposit_l(0); Loading @@ -43,6 +44,7 @@ Word32 get_gain( /* output: codebook gain (adaptive or fixed) Q16 */ BASOP_Util_Divide_MantExp(round_fx(tcorr), exp_c, s_max(round_fx(tener),1), exp_e, &tmp,&exp); Lgain = L_shl(L_deposit_l(tmp)/*Q15*/,add(1,exp))/*Q16*/; #endif return Lgain; } Loading @@ -57,6 +59,7 @@ Word32 get_gain2( /* output: codebook gain (adaptive or fixed) Q16 */ #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif negative = 0; move16(); Loading @@ -76,6 +79,7 @@ Word32 get_gain2( /* output: codebook gain (adaptive or fixed) Q16 */ BASOP_SATURATE_WARNING_OFF /*tcorr max be negative maxvall - not critical*/ tcorr = L_abs(tcorr); BASOP_SATURATE_WARNING_ON m_corr = extract_h(tcorr); m_ener = extract_h(tener); Loading @@ -102,6 +106,7 @@ Word32 get_gain2( /* output: codebook gain (adaptive or fixed) Q16 */ #else Lgain = L_shl(L_deposit_l(m_corr), add(Q_corr, 1)); /* Lgain in Q16 */ #endif if (negative != 0) { Lgain = L_negate(Lgain); /* Lgain in Q16 */ Loading lib_com/lsf_tools_fx.c +2 −0 Original line number Diff line number Diff line Loading @@ -1088,6 +1088,7 @@ void E_LPC_f_lsp_a_conversion(const Word16 *lsp, Word16 *a, const Word16 m) Flag Overflow = 0; #endif /* BASOP_NOGLOB */ /*-----------------------------------------------------* * Find the polynomials F1(z) and F2(z) * *-----------------------------------------------------*/ Loading Loading @@ -3340,6 +3341,7 @@ Word16 root_search_fx( Word16 low, #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif v_high = polynomial_eval_fx( high, coef, order ); /* v_high has the value at high index */ IF ( v_high != 0 ) Loading Loading
basic_math/oper_32b.c +6 −2 Original line number Diff line number Diff line Loading @@ -134,6 +134,7 @@ Word32 Mpy_32 (Word16 hi1, Word16 lo1, Word16 hi2, Word16 lo2) L_32 = L_mac (L_32, mult (hi1, lo2), 1); L_32 = L_mac (L_32, mult (lo1, hi2), 1); #endif return (L_32); } Loading Loading @@ -163,6 +164,7 @@ Word32 Mac_32 (Word32 L_num, Word16 hi1, Word16 lo1, Word16 hi2, Word16 lo2) Word32 L_32; #ifdef BASOP_NOGLOB Flag Overflow = 0; L_32 = L_mac_o (L_num, hi1, hi2, &Overflow); L_32 = L_mac_o(L_32, mult (hi1, lo2), 1, &Overflow); L_32 = L_mac_o(L_32, mult (lo1, hi2), 1, &Overflow); Loading @@ -171,6 +173,7 @@ Word32 Mac_32 (Word32 L_num, Word16 hi1, Word16 lo1, Word16 hi2, Word16 lo2) L_32 = L_mac (L_32, mult (hi1, lo2), 1); L_32 = L_mac (L_32, mult (lo1, hi2), 1); #endif return (L_32); } Loading Loading @@ -199,6 +202,7 @@ Word32 Sqr_32 (Word16 hi, Word16 lo) Word32 L_32; #ifdef BASOP_NOGLOB Flag Overflow = 0; L_32 = L_mult_o (hi, hi, &Overflow); L_32 = L_mac_o (L_32, mult (hi, lo), 2, &Overflow); #else Loading
basic_op/basop32.c +4 −2 Original line number Diff line number Diff line Loading @@ -1896,6 +1896,7 @@ Word16 shr_r (Word16 var1, Word16 var2) { #else var_out = shr (var1, var2); #endif #if (WMOPS) multiCounter[currCounter].shr--; #endif Loading @@ -1912,6 +1913,7 @@ Word16 shr_r (Word16 var1, Word16 var2) { #endif return (var_out); } #ifdef BASOP_NOGLOB Word16 shr_r(Word16 var1, Word16 var2) { return shr_ro(var1, var2, NULL); Loading
lib_com/basop_util.c +4 −0 Original line number Diff line number Diff line Loading @@ -228,6 +228,8 @@ void BASOP_Util_Divide_MantExp (Word16 a_m, /*!< Mantissa of dividend Flag Overflow = 0; #endif assert(b_m != 0); /* normalize b */ Loading Loading @@ -372,6 +374,7 @@ static Word32 ISqrt32_common(Word32 m, #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif assert(m >= 0x40000000); #ifdef BASOP_NOGLOB Loading @@ -379,6 +382,7 @@ static Word32 ISqrt32_common(Word32 m, #else m16 = round_fx(m); #endif /* get table index (upper 6 bits minus 32) */ /* index = (m16 >> 25) - 32; */ index = mac_r(-32768 - (32 << 16), m16, 1 << 6); Loading
lib_com/get_gain.c +5 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ Word32 get_gain( /* output: codebook gain (adaptive or fixed) Q16 */ Flag Overflow = 0; #endif tcorr = L_deposit_l(0); tener = L_deposit_l(0); Loading @@ -43,6 +44,7 @@ Word32 get_gain( /* output: codebook gain (adaptive or fixed) Q16 */ BASOP_Util_Divide_MantExp(round_fx(tcorr), exp_c, s_max(round_fx(tener),1), exp_e, &tmp,&exp); Lgain = L_shl(L_deposit_l(tmp)/*Q15*/,add(1,exp))/*Q16*/; #endif return Lgain; } Loading @@ -57,6 +59,7 @@ Word32 get_gain2( /* output: codebook gain (adaptive or fixed) Q16 */ #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif negative = 0; move16(); Loading @@ -76,6 +79,7 @@ Word32 get_gain2( /* output: codebook gain (adaptive or fixed) Q16 */ BASOP_SATURATE_WARNING_OFF /*tcorr max be negative maxvall - not critical*/ tcorr = L_abs(tcorr); BASOP_SATURATE_WARNING_ON m_corr = extract_h(tcorr); m_ener = extract_h(tener); Loading @@ -102,6 +106,7 @@ Word32 get_gain2( /* output: codebook gain (adaptive or fixed) Q16 */ #else Lgain = L_shl(L_deposit_l(m_corr), add(Q_corr, 1)); /* Lgain in Q16 */ #endif if (negative != 0) { Lgain = L_negate(Lgain); /* Lgain in Q16 */ Loading
lib_com/lsf_tools_fx.c +2 −0 Original line number Diff line number Diff line Loading @@ -1088,6 +1088,7 @@ void E_LPC_f_lsp_a_conversion(const Word16 *lsp, Word16 *a, const Word16 m) Flag Overflow = 0; #endif /* BASOP_NOGLOB */ /*-----------------------------------------------------* * Find the polynomials F1(z) and F2(z) * *-----------------------------------------------------*/ Loading Loading @@ -3340,6 +3341,7 @@ Word16 root_search_fx( Word16 low, #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif v_high = polynomial_eval_fx( high, coef, order ); /* v_high has the value at high index */ IF ( v_high != 0 ) Loading