Loading lib_com/swb_bwe_com_lr_fx.c +8 −0 Original line number Diff line number Diff line Loading @@ -944,7 +944,11 @@ void SpectrumSmoothing_fx( IF(GT_32(L_max_val[i], 0x1L)) { exp_normd = norm_l(L_max_val[i]); #ifdef BASOP_NOGLOB max_val_norm_fx = div_s(0x2800, round_fx_o(L_shl_o(L_max_val[i], exp_normd, &Overflow), &Overflow)); /* Q10-(Qs+exp_normd-16) */ #else max_val_norm_fx = div_s(0x2800, round_fx(L_shl(L_max_val[i], exp_normd))); /* Q10-(Qs+exp_normd-16) */ #endif Qmax_val_norm[i] = sub(10-12+16+15, exp_normd); move16(); /* 10 - (12+exp_normd-16) +15 */; } Loading Loading @@ -3169,7 +3173,11 @@ void noiseinj_hf_fx( move32(); /**p_L_En = (float)sqrt(*p_En);*/ sqrt_32n_16_fx(*p_L_En, QbeL, p_sqrt_En_fx, &Qtemp); #ifdef BASOP_NOGLOB *p_sqrt_En_fx = shl_o(*p_sqrt_En_fx, sub(QsEn, Qtemp), &Overflow); /* -> Q2 */ move16(); #else *p_sqrt_En_fx = shl(*p_sqrt_En_fx, sub(QsEn, Qtemp)); /* -> Q2 */ move16(); #endif } p_L_En++; p_sqrt_En_fx++; Loading lib_com/swb_tbe_com_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -1510,7 +1510,11 @@ void GenShapedSHBExcitation_fx( move16(); /* pow1 += exc16kWhtnd[k] * exc16kWhtnd[k]; */ #ifdef BASOP_NOGLOB pow1 = L_mac0_o( pow1, exc16kWhtnd[k], exc16kWhtnd[k], &Overflow ); /* 2*Q_bwe_exc */ #else pow1 = L_mac0( pow1, exc16kWhtnd[k], exc16kWhtnd[k] ); /* 2*Q_bwe_exc */ #endif } Q_pow1 = shl(*Q_bwe_exc,1); Loading lib_com/tools_fx.c +2 −1 Original line number Diff line number Diff line Loading @@ -66,10 +66,11 @@ Word16 usquant_fx( /* o: index of the winning codeword */ /* idx = (short)( (x - qlow)/delta + 0.5f); */ exp = norm_s(delta); tmp = div_s(shl(1,sub(14,exp)),delta); /*Q(29-exp-(Qx-1))->Q(30-exp-Qx) */ L_tmp = L_mult(sub(x,qlow),tmp); /*Q(31-exp) */ #ifdef BASOP_NOGLOB L_tmp = L_mult(sub_o(x, qlow, &Overflow), tmp); /*Q(31-exp) */ idx = extract_l(L_shr_r(L_add(L_tmp,shl_o(1,sub(30,exp), &Overflow)),sub(31,exp))); /*Q0 */ #else /* BASOP_NOGLOB */ L_tmp = L_mult(sub(x, qlow), tmp); /*Q(31-exp) */ idx = extract_l(L_shr_r(L_add(L_tmp,shl(1,sub(30,exp))),sub(31,exp))); /*Q0 */ #endif /* BASOP_NOGLOB */ Loading lib_enc/acelp_core_switch_enc_fx.c +7 −2 Original line number Diff line number Diff line Loading @@ -412,7 +412,9 @@ static void bwe_switch_enc_fx( Word16 synth_subfr_bwe_fx[SWITCH_MAX_GAP]; /* synthesized bwe for core switching */ Word16 n, L; BSTR_ENC_HANDLE hBstr; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif /* BASOP_NOGLOB */ hBstr = st_fx->hBstr; L = NS2SA_fx2(st_fx->input_Fs_fx,FRAME_SIZE_NS); Loading Loading @@ -525,8 +527,11 @@ static void bwe_switch_enc_fx( L_tmp1 = L_mult(tmp, E2_fx); /*30-q_tmp1+q_tmp2 */ q_tmp2 = sub(q_tmp1, q_tmp2); /*30-q_tmp2 */ L_tmp1 = L_shl(L_tmp1, sub(q_tmp2, 24)); #ifdef BASOP_NOGLOB gain_fx = round_fx_o(Isqrt(L_tmp1), &Overflow); /*Q12 */ #else gain_fx = round_fx(Isqrt(L_tmp1)); /*Q12 */ #endif ind1_fx = usquant_fx( gain_fx, &gain_fx, shr(MINVALUEOFFIRSTGAIN_FX,1), shr(DELTAOFFIRSTGAIN_FX,4), (1 << NOOFGAINBITS1) ); push_indice_fx(hBstr,IND_CORE_SWITCHING_AUDIO_GAIN, ind1_fx, NOOFGAINBITS1 ); Loading Loading
lib_com/swb_bwe_com_lr_fx.c +8 −0 Original line number Diff line number Diff line Loading @@ -944,7 +944,11 @@ void SpectrumSmoothing_fx( IF(GT_32(L_max_val[i], 0x1L)) { exp_normd = norm_l(L_max_val[i]); #ifdef BASOP_NOGLOB max_val_norm_fx = div_s(0x2800, round_fx_o(L_shl_o(L_max_val[i], exp_normd, &Overflow), &Overflow)); /* Q10-(Qs+exp_normd-16) */ #else max_val_norm_fx = div_s(0x2800, round_fx(L_shl(L_max_val[i], exp_normd))); /* Q10-(Qs+exp_normd-16) */ #endif Qmax_val_norm[i] = sub(10-12+16+15, exp_normd); move16(); /* 10 - (12+exp_normd-16) +15 */; } Loading Loading @@ -3169,7 +3173,11 @@ void noiseinj_hf_fx( move32(); /**p_L_En = (float)sqrt(*p_En);*/ sqrt_32n_16_fx(*p_L_En, QbeL, p_sqrt_En_fx, &Qtemp); #ifdef BASOP_NOGLOB *p_sqrt_En_fx = shl_o(*p_sqrt_En_fx, sub(QsEn, Qtemp), &Overflow); /* -> Q2 */ move16(); #else *p_sqrt_En_fx = shl(*p_sqrt_En_fx, sub(QsEn, Qtemp)); /* -> Q2 */ move16(); #endif } p_L_En++; p_sqrt_En_fx++; Loading
lib_com/swb_tbe_com_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -1510,7 +1510,11 @@ void GenShapedSHBExcitation_fx( move16(); /* pow1 += exc16kWhtnd[k] * exc16kWhtnd[k]; */ #ifdef BASOP_NOGLOB pow1 = L_mac0_o( pow1, exc16kWhtnd[k], exc16kWhtnd[k], &Overflow ); /* 2*Q_bwe_exc */ #else pow1 = L_mac0( pow1, exc16kWhtnd[k], exc16kWhtnd[k] ); /* 2*Q_bwe_exc */ #endif } Q_pow1 = shl(*Q_bwe_exc,1); Loading
lib_com/tools_fx.c +2 −1 Original line number Diff line number Diff line Loading @@ -66,10 +66,11 @@ Word16 usquant_fx( /* o: index of the winning codeword */ /* idx = (short)( (x - qlow)/delta + 0.5f); */ exp = norm_s(delta); tmp = div_s(shl(1,sub(14,exp)),delta); /*Q(29-exp-(Qx-1))->Q(30-exp-Qx) */ L_tmp = L_mult(sub(x,qlow),tmp); /*Q(31-exp) */ #ifdef BASOP_NOGLOB L_tmp = L_mult(sub_o(x, qlow, &Overflow), tmp); /*Q(31-exp) */ idx = extract_l(L_shr_r(L_add(L_tmp,shl_o(1,sub(30,exp), &Overflow)),sub(31,exp))); /*Q0 */ #else /* BASOP_NOGLOB */ L_tmp = L_mult(sub(x, qlow), tmp); /*Q(31-exp) */ idx = extract_l(L_shr_r(L_add(L_tmp,shl(1,sub(30,exp))),sub(31,exp))); /*Q0 */ #endif /* BASOP_NOGLOB */ Loading
lib_enc/acelp_core_switch_enc_fx.c +7 −2 Original line number Diff line number Diff line Loading @@ -412,7 +412,9 @@ static void bwe_switch_enc_fx( Word16 synth_subfr_bwe_fx[SWITCH_MAX_GAP]; /* synthesized bwe for core switching */ Word16 n, L; BSTR_ENC_HANDLE hBstr; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif /* BASOP_NOGLOB */ hBstr = st_fx->hBstr; L = NS2SA_fx2(st_fx->input_Fs_fx,FRAME_SIZE_NS); Loading Loading @@ -525,8 +527,11 @@ static void bwe_switch_enc_fx( L_tmp1 = L_mult(tmp, E2_fx); /*30-q_tmp1+q_tmp2 */ q_tmp2 = sub(q_tmp1, q_tmp2); /*30-q_tmp2 */ L_tmp1 = L_shl(L_tmp1, sub(q_tmp2, 24)); #ifdef BASOP_NOGLOB gain_fx = round_fx_o(Isqrt(L_tmp1), &Overflow); /*Q12 */ #else gain_fx = round_fx(Isqrt(L_tmp1)); /*Q12 */ #endif ind1_fx = usquant_fx( gain_fx, &gain_fx, shr(MINVALUEOFFIRSTGAIN_FX,1), shr(DELTAOFFIRSTGAIN_FX,4), (1 << NOOFGAINBITS1) ); push_indice_fx(hBstr,IND_CORE_SWITCHING_AUDIO_GAIN, ind1_fx, NOOFGAINBITS1 ); Loading