Loading lib_com/options.h +0 −1 Original line number Diff line number Diff line Loading @@ -164,7 +164,6 @@ #define NONBE_FIX_856_TCX_LTP_SYNTH_FILTER /* FhG: issue 856: correct filtering length for tcx-ltp synth filtering*/ #define NONBE_UNIFIED_DECODING_PATHS /* FhG: unify decoding paths */ #define NONBE_FIX_871_ACELP_CRASH_IN_OSBA /* FhG: isse 871: crash in ACELP core encoder with OSBA */ #define NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT /* FhG: issue 811: change double precision functions to float in DFT Stereo */ /* ##################### End NON-BE switches ########################### */ Loading lib_dec/ivas_stereo_dft_dec.c +0 −8 Original line number Diff line number Diff line Loading @@ -135,18 +135,10 @@ static void stereo_dft_dequantize_res_gains_f( /* compensate for the offset and extract/remove sign of first index */ sign = ind1[i] < 15 ? -1 : 1; #ifdef NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT i1 = (int16_t) floorf( ind1[i] < 15 ? 15 - ind1[i] : ind1[i] - 15 ); #else i1 = (int16_t) floor( ind1[i] < 15 ? 15 - ind1[i] : ind1[i] - 15 ); #endif fi = ( ind1[i] < 15 ? 15 - ind1[i] : ind1[i] - 15 ) - i1; #ifdef NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT j1 = (int16_t) floorf( ind2[i] ); #else j1 = (int16_t) floor( ind2[i] ); #endif fj = ind2[i] - j1; /* choose base indices for interpolation */ Loading lib_enc/ivas_stereo_dft_enc.c +0 −12 Original line number Diff line number Diff line Loading @@ -2695,11 +2695,7 @@ static void stereo_dft_enc_compute_prm( { hStereoDft->dot_prod_real_smooth[b2] = 0.5f * hStereoDft->dot_prod_real_smooth[b2] + 0.5f * dot_prod_real2; hStereoDft->dot_prod_img_smooth[b2] = 0.5f * hStereoDft->dot_prod_img_smooth[b2] + 0.5f * dot_prod_img2; #ifdef NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT pIpd[b2] = (float) atan2f( hStereoDft->dot_prod_img_smooth[b2], hStereoDft->dot_prod_real_smooth[b2] ); #else pIpd[b2] = (float) atan2( hStereoDft->dot_prod_img_smooth[b2], hStereoDft->dot_prod_real_smooth[b2] ); #endif ipd_smooth[b2] = stereo_dft_calc_mean_bipd( &pIpd[b2], hStereoDft->ipd_buf[b2] ); Loading Loading @@ -2829,11 +2825,7 @@ static void stereo_dft_enc_compute_prm( { conversion_factor = 2.f / 3; } #ifdef NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT dItd32 = (int16_t) floorf( conversion_factor * hStereoDft->hItd->deltaItd[k_offset] + 0.5f ); #else dItd32 = (int16_t) floor( conversion_factor * hStereoDft->hItd->deltaItd[k_offset] + 0.5f ); #endif gain_offset = stereo_dft_gain_offset( c, dItd32 ); pPredGain[b] = max( 0, pPredGain[b] - gain_offset ); Loading Loading @@ -2869,11 +2861,7 @@ static void stereo_dft_enc_compute_prm( hStereoDft->sum_dot_prod_real = ( 1.f - hStereoDft->sfm ) * hStereoDft->sum_dot_prod_real + hStereoDft->sfm * sum_dot_prod_real; hStereoDft->sum_dot_prod_img = ( 1.f - hStereoDft->sfm ) * hStereoDft->sum_dot_prod_img + hStereoDft->sfm * sum_dot_prod_img; #ifdef NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT pgIpd[0] = (float) atan2f( hStereoDft->sum_dot_prod_img, hStereoDft->sum_dot_prod_real ); #else pgIpd[0] = (float) atan2( hStereoDft->sum_dot_prod_img, hStereoDft->sum_dot_prod_real ); #endif stereo_dft_gipd_stabilization( &pgIpd[0], hStereoDft->prev_gipd, ipd_mean_change ); hStereoDft->prev_gipd = pgIpd[0]; Loading lib_enc/ivas_stereo_dft_enc_itd.c +0 −4 Original line number Diff line number Diff line Loading @@ -1368,11 +1368,7 @@ void stereo_dft_enc_compute_itd( if ( hItd->deltaItd[k_offset - 1] != 0 && itd_max_flip == 0 ) { #ifdef NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT int16_t tmp_itd = (int16_t) floorf( ( ( hItd->prev_itd ) * ( (float) input_frame / 640 ) ) + 0.5f ); #else int16_t tmp_itd = (int16_t) floor( ( ( hItd->prev_itd ) * ( (float) input_frame / 640 ) ) + 0.5f ); #endif hItd->deltaItd[k_offset] = -1.0f * tmp_itd - hItd->td_itd[k_offset]; } } Loading lib_enc/ivas_stereo_dft_td_itd.c +0 −4 Original line number Diff line number Diff line Loading @@ -83,11 +83,7 @@ static void stereo_td_get_td_itd( { assert( ( input_Fs % 16000 ) == 0 && "sampling frequency should be divisible by 16000" ); d = (int16_t) ( input_Fs / 16000 ); #ifdef NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT *td_itd_32 = 2 * (int16_t) floorf( itd / d + 0.5f ); #else *td_itd_32 = 2 * (int16_t) floor( itd / d + 0.5f ); #endif *td_itd = ( ( *td_itd_32 ) / 2 ) * d; } Loading Loading
lib_com/options.h +0 −1 Original line number Diff line number Diff line Loading @@ -164,7 +164,6 @@ #define NONBE_FIX_856_TCX_LTP_SYNTH_FILTER /* FhG: issue 856: correct filtering length for tcx-ltp synth filtering*/ #define NONBE_UNIFIED_DECODING_PATHS /* FhG: unify decoding paths */ #define NONBE_FIX_871_ACELP_CRASH_IN_OSBA /* FhG: isse 871: crash in ACELP core encoder with OSBA */ #define NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT /* FhG: issue 811: change double precision functions to float in DFT Stereo */ /* ##################### End NON-BE switches ########################### */ Loading
lib_dec/ivas_stereo_dft_dec.c +0 −8 Original line number Diff line number Diff line Loading @@ -135,18 +135,10 @@ static void stereo_dft_dequantize_res_gains_f( /* compensate for the offset and extract/remove sign of first index */ sign = ind1[i] < 15 ? -1 : 1; #ifdef NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT i1 = (int16_t) floorf( ind1[i] < 15 ? 15 - ind1[i] : ind1[i] - 15 ); #else i1 = (int16_t) floor( ind1[i] < 15 ? 15 - ind1[i] : ind1[i] - 15 ); #endif fi = ( ind1[i] < 15 ? 15 - ind1[i] : ind1[i] - 15 ) - i1; #ifdef NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT j1 = (int16_t) floorf( ind2[i] ); #else j1 = (int16_t) floor( ind2[i] ); #endif fj = ind2[i] - j1; /* choose base indices for interpolation */ Loading
lib_enc/ivas_stereo_dft_enc.c +0 −12 Original line number Diff line number Diff line Loading @@ -2695,11 +2695,7 @@ static void stereo_dft_enc_compute_prm( { hStereoDft->dot_prod_real_smooth[b2] = 0.5f * hStereoDft->dot_prod_real_smooth[b2] + 0.5f * dot_prod_real2; hStereoDft->dot_prod_img_smooth[b2] = 0.5f * hStereoDft->dot_prod_img_smooth[b2] + 0.5f * dot_prod_img2; #ifdef NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT pIpd[b2] = (float) atan2f( hStereoDft->dot_prod_img_smooth[b2], hStereoDft->dot_prod_real_smooth[b2] ); #else pIpd[b2] = (float) atan2( hStereoDft->dot_prod_img_smooth[b2], hStereoDft->dot_prod_real_smooth[b2] ); #endif ipd_smooth[b2] = stereo_dft_calc_mean_bipd( &pIpd[b2], hStereoDft->ipd_buf[b2] ); Loading Loading @@ -2829,11 +2825,7 @@ static void stereo_dft_enc_compute_prm( { conversion_factor = 2.f / 3; } #ifdef NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT dItd32 = (int16_t) floorf( conversion_factor * hStereoDft->hItd->deltaItd[k_offset] + 0.5f ); #else dItd32 = (int16_t) floor( conversion_factor * hStereoDft->hItd->deltaItd[k_offset] + 0.5f ); #endif gain_offset = stereo_dft_gain_offset( c, dItd32 ); pPredGain[b] = max( 0, pPredGain[b] - gain_offset ); Loading Loading @@ -2869,11 +2861,7 @@ static void stereo_dft_enc_compute_prm( hStereoDft->sum_dot_prod_real = ( 1.f - hStereoDft->sfm ) * hStereoDft->sum_dot_prod_real + hStereoDft->sfm * sum_dot_prod_real; hStereoDft->sum_dot_prod_img = ( 1.f - hStereoDft->sfm ) * hStereoDft->sum_dot_prod_img + hStereoDft->sfm * sum_dot_prod_img; #ifdef NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT pgIpd[0] = (float) atan2f( hStereoDft->sum_dot_prod_img, hStereoDft->sum_dot_prod_real ); #else pgIpd[0] = (float) atan2( hStereoDft->sum_dot_prod_img, hStereoDft->sum_dot_prod_real ); #endif stereo_dft_gipd_stabilization( &pgIpd[0], hStereoDft->prev_gipd, ipd_mean_change ); hStereoDft->prev_gipd = pgIpd[0]; Loading
lib_enc/ivas_stereo_dft_enc_itd.c +0 −4 Original line number Diff line number Diff line Loading @@ -1368,11 +1368,7 @@ void stereo_dft_enc_compute_itd( if ( hItd->deltaItd[k_offset - 1] != 0 && itd_max_flip == 0 ) { #ifdef NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT int16_t tmp_itd = (int16_t) floorf( ( ( hItd->prev_itd ) * ( (float) input_frame / 640 ) ) + 0.5f ); #else int16_t tmp_itd = (int16_t) floor( ( ( hItd->prev_itd ) * ( (float) input_frame / 640 ) ) + 0.5f ); #endif hItd->deltaItd[k_offset] = -1.0f * tmp_itd - hItd->td_itd[k_offset]; } } Loading
lib_enc/ivas_stereo_dft_td_itd.c +0 −4 Original line number Diff line number Diff line Loading @@ -83,11 +83,7 @@ static void stereo_td_get_td_itd( { assert( ( input_Fs % 16000 ) == 0 && "sampling frequency should be divisible by 16000" ); d = (int16_t) ( input_Fs / 16000 ); #ifdef NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT *td_itd_32 = 2 * (int16_t) floorf( itd / d + 0.5f ); #else *td_itd_32 = 2 * (int16_t) floor( itd / d + 0.5f ); #endif *td_itd = ( ( *td_itd_32 ) / 2 ) * d; } Loading