Loading lib_rend/ivas_reverb_fx.c +2 −2 Original line number Diff line number Diff line Loading @@ -2504,8 +2504,8 @@ ivas_error ivas_binaural_reverb_init( revEne = ene; float t60_temp[CLDFB_NO_CHANNELS_MAX]; float ene_temp[CLDFB_NO_CHANNELS_MAX]; fixedToFloat_arrL( t60, t60_temp, Q15, CLDFB_NO_CHANNELS_MAX ); fixedToFloat_arrL( ene, ene_temp, Q15, CLDFB_NO_CHANNELS_MAX ); // fixedToFloat_arrL( t60, t60_temp, Q15, CLDFB_NO_CHANNELS_MAX ); // fixedToFloat_arrL( ene, ene_temp, Q15, CLDFB_NO_CHANNELS_MAX ); // if ( ( error = ivas_reverb_prepare_cldfb_params( roomAcoustics, hHrtfStatistics, sampling_rate, t60, ene ) ) != IVAS_ERR_OK ) if ( ( error = ivas_reverb_prepare_cldfb_params( roomAcoustics, hHrtfStatistics, sampling_rate, t60_temp, ene_temp ) ) != IVAS_ERR_OK ) { Loading lib_rend/ivas_reverb_utils_fx.c +15 −9 Original line number Diff line number Diff line Loading @@ -65,7 +65,7 @@ typedef struct cldfb_convolver_state } cldfb_convolver_state; #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES static void ivas_reverb_set_energies( const Word32 *avg_pwr_l, const Word32 *avg_pwr_r, const int32_t sampling_rate, Word32 *avg_pwr_l_out, Word32 *avg_pwr_r_out ); static void ivas_reverb_set_energies( const Word32 *avg_pwr_l, const Word32 *avg_pwr_r, const int32_t sampling_rate, float *avg_pwr_l_out, float *avg_pwr_r_out ); #else static ivas_error ivas_reverb_get_fastconv_hrtf_set_energies( const HRTFS_FASTCONV_HANDLE hHrtfFastConv, const AUDIO_CONFIG input_audio_config, const int16_t use_brir, const int32_t sampling_rate, float *avg_pwr_left, float *avg_pwr_right ); #endif Loading Loading @@ -150,12 +150,10 @@ ivas_error ivas_reverb_prepare_cldfb_params( } #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES Word32 avg_pwr_left_temp[CLDFB_NO_CHANNELS_MAX]; Word32 avg_pwr_right_temp[CLDFB_NO_CHANNELS_MAX]; // floatToFixed_arr32(avg_pwr_left, avg_pwr_left_temp, Q15, CLDFB_NO_CHANNELS_MAX); // floatToFixed_arr32(avg_pwr_right, avg_pwr_right_temp, Q15, CLDFB_NO_CHANNELS_MAX); //Word32 avg_pwr_left_temp[CLDFB_NO_CHANNELS_MAX]; //Word32 avg_pwr_right_temp[CLDFB_NO_CHANNELS_MAX]; ivas_reverb_set_energies( hHrtfStatistics->average_energy_l, hHrtfStatistics->average_energy_r, output_Fs, avg_pwr_left_temp, avg_pwr_right_temp ); ivas_reverb_set_energies( hHrtfStatistics->average_energy_l, hHrtfStatistics->average_energy_r, output_Fs, avg_pwr_left, avg_pwr_right); #else if ( ( error = ivas_reverb_get_fastconv_hrtf_set_energies( hHrtfFastConv, input_audio_config, use_brir, output_Fs, avg_pwr_left, avg_pwr_right ) ) != IVAS_ERR_OK ) { Loading Loading @@ -312,8 +310,8 @@ static ivas_error ivas_reverb_get_fastconv_hrtf_set_energies( const int16_t use_brir, #endif const int32_t sampling_rate, Word32 *avg_pwr_left, Word32 *avg_pwr_right ) float *avg_pwr_left, float *avg_pwr_right ) { int16_t freq_idx; #ifndef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES Loading Loading @@ -347,6 +345,8 @@ static ivas_error ivas_reverb_get_fastconv_hrtf_set_energies( Word32 *output_fc_fx = (Word32 *) malloc( 257 * sizeof( Word32 * ) ); Word16 *avg_pwr_left_e = (Word16 *) malloc( 257 * sizeof( Word16 * ) ); Word16 *avg_pwr_right_e = (Word16 *) malloc( 257 * sizeof( Word16 * ) ); Word32 *avg_pwr_left_fx = (Word32 *) malloc( 257 * sizeof( Word32 * ) ); Word32 *avg_pwr_right_fx = (Word32 *) malloc( 257 * sizeof( Word32 * ) ); for ( int i = 0; i < 60; i++ ) { Loading @@ -359,7 +359,13 @@ static ivas_error ivas_reverb_get_fastconv_hrtf_set_energies( } ivas_reverb_interpolate_acoustic_data_fx( FFT_SPECTRUM_SIZE, input_fc_fx, avg_pwr_l, avg_pwr_r, CLDFB_NO_CHANNELS_MAX, output_fc_fx, avg_pwr_left, avg_pwr_right, avg_pwr_left_e, avg_pwr_right_e ); CLDFB_NO_CHANNELS_MAX, output_fc_fx, avg_pwr_left_fx, avg_pwr_right_fx, avg_pwr_left_e, avg_pwr_right_e ); for ( int i = 0; i < 257; i++ ) { avg_pwr_left[i] = (float) fabs( me2f( avg_pwr_left_fx[i], avg_pwr_left_e[i] ) ); avg_pwr_right[i] = (float) fabs( me2f( avg_pwr_right_fx[i], avg_pwr_right_e[i] ) ); } free( input_fc_fx ); free( output_fc_fx ); Loading Loading
lib_rend/ivas_reverb_fx.c +2 −2 Original line number Diff line number Diff line Loading @@ -2504,8 +2504,8 @@ ivas_error ivas_binaural_reverb_init( revEne = ene; float t60_temp[CLDFB_NO_CHANNELS_MAX]; float ene_temp[CLDFB_NO_CHANNELS_MAX]; fixedToFloat_arrL( t60, t60_temp, Q15, CLDFB_NO_CHANNELS_MAX ); fixedToFloat_arrL( ene, ene_temp, Q15, CLDFB_NO_CHANNELS_MAX ); // fixedToFloat_arrL( t60, t60_temp, Q15, CLDFB_NO_CHANNELS_MAX ); // fixedToFloat_arrL( ene, ene_temp, Q15, CLDFB_NO_CHANNELS_MAX ); // if ( ( error = ivas_reverb_prepare_cldfb_params( roomAcoustics, hHrtfStatistics, sampling_rate, t60, ene ) ) != IVAS_ERR_OK ) if ( ( error = ivas_reverb_prepare_cldfb_params( roomAcoustics, hHrtfStatistics, sampling_rate, t60_temp, ene_temp ) ) != IVAS_ERR_OK ) { Loading
lib_rend/ivas_reverb_utils_fx.c +15 −9 Original line number Diff line number Diff line Loading @@ -65,7 +65,7 @@ typedef struct cldfb_convolver_state } cldfb_convolver_state; #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES static void ivas_reverb_set_energies( const Word32 *avg_pwr_l, const Word32 *avg_pwr_r, const int32_t sampling_rate, Word32 *avg_pwr_l_out, Word32 *avg_pwr_r_out ); static void ivas_reverb_set_energies( const Word32 *avg_pwr_l, const Word32 *avg_pwr_r, const int32_t sampling_rate, float *avg_pwr_l_out, float *avg_pwr_r_out ); #else static ivas_error ivas_reverb_get_fastconv_hrtf_set_energies( const HRTFS_FASTCONV_HANDLE hHrtfFastConv, const AUDIO_CONFIG input_audio_config, const int16_t use_brir, const int32_t sampling_rate, float *avg_pwr_left, float *avg_pwr_right ); #endif Loading Loading @@ -150,12 +150,10 @@ ivas_error ivas_reverb_prepare_cldfb_params( } #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES Word32 avg_pwr_left_temp[CLDFB_NO_CHANNELS_MAX]; Word32 avg_pwr_right_temp[CLDFB_NO_CHANNELS_MAX]; // floatToFixed_arr32(avg_pwr_left, avg_pwr_left_temp, Q15, CLDFB_NO_CHANNELS_MAX); // floatToFixed_arr32(avg_pwr_right, avg_pwr_right_temp, Q15, CLDFB_NO_CHANNELS_MAX); //Word32 avg_pwr_left_temp[CLDFB_NO_CHANNELS_MAX]; //Word32 avg_pwr_right_temp[CLDFB_NO_CHANNELS_MAX]; ivas_reverb_set_energies( hHrtfStatistics->average_energy_l, hHrtfStatistics->average_energy_r, output_Fs, avg_pwr_left_temp, avg_pwr_right_temp ); ivas_reverb_set_energies( hHrtfStatistics->average_energy_l, hHrtfStatistics->average_energy_r, output_Fs, avg_pwr_left, avg_pwr_right); #else if ( ( error = ivas_reverb_get_fastconv_hrtf_set_energies( hHrtfFastConv, input_audio_config, use_brir, output_Fs, avg_pwr_left, avg_pwr_right ) ) != IVAS_ERR_OK ) { Loading Loading @@ -312,8 +310,8 @@ static ivas_error ivas_reverb_get_fastconv_hrtf_set_energies( const int16_t use_brir, #endif const int32_t sampling_rate, Word32 *avg_pwr_left, Word32 *avg_pwr_right ) float *avg_pwr_left, float *avg_pwr_right ) { int16_t freq_idx; #ifndef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES Loading Loading @@ -347,6 +345,8 @@ static ivas_error ivas_reverb_get_fastconv_hrtf_set_energies( Word32 *output_fc_fx = (Word32 *) malloc( 257 * sizeof( Word32 * ) ); Word16 *avg_pwr_left_e = (Word16 *) malloc( 257 * sizeof( Word16 * ) ); Word16 *avg_pwr_right_e = (Word16 *) malloc( 257 * sizeof( Word16 * ) ); Word32 *avg_pwr_left_fx = (Word32 *) malloc( 257 * sizeof( Word32 * ) ); Word32 *avg_pwr_right_fx = (Word32 *) malloc( 257 * sizeof( Word32 * ) ); for ( int i = 0; i < 60; i++ ) { Loading @@ -359,7 +359,13 @@ static ivas_error ivas_reverb_get_fastconv_hrtf_set_energies( } ivas_reverb_interpolate_acoustic_data_fx( FFT_SPECTRUM_SIZE, input_fc_fx, avg_pwr_l, avg_pwr_r, CLDFB_NO_CHANNELS_MAX, output_fc_fx, avg_pwr_left, avg_pwr_right, avg_pwr_left_e, avg_pwr_right_e ); CLDFB_NO_CHANNELS_MAX, output_fc_fx, avg_pwr_left_fx, avg_pwr_right_fx, avg_pwr_left_e, avg_pwr_right_e ); for ( int i = 0; i < 257; i++ ) { avg_pwr_left[i] = (float) fabs( me2f( avg_pwr_left_fx[i], avg_pwr_left_e[i] ) ); avg_pwr_right[i] = (float) fabs( me2f( avg_pwr_right_fx[i], avg_pwr_right_e[i] ) ); } free( input_fc_fx ); free( output_fc_fx ); Loading