Loading lib_com/syn_filt_fx.c +5 −0 Original line number Diff line number Diff line Loading @@ -200,8 +200,13 @@ void E_UTIL_synthesis(const Word16 shift, const Word16 a[], const Word16 x[], Wo { L_tmp = L_msu(L_tmp, a[j], mem[i-j]); } #ifdef BASOP_NOGLOB L_tmp = L_shl_o(L_tmp, q, &Overflow); *y++ = round_fx_o(L_tmp, &Overflow); #else L_tmp = L_shl(L_tmp, q); *y++ = round_fx(L_tmp); #endif } /* Filtering from Input + Output Signal Past */ Loading lib_enc/hq_classifier_enc_fx.c +7 −2 Original line number Diff line number Diff line Loading @@ -369,7 +369,9 @@ void hvq_classifier_fx( Word16 num_peak_cands, high, low; Word16 sharp[HVQ_NSUB_32k]; Word16 peak_cand_idx[HVQ_THRES_BIN_32k], avail_peaks[HVQ_NSUB_32k]; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif L_input_max = L_deposit_l(0); set32_fx(L_thr, 0, L_FRAME16k); Loading Loading @@ -517,8 +519,11 @@ void hvq_classifier_fx( sharp[i] = extract_h(L_shl(L_tmp, shift)); /* 30-s+s-8-16 -> Q6 */ /*sharp_dist += (sharp[i]-HVQ_SHARP_THRES); */ #ifdef BASOP_NOGLOB sharp_dist = add_o(sharp_dist, sub(sharp[i], HVQ_SHARP_THRES_FX), &Overflow); #else sharp_dist = add(sharp_dist, sub(sharp[i], HVQ_SHARP_THRES_FX)); #endif if ( GT_16(sharp[i], HVQ_SHARP_THRES_FX)) { num_sharp_bands = add(num_sharp_bands, 1); Loading lib_enc/swb_bwe_enc_fx.c +15 −1 Original line number Diff line number Diff line Loading @@ -1419,7 +1419,9 @@ static void msvq_interpol_2_fx( Word16 quant_select[SWB_FENV], w_env11[SWB_FENV/2], w_env12[SWB_FENV/2]; Word32 L_tmp, distCand[N_CAND], L_dist, L_minDist; Word16 synth_energy[SWB_FENV]; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif /* Extract target vector */ FOR(n_band = 0; n_band < DIM11-1; n_band++) { Loading Loading @@ -1474,9 +1476,15 @@ static void msvq_interpol_2_fx( move16(); FOR( n_band = 1; n_band < DIM12-1; n_band++ ) { #ifdef BASOP_NOGLOB tmp_q = add_o(quant_tmp[n_band-1], quant_tmp[n_band], &Overflow); tmp_q = shr(tmp_q,1); quant_tmp2[n_band] = sub_o(env_temp12[n_band], tmp_q, &Overflow); #else tmp_q = add(quant_tmp[n_band-1], quant_tmp[n_band]); tmp_q = shr(tmp_q,1); quant_tmp2[n_band] = sub(env_temp12[n_band], tmp_q); #endif move16(); } Loading @@ -1495,9 +1503,15 @@ static void msvq_interpol_2_fx( move16();/*Q8 */ FOR( n_band = 1; n_band < DIM12-1; n_band++ ) { #ifdef BASOP_NOGLOB tmp_q = add_o(quant_tmp[n_band-1], quant_tmp[n_band], &Overflow); tmp_q = shr(tmp_q,1); quant_select[sub(shl(n_band,1),1)] = add_o(quant_tmp2[n_band],tmp_q, &Overflow); #else tmp_q = add(quant_tmp[n_band-1], quant_tmp[n_band]); tmp_q = shr(tmp_q,1); quant_select[sub(shl(n_band,1),1)] = add(quant_tmp2[n_band],tmp_q); #endif } L_dist = L_deposit_l(0); Loading lib_enc/swb_tbe_enc_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -3722,7 +3722,11 @@ void fb_tbe_enc_fx( tmp = div_s(tmp2, tmp); L_tmp = L_deposit_h(tmp); L_tmp = Isqrt_lc(L_tmp, &exp); /*Q(31-exp)*/ #ifdef BASOP_NOGLOB L_tmp = L_max(L_shr_o(L_tmp,sub(31,exp), &Overflow),0x1);/* Q0 */ #else L_tmp = L_max(L_shr(L_tmp,sub(31,exp)),0x1);/* Q0 */ #endif } ELSE { Loading Loading
lib_com/syn_filt_fx.c +5 −0 Original line number Diff line number Diff line Loading @@ -200,8 +200,13 @@ void E_UTIL_synthesis(const Word16 shift, const Word16 a[], const Word16 x[], Wo { L_tmp = L_msu(L_tmp, a[j], mem[i-j]); } #ifdef BASOP_NOGLOB L_tmp = L_shl_o(L_tmp, q, &Overflow); *y++ = round_fx_o(L_tmp, &Overflow); #else L_tmp = L_shl(L_tmp, q); *y++ = round_fx(L_tmp); #endif } /* Filtering from Input + Output Signal Past */ Loading
lib_enc/hq_classifier_enc_fx.c +7 −2 Original line number Diff line number Diff line Loading @@ -369,7 +369,9 @@ void hvq_classifier_fx( Word16 num_peak_cands, high, low; Word16 sharp[HVQ_NSUB_32k]; Word16 peak_cand_idx[HVQ_THRES_BIN_32k], avail_peaks[HVQ_NSUB_32k]; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif L_input_max = L_deposit_l(0); set32_fx(L_thr, 0, L_FRAME16k); Loading Loading @@ -517,8 +519,11 @@ void hvq_classifier_fx( sharp[i] = extract_h(L_shl(L_tmp, shift)); /* 30-s+s-8-16 -> Q6 */ /*sharp_dist += (sharp[i]-HVQ_SHARP_THRES); */ #ifdef BASOP_NOGLOB sharp_dist = add_o(sharp_dist, sub(sharp[i], HVQ_SHARP_THRES_FX), &Overflow); #else sharp_dist = add(sharp_dist, sub(sharp[i], HVQ_SHARP_THRES_FX)); #endif if ( GT_16(sharp[i], HVQ_SHARP_THRES_FX)) { num_sharp_bands = add(num_sharp_bands, 1); Loading
lib_enc/swb_bwe_enc_fx.c +15 −1 Original line number Diff line number Diff line Loading @@ -1419,7 +1419,9 @@ static void msvq_interpol_2_fx( Word16 quant_select[SWB_FENV], w_env11[SWB_FENV/2], w_env12[SWB_FENV/2]; Word32 L_tmp, distCand[N_CAND], L_dist, L_minDist; Word16 synth_energy[SWB_FENV]; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif /* Extract target vector */ FOR(n_band = 0; n_band < DIM11-1; n_band++) { Loading Loading @@ -1474,9 +1476,15 @@ static void msvq_interpol_2_fx( move16(); FOR( n_band = 1; n_band < DIM12-1; n_band++ ) { #ifdef BASOP_NOGLOB tmp_q = add_o(quant_tmp[n_band-1], quant_tmp[n_band], &Overflow); tmp_q = shr(tmp_q,1); quant_tmp2[n_band] = sub_o(env_temp12[n_band], tmp_q, &Overflow); #else tmp_q = add(quant_tmp[n_band-1], quant_tmp[n_band]); tmp_q = shr(tmp_q,1); quant_tmp2[n_band] = sub(env_temp12[n_band], tmp_q); #endif move16(); } Loading @@ -1495,9 +1503,15 @@ static void msvq_interpol_2_fx( move16();/*Q8 */ FOR( n_band = 1; n_band < DIM12-1; n_band++ ) { #ifdef BASOP_NOGLOB tmp_q = add_o(quant_tmp[n_band-1], quant_tmp[n_band], &Overflow); tmp_q = shr(tmp_q,1); quant_select[sub(shl(n_band,1),1)] = add_o(quant_tmp2[n_band],tmp_q, &Overflow); #else tmp_q = add(quant_tmp[n_band-1], quant_tmp[n_band]); tmp_q = shr(tmp_q,1); quant_select[sub(shl(n_band,1),1)] = add(quant_tmp2[n_band],tmp_q); #endif } L_dist = L_deposit_l(0); Loading
lib_enc/swb_tbe_enc_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -3722,7 +3722,11 @@ void fb_tbe_enc_fx( tmp = div_s(tmp2, tmp); L_tmp = L_deposit_h(tmp); L_tmp = Isqrt_lc(L_tmp, &exp); /*Q(31-exp)*/ #ifdef BASOP_NOGLOB L_tmp = L_max(L_shr_o(L_tmp,sub(31,exp), &Overflow),0x1);/* Q0 */ #else L_tmp = L_max(L_shr(L_tmp,sub(31,exp)),0x1);/* Q0 */ #endif } ELSE { Loading