Loading lib_enc/analy_sp_fx.c +3 −2 Original line number Diff line number Diff line Loading @@ -633,8 +633,9 @@ void ivas_analy_sp_fx_front( move16(); } Scale_fac[i_subfr] = 0; Scale_fac[i_subfr] = -1; move16(); Scale_sig( pt_fft, L_FFT, Scale_fac[i_subfr] ); /* compute the spectrum */ fft_rel_fx( pt_fft, L_FFT, LOG2_L_FFT ); Loading Loading @@ -685,7 +686,7 @@ void ivas_analy_sp_fx_front( move32(); /* tmp = (input[i] + input[i+Len]+0.001f)/2.0f */ // Ltmp = L_max( L_shr( 21474, sub( Q31, add( Q_new, QSCALE ) ) ), L_add( L_shr( Bin_E[i], 1 ), L_shr( Bin_E[i + L_FFT / 2], 1 ) ) ); Ltmp = L_shr( L_add( Bin_E[i], Bin_E[i + L_FFT / 2] ), 1 ); // average Ltmp = L_add( L_shr( Bin_E[i], 1 ), L_shr( Bin_E[i + L_FFT / 2], 1 ) ); // average if ( Ltmp == 0 ) { // Ltmp = L_min( L_shr( 21474, sub( Q31, add( Q_new, QSCALE - 2 ) ) ), 1 ); Loading lib_enc/ivas_core_pre_proc_front.c +6 −5 Original line number Diff line number Diff line Loading @@ -1566,6 +1566,7 @@ ivas_error pre_proc_front_ivas_fx( { Word16 Q_inp_dmx = Q_factor_arrL( hCPE->hStereoDft->DFT[0], STEREO_DFT_N_MAX_ENC ) - 1; floatToFixed_arrL( hCPE->hStereoDft->DFT[0], hCPE->hStereoDft->DFT_fx[0], Q_inp_dmx, STEREO_DFT_N_MAX_ENC ); hCPE->hStereoDft->DFT_fx_e[0] = 31 - Q_inp_dmx; } Word16 Q_new; Word16 Scale_fac[2]; Loading Loading @@ -1594,15 +1595,15 @@ ivas_error pre_proc_front_ivas_fx( } #ifdef IVAS_FLOAT_FIXED_CONVERSIONS fixedToFloat_arrL( fr_bands_fx, fr_bands, Q_new + QSCALE - 1, 40 ); fixedToFloat_arrL( band_energies_fx, band_energies, Q_new + QSCALE - 1, 40 ); fixedToFloat_arrL( lf_E_fx, lf_E, Q_new + QSCALE - 2 - 1, 148 ); fixedToFloat_arrL( PS_fx, PS, Q_new + QSCALE - 2 - 1, 128 ); fixedToFloat_arrL( fr_bands_fx, fr_bands, Q_new + QSCALE - 2, 40 ); fixedToFloat_arrL( band_energies_fx, band_energies, Q_new + QSCALE + 2, 40 ); fixedToFloat_arrL( lf_E_fx, lf_E, Q_new + QSCALE, 148 ); fixedToFloat_arrL( PS_fx, PS, Q_new + QSCALE - 2, 128 ); Etot = fixedToFloat( Etot_fx, Q8 ); // fixedToFloat_arr( fft_buff_fx, fft_buff, Q_new + QSCALE + Scale_fac[0] - 14 -1, 512 ); for ( int i_sbfr = 0; i_sbfr < 2; i_sbfr++ ) { fixedToFloat_arr( fft_buff_fx + i_sbfr * L_FFT, fft_buff + i_sbfr * L_FFT, Q_new + QSCALE + Scale_fac[i_sbfr] - 14 - 1, L_FFT ); fixedToFloat_arr( fft_buff_fx + i_sbfr * L_FFT, fft_buff + i_sbfr * L_FFT, Q_new + Scale_fac[i_sbfr], L_FFT ); } #endif #endif Loading lib_enc/nois_est_fx.c +8 −0 Original line number Diff line number Diff line Loading @@ -2583,6 +2583,10 @@ void noise_est_ivas_fx( /* else */ /* non_sta2 = non_sta2 * ((st_ave_enr2[i]+1) / (enr[i]+1)) */ Lden = L_min( L_tmp_enr, L_tmp_ave_enr ); if ( Lden == 0 ) { Lden = L_add( Lden, EPSILON_FX ); } ExpNum = sub( norm_l( Lnum ), 1 ); num = extract_h( L_shl( Lnum, ExpNum ) ); Loading Loading @@ -2626,6 +2630,10 @@ void noise_est_ivas_fx( { Lnum = L_max( L_tmp_enr, L_tmp_ave_enr2 ); Lden = L_min( L_tmp_enr, L_tmp_ave_enr2 ); if ( Lden == 0 ) { Lden = L_add( Lden, EPSILON_FX ); } ExpNum = sub( norm_l( Lnum ), 1 ); num = extract_h( L_shl( Lnum, ExpNum ) ); Loading Loading
lib_enc/analy_sp_fx.c +3 −2 Original line number Diff line number Diff line Loading @@ -633,8 +633,9 @@ void ivas_analy_sp_fx_front( move16(); } Scale_fac[i_subfr] = 0; Scale_fac[i_subfr] = -1; move16(); Scale_sig( pt_fft, L_FFT, Scale_fac[i_subfr] ); /* compute the spectrum */ fft_rel_fx( pt_fft, L_FFT, LOG2_L_FFT ); Loading Loading @@ -685,7 +686,7 @@ void ivas_analy_sp_fx_front( move32(); /* tmp = (input[i] + input[i+Len]+0.001f)/2.0f */ // Ltmp = L_max( L_shr( 21474, sub( Q31, add( Q_new, QSCALE ) ) ), L_add( L_shr( Bin_E[i], 1 ), L_shr( Bin_E[i + L_FFT / 2], 1 ) ) ); Ltmp = L_shr( L_add( Bin_E[i], Bin_E[i + L_FFT / 2] ), 1 ); // average Ltmp = L_add( L_shr( Bin_E[i], 1 ), L_shr( Bin_E[i + L_FFT / 2], 1 ) ); // average if ( Ltmp == 0 ) { // Ltmp = L_min( L_shr( 21474, sub( Q31, add( Q_new, QSCALE - 2 ) ) ), 1 ); Loading
lib_enc/ivas_core_pre_proc_front.c +6 −5 Original line number Diff line number Diff line Loading @@ -1566,6 +1566,7 @@ ivas_error pre_proc_front_ivas_fx( { Word16 Q_inp_dmx = Q_factor_arrL( hCPE->hStereoDft->DFT[0], STEREO_DFT_N_MAX_ENC ) - 1; floatToFixed_arrL( hCPE->hStereoDft->DFT[0], hCPE->hStereoDft->DFT_fx[0], Q_inp_dmx, STEREO_DFT_N_MAX_ENC ); hCPE->hStereoDft->DFT_fx_e[0] = 31 - Q_inp_dmx; } Word16 Q_new; Word16 Scale_fac[2]; Loading Loading @@ -1594,15 +1595,15 @@ ivas_error pre_proc_front_ivas_fx( } #ifdef IVAS_FLOAT_FIXED_CONVERSIONS fixedToFloat_arrL( fr_bands_fx, fr_bands, Q_new + QSCALE - 1, 40 ); fixedToFloat_arrL( band_energies_fx, band_energies, Q_new + QSCALE - 1, 40 ); fixedToFloat_arrL( lf_E_fx, lf_E, Q_new + QSCALE - 2 - 1, 148 ); fixedToFloat_arrL( PS_fx, PS, Q_new + QSCALE - 2 - 1, 128 ); fixedToFloat_arrL( fr_bands_fx, fr_bands, Q_new + QSCALE - 2, 40 ); fixedToFloat_arrL( band_energies_fx, band_energies, Q_new + QSCALE + 2, 40 ); fixedToFloat_arrL( lf_E_fx, lf_E, Q_new + QSCALE, 148 ); fixedToFloat_arrL( PS_fx, PS, Q_new + QSCALE - 2, 128 ); Etot = fixedToFloat( Etot_fx, Q8 ); // fixedToFloat_arr( fft_buff_fx, fft_buff, Q_new + QSCALE + Scale_fac[0] - 14 -1, 512 ); for ( int i_sbfr = 0; i_sbfr < 2; i_sbfr++ ) { fixedToFloat_arr( fft_buff_fx + i_sbfr * L_FFT, fft_buff + i_sbfr * L_FFT, Q_new + QSCALE + Scale_fac[i_sbfr] - 14 - 1, L_FFT ); fixedToFloat_arr( fft_buff_fx + i_sbfr * L_FFT, fft_buff + i_sbfr * L_FFT, Q_new + Scale_fac[i_sbfr], L_FFT ); } #endif #endif Loading
lib_enc/nois_est_fx.c +8 −0 Original line number Diff line number Diff line Loading @@ -2583,6 +2583,10 @@ void noise_est_ivas_fx( /* else */ /* non_sta2 = non_sta2 * ((st_ave_enr2[i]+1) / (enr[i]+1)) */ Lden = L_min( L_tmp_enr, L_tmp_ave_enr ); if ( Lden == 0 ) { Lden = L_add( Lden, EPSILON_FX ); } ExpNum = sub( norm_l( Lnum ), 1 ); num = extract_h( L_shl( Lnum, ExpNum ) ); Loading Loading @@ -2626,6 +2630,10 @@ void noise_est_ivas_fx( { Lnum = L_max( L_tmp_enr, L_tmp_ave_enr2 ); Lden = L_min( L_tmp_enr, L_tmp_ave_enr2 ); if ( Lden == 0 ) { Lden = L_add( Lden, EPSILON_FX ); } ExpNum = sub( norm_l( Lnum ), 1 ); num = extract_h( L_shl( Lnum, ExpNum ) ); Loading