Loading lib_com/tcx_ltp_fx.c +5 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,11 @@ void tcx_ltp_get_lpc( if (L_tmp > 0) r = L_shr(r, 2); tmp = shl(x[j], s); #ifdef BASOP_NOGLOB r = L_mac0_sat( r, tmp, tmp ); #else r = L_mac0( r, tmp, tmp ); #endif } r = L_max(r, L_shl(100, shl(s, 1))); r = Mpy_32_16_1(r, 16386/*1.0001f Q14*/); Loading lib_com/tcx_utils_fx.c +5 −1 Original line number Diff line number Diff line Loading @@ -474,7 +474,11 @@ void tcx_windowing_synthesis_current_frame( { /*remove reconstructed ZIR and add ACELP ZIR*/ move16(); #ifdef BASOP_NOGLOB signal[i + overlap + acelp_mem_len] = sub_sat( signal[i + overlap + acelp_mem_len], mult_r_sat( acelp_zir[i], div_s( sub_sat( acelp_zir_len, i ), acelp_zir_len ) ) ); #else signal[i + overlap + acelp_mem_len] = sub( signal[i + overlap + acelp_mem_len], mult_r( acelp_zir[i], div_s( sub( acelp_zir_len, i ), acelp_zir_len ) ) ); #endif } } /* Rectangular window (past-frame is TCX) */ Loading lib_enc/cod_tcx_fx.c +20 −4 Original line number Diff line number Diff line Loading @@ -2581,7 +2581,11 @@ void QuantizeSpectrum_fx( tmp1 = sub(overlap, hTcxCfg->tcx_mdct_window_min_length); FOR (i=0; i < tmp1; i++) { #ifdef BASOP_NOGLOB xn_buf16[i] = shl_sat( add_sat( xn_buf16[i], shr_sat( hTcxEnc->old_out_fx[i + nz], tmp2 ) ), TCX_IMDCT_HEADROOM ); #else xn_buf16[i] = shl( add( xn_buf16[i], shr( hTcxEnc->old_out_fx[i + nz], tmp2 ) ), TCX_IMDCT_HEADROOM ); #endif move16(); } Loading @@ -2590,19 +2594,31 @@ void QuantizeSpectrum_fx( FOR ( ; i < tmp1; i++) { tmp3 = mult_r(shr(hTcxEnc->old_out_fx[i+nz], tmp2), hTcxCfg->tcx_mdct_window_minimum[i-overlap+hTcxCfg->tcx_mdct_window_min_length].v.re); #ifdef BASOP_NOGLOB xn_buf16[i] = shl_sat( add_sat( xn_buf16[i], tmp3 ), TCX_IMDCT_HEADROOM ); #else xn_buf16[i] = shl( add( xn_buf16[i], tmp3 ), TCX_IMDCT_HEADROOM ); #endif move16(); } FOR ( ; i < overlap; i++) { tmp3 = mult_r(shr(hTcxEnc->old_out_fx[i+nz], tmp2), hTcxCfg->tcx_mdct_window_minimum[overlap-1-i].v.im); #ifdef BASOP_NOGLOB xn_buf16[i] = shl_sat( add_sat( xn_buf16[i], tmp3 ), TCX_IMDCT_HEADROOM ); #else xn_buf16[i] = shl( add( xn_buf16[i], tmp3 ), TCX_IMDCT_HEADROOM ); #endif move16(); } FOR ( ; i < L_frame; i++) { #ifdef BASOP_NOGLOB xn_buf16[i] = shl_sat( xn_buf16[i], TCX_IMDCT_HEADROOM ); #else xn_buf16[i] = shl( xn_buf16[i], TCX_IMDCT_HEADROOM ); #endif move16(); } } Loading lib_enc/core_enc_ol_fx.c +5 −1 Original line number Diff line number Diff line Loading @@ -1233,7 +1233,11 @@ void core_acelp_tcx20_switching_fx( #else /* BASOP_NOGLOB */ (LT_16(add(st->prevTempFlatness_fx, currFlatness), 416/*3.25f Q7*/) || EQ_16(stab_fac, 0x7fff) || #endif #ifdef BASOP_NOGLOB ( EQ_32( st->sr_core, INT_FS_12k8 ) && EQ_16( st->sp_aud_decision0, 1 ) && LT_16( add_sat( st->prevTempFlatness_fx, currFlatness ), 2560 /*20.f Q7*/ ) ) ) && #else ( EQ_32( st->sr_core, INT_FS_12k8 ) && EQ_16( st->sp_aud_decision0, 1 ) && LT_16( add( st->prevTempFlatness_fx, currFlatness ), 2560 /*20.f Q7*/ ) ) ) && #endif (LE_16(st->acelpFramesCount, 6) )) { dsnr = -512/*-2.0f Q8*/; Loading lib_enc/ext_sig_ana_fx.c +5 −1 Original line number Diff line number Diff line Loading @@ -310,7 +310,11 @@ void core_signal_analysis_high_bitrate_fx( /* Outter left folding */ FOR(i = 0; i < folding_offset; i++) { #ifdef BASOP_NOGLOB tcx20Win[folding_offset + i] = sub_sat( tcx20Win[folding_offset + i], tcx20Win[folding_offset - 1 - i] ); #else tcx20Win[folding_offset + i] = sub( tcx20Win[folding_offset + i], tcx20Win[folding_offset - 1 - i] ); #endif move16(); } #ifdef IVAS_CODE Loading Loading
lib_com/tcx_ltp_fx.c +5 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,11 @@ void tcx_ltp_get_lpc( if (L_tmp > 0) r = L_shr(r, 2); tmp = shl(x[j], s); #ifdef BASOP_NOGLOB r = L_mac0_sat( r, tmp, tmp ); #else r = L_mac0( r, tmp, tmp ); #endif } r = L_max(r, L_shl(100, shl(s, 1))); r = Mpy_32_16_1(r, 16386/*1.0001f Q14*/); Loading
lib_com/tcx_utils_fx.c +5 −1 Original line number Diff line number Diff line Loading @@ -474,7 +474,11 @@ void tcx_windowing_synthesis_current_frame( { /*remove reconstructed ZIR and add ACELP ZIR*/ move16(); #ifdef BASOP_NOGLOB signal[i + overlap + acelp_mem_len] = sub_sat( signal[i + overlap + acelp_mem_len], mult_r_sat( acelp_zir[i], div_s( sub_sat( acelp_zir_len, i ), acelp_zir_len ) ) ); #else signal[i + overlap + acelp_mem_len] = sub( signal[i + overlap + acelp_mem_len], mult_r( acelp_zir[i], div_s( sub( acelp_zir_len, i ), acelp_zir_len ) ) ); #endif } } /* Rectangular window (past-frame is TCX) */ Loading
lib_enc/cod_tcx_fx.c +20 −4 Original line number Diff line number Diff line Loading @@ -2581,7 +2581,11 @@ void QuantizeSpectrum_fx( tmp1 = sub(overlap, hTcxCfg->tcx_mdct_window_min_length); FOR (i=0; i < tmp1; i++) { #ifdef BASOP_NOGLOB xn_buf16[i] = shl_sat( add_sat( xn_buf16[i], shr_sat( hTcxEnc->old_out_fx[i + nz], tmp2 ) ), TCX_IMDCT_HEADROOM ); #else xn_buf16[i] = shl( add( xn_buf16[i], shr( hTcxEnc->old_out_fx[i + nz], tmp2 ) ), TCX_IMDCT_HEADROOM ); #endif move16(); } Loading @@ -2590,19 +2594,31 @@ void QuantizeSpectrum_fx( FOR ( ; i < tmp1; i++) { tmp3 = mult_r(shr(hTcxEnc->old_out_fx[i+nz], tmp2), hTcxCfg->tcx_mdct_window_minimum[i-overlap+hTcxCfg->tcx_mdct_window_min_length].v.re); #ifdef BASOP_NOGLOB xn_buf16[i] = shl_sat( add_sat( xn_buf16[i], tmp3 ), TCX_IMDCT_HEADROOM ); #else xn_buf16[i] = shl( add( xn_buf16[i], tmp3 ), TCX_IMDCT_HEADROOM ); #endif move16(); } FOR ( ; i < overlap; i++) { tmp3 = mult_r(shr(hTcxEnc->old_out_fx[i+nz], tmp2), hTcxCfg->tcx_mdct_window_minimum[overlap-1-i].v.im); #ifdef BASOP_NOGLOB xn_buf16[i] = shl_sat( add_sat( xn_buf16[i], tmp3 ), TCX_IMDCT_HEADROOM ); #else xn_buf16[i] = shl( add( xn_buf16[i], tmp3 ), TCX_IMDCT_HEADROOM ); #endif move16(); } FOR ( ; i < L_frame; i++) { #ifdef BASOP_NOGLOB xn_buf16[i] = shl_sat( xn_buf16[i], TCX_IMDCT_HEADROOM ); #else xn_buf16[i] = shl( xn_buf16[i], TCX_IMDCT_HEADROOM ); #endif move16(); } } Loading
lib_enc/core_enc_ol_fx.c +5 −1 Original line number Diff line number Diff line Loading @@ -1233,7 +1233,11 @@ void core_acelp_tcx20_switching_fx( #else /* BASOP_NOGLOB */ (LT_16(add(st->prevTempFlatness_fx, currFlatness), 416/*3.25f Q7*/) || EQ_16(stab_fac, 0x7fff) || #endif #ifdef BASOP_NOGLOB ( EQ_32( st->sr_core, INT_FS_12k8 ) && EQ_16( st->sp_aud_decision0, 1 ) && LT_16( add_sat( st->prevTempFlatness_fx, currFlatness ), 2560 /*20.f Q7*/ ) ) ) && #else ( EQ_32( st->sr_core, INT_FS_12k8 ) && EQ_16( st->sp_aud_decision0, 1 ) && LT_16( add( st->prevTempFlatness_fx, currFlatness ), 2560 /*20.f Q7*/ ) ) ) && #endif (LE_16(st->acelpFramesCount, 6) )) { dsnr = -512/*-2.0f Q8*/; Loading
lib_enc/ext_sig_ana_fx.c +5 −1 Original line number Diff line number Diff line Loading @@ -310,7 +310,11 @@ void core_signal_analysis_high_bitrate_fx( /* Outter left folding */ FOR(i = 0; i < folding_offset; i++) { #ifdef BASOP_NOGLOB tcx20Win[folding_offset + i] = sub_sat( tcx20Win[folding_offset + i], tcx20Win[folding_offset - 1 - i] ); #else tcx20Win[folding_offset + i] = sub( tcx20Win[folding_offset + i], tcx20Win[folding_offset - 1 - i] ); #endif move16(); } #ifdef IVAS_CODE Loading