Loading lib_com/ivas_prot.h +2 −2 Original line number Diff line number Diff line Loading @@ -5361,8 +5361,8 @@ void ivas_reverb_calc_color_levels( void ivas_reverb_prepare_cldfb_params( ivas_roomAcoustics_t *pInput_params, AUDIO_CONFIG renderer_config, int16_t use_brir, const AUDIO_CONFIG renderer_config, const int16_t use_brir, const int32_t output_Fs, float *pOutput_t60, float *pOutput_ene ); Loading lib_dec/acelp_core_dec.c +4 −5 Original line number Diff line number Diff line Loading @@ -123,6 +123,8 @@ ivas_error acelp_core_dec( int16_t local_element_mode; ivas_error error; wmops_sub_start( "acelp_core_dec" ); error = IVAS_ERR_OK; if ( st->element_mode == IVAS_CPE_MDCT && nchan_out == 1 && st->idchan == 1 && last_element_brate <= IVAS_SID_4k4 ) Loading @@ -131,8 +133,6 @@ ivas_error acelp_core_dec( return error; } wmops_sub_start( "acelp_core_dec" ); output_frame = (int16_t) ( st->output_Fs / FRAMES_PER_SEC ); /*----------------------------------------------------------------* Loading Loading @@ -801,7 +801,6 @@ ivas_error acelp_core_dec( return error; } if ( st->element_mode == IVAS_CPE_TD ) { tmp_noise = st->lp_gainc; Loading lib_dec/dec_gen_voic.c +3 −5 Original line number Diff line number Diff line Loading @@ -264,7 +264,6 @@ ivas_error decod_gen_voic( return error; } DTFS_to_fs( st->hWIDec->old_exc2 + shft_prev, (int16_t) rint_new( st->bfi_pitch ), PREVP, (int16_t) st->output_Fs, do_WI ); DTFS_to_fs( exc2 + shft_curr, (int16_t) rint_new( pitch_buf[NB_SUBFR16k - 1] ), CURRP, (int16_t) st->output_Fs, do_WI ); Loading @@ -274,7 +273,6 @@ ivas_error decod_gen_voic( return error; } mvr2r( out, exc2, st->L_frame ); mvr2r( exc2, exc, st->L_frame ); Loading lib_dec/ivas_reverb.c +24 −3 Original line number Diff line number Diff line Loading @@ -2217,7 +2217,9 @@ static void clear_buffers( * Sets frame size and fft-filter related sizes *-----------------------------------------------------------------------------------------*/ static void set_fft_and_datablock_sizes( REVERB_HANDLE pState, int16_t subframe_len ) static void set_fft_and_datablock_sizes( REVERB_HANDLE pState, const int16_t subframe_len ) { pState->full_block_size = subframe_len; if ( subframe_len == L_FRAME48k / MAX_PARAM_SPATIAL_SUBFRAMES ) Loading @@ -2239,7 +2241,10 @@ static void set_fft_and_datablock_sizes( REVERB_HANDLE pState, int16_t subframe_ { assert( 0 ); /* unsupported block size */ } pState->fft_subblock_size = subframe_len / pState->num_fft_subblocks; return; } Loading @@ -2249,7 +2254,13 @@ static void set_fft_and_datablock_sizes( REVERB_HANDLE pState, int16_t subframe_ * Sets reverb acoustic data (room acoustics and HRTF), interpolating it to the filter grid *-----------------------------------------------------------------------------------------*/ static void set_reverb_acoustic_data( ivas_reverb_params_t *pParams, const HRTFS_HANDLE hHrtf, ivas_roomAcoustics_t *pRoomAcoustics, int16_t subframe_len, int16_t nr_fc_input, int16_t nr_fc_fft_filter ) static void set_reverb_acoustic_data( ivas_reverb_params_t *pParams, const HRTFS_HANDLE hHrtf, ivas_roomAcoustics_t *pRoomAcoustics, const int16_t subframe_len, const int16_t nr_fc_input, const int16_t nr_fc_fft_filter ) { int16_t nr_out_ch, hrtf_idx, offset, iter_idx, bin_idx; float ln_1e6_inverted, delay_diff, exp_argument; Loading Loading @@ -2316,6 +2327,8 @@ static void set_reverb_acoustic_data( ivas_reverb_params_t *pParams, const HRTFS exp_argument = max( exp_argument, -23.0f ); pParams->pDsr[bin_idx] *= expf( exp_argument ); } return; } Loading @@ -2325,7 +2338,9 @@ static void set_reverb_acoustic_data( ivas_reverb_params_t *pParams, const HRTFS * Sets up feedback delay network system *-----------------------------------------------------------------------------------------*/ static ivas_error setup_FDN_branches( REVERB_HANDLE pState, ivas_reverb_params_t *pParams ) static ivas_error setup_FDN_branches( REVERB_HANDLE pState, ivas_reverb_params_t *pParams ) { int16_t nr_coefs, branch_idx, channel_idx; ivas_error error; Loading Loading @@ -2382,6 +2397,7 @@ static ivas_error setup_FDN_branches( REVERB_HANDLE pState, ivas_reverb_params_t return error; } /*------------------------------------------------------------------------- * ivas_reverb_open() * Loading Loading @@ -2544,6 +2560,7 @@ ivas_error ivas_reverb_open( } *hReverb = pState; return error; } Loading Loading @@ -2649,6 +2666,7 @@ static void reverb_block( { ppOutput[branch_idx] = (float *) Output + branch_idx * inner_bsize; } for ( k = 0; k < bsize; k += inner_bsize ) { float *pO0 = &pOut0[k]; Loading Loading @@ -2679,10 +2697,12 @@ static void reverb_block( for ( i = 0; i < nr_branches; i++ ) { float *pIn = &pInput[k]; for ( ns = 0; ns < inner_bsize; ns++ ) { pFeedback_input[ns] = pIn[ns]; } for ( j = 0; j < nr_branches; j++ ) { float gain_matrix_j_i = pState->gain_matrix[j][i]; Loading @@ -2692,6 +2712,7 @@ static void reverb_block( pFeedback_input[ns] += gain_matrix_j_i * pOutput[ns]; } } ivas_rev_delay_line_feed_sample_blk( &( pState->delay_line[i] ), inner_bsize, pFeedback_input ); } } Loading lib_dec/ivas_reverb_utils.c +17 −20 Original line number Diff line number Diff line Loading @@ -67,12 +67,7 @@ typedef struct cldfb_convolver_state float filter_states_im[BINAURAL_CONVBANDS][CLDFB_CONVOLVER_NTAPS_MAX]; } cldfb_convolver_state; static void ivas_reverb_get_fastconv_hrtf_set_energies( AUDIO_CONFIG input_config, int16_t use_brir, int32_t sampling_rate, float *avg_pwr_left, float *avg_pwr_right ); static void ivas_reverb_get_fastconv_hrtf_set_energies( const AUDIO_CONFIG input_config, const int16_t use_brir, const int32_t sampling_rate, float *avg_pwr_left, float *avg_pwr_right ); /*-----------------------------------------------------------------------------------------* Loading @@ -83,8 +78,8 @@ static void ivas_reverb_get_fastconv_hrtf_set_energies( void ivas_reverb_prepare_cldfb_params( ivas_roomAcoustics_t *pInput_params, AUDIO_CONFIG renderer_config, int16_t use_brir, const AUDIO_CONFIG renderer_config, const int16_t use_brir, const int32_t output_Fs, float *pOutput_t60, float *pOutput_ene ) Loading Loading @@ -128,6 +123,7 @@ void ivas_reverb_prepare_cldfb_params( } ivas_reverb_get_fastconv_hrtf_set_energies( renderer_config, use_brir, output_Fs, avg_pwr_left, avg_pwr_right ); for ( idx = 0; idx < CLDFB_NO_CHANNELS_MAX; idx++ ) { pOutput_ene[idx] *= 0.5f * ( avg_pwr_left[idx] + avg_pwr_right[idx] ) * dmx_gain_2; Loading @@ -149,8 +145,9 @@ static void ivas_cldfb_convolver( float out_CLDFB_imag[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX], /* o : imag part of binaural signals */ float in_CLDFB_real[CLDFB_NO_CHANNELS_MAX], /* i : real part of input signals */ float in_CLDFB_imag[CLDFB_NO_CHANNELS_MAX], /* i : imag part of input signals */ int16_t num_conv_bands, /* i : number of convolution bands */ int16_t num_taps ) /* i : number of filter taps */ const int16_t num_conv_bands, /* i : number of convolution bands */ const int16_t num_taps /* i : number of filter taps */ ) { int16_t band_idx, tap_idx; float *filter_states_real_ptr, *filter_states_imag_ptr; Loading Loading @@ -209,11 +206,11 @@ static void ivas_cldfb_convolver( *-----------------------------------------------------------------------------------------*/ static void get_IR_from_filter_taps( int16_t hrtf_idx, AUDIO_CONFIG input_config, int16_t use_brir, int32_t sampling_rate, int16_t pulse_length, const int16_t hrtf_idx, const AUDIO_CONFIG input_config, const int16_t use_brir, const int32_t sampling_rate, const int16_t pulse_length, float *pOut_l, float *pOut_r ) { Loading Loading @@ -375,8 +372,8 @@ static void get_IR_from_filter_taps( static void ivas_reverb_get_cldfb_hrtf_set_properties( AUDIO_CONFIG input_config, int16_t use_brir, int32_t sampling_rate, const int16_t use_brir, const int32_t sampling_rate, float *avg_pwr_left, float *avg_pwr_right ) { Loading Loading @@ -467,9 +464,9 @@ static void ivas_reverb_get_cldfb_hrtf_set_properties( *-----------------------------------------------------------------------------------------*/ static void ivas_reverb_get_fastconv_hrtf_set_energies( AUDIO_CONFIG input_config, int16_t use_brir, int32_t sampling_rate, const AUDIO_CONFIG input_config, const int16_t use_brir, const int32_t sampling_rate, float *avg_pwr_left, float *avg_pwr_right ) { Loading Loading
lib_com/ivas_prot.h +2 −2 Original line number Diff line number Diff line Loading @@ -5361,8 +5361,8 @@ void ivas_reverb_calc_color_levels( void ivas_reverb_prepare_cldfb_params( ivas_roomAcoustics_t *pInput_params, AUDIO_CONFIG renderer_config, int16_t use_brir, const AUDIO_CONFIG renderer_config, const int16_t use_brir, const int32_t output_Fs, float *pOutput_t60, float *pOutput_ene ); Loading
lib_dec/acelp_core_dec.c +4 −5 Original line number Diff line number Diff line Loading @@ -123,6 +123,8 @@ ivas_error acelp_core_dec( int16_t local_element_mode; ivas_error error; wmops_sub_start( "acelp_core_dec" ); error = IVAS_ERR_OK; if ( st->element_mode == IVAS_CPE_MDCT && nchan_out == 1 && st->idchan == 1 && last_element_brate <= IVAS_SID_4k4 ) Loading @@ -131,8 +133,6 @@ ivas_error acelp_core_dec( return error; } wmops_sub_start( "acelp_core_dec" ); output_frame = (int16_t) ( st->output_Fs / FRAMES_PER_SEC ); /*----------------------------------------------------------------* Loading Loading @@ -801,7 +801,6 @@ ivas_error acelp_core_dec( return error; } if ( st->element_mode == IVAS_CPE_TD ) { tmp_noise = st->lp_gainc; Loading
lib_dec/dec_gen_voic.c +3 −5 Original line number Diff line number Diff line Loading @@ -264,7 +264,6 @@ ivas_error decod_gen_voic( return error; } DTFS_to_fs( st->hWIDec->old_exc2 + shft_prev, (int16_t) rint_new( st->bfi_pitch ), PREVP, (int16_t) st->output_Fs, do_WI ); DTFS_to_fs( exc2 + shft_curr, (int16_t) rint_new( pitch_buf[NB_SUBFR16k - 1] ), CURRP, (int16_t) st->output_Fs, do_WI ); Loading @@ -274,7 +273,6 @@ ivas_error decod_gen_voic( return error; } mvr2r( out, exc2, st->L_frame ); mvr2r( exc2, exc, st->L_frame ); Loading
lib_dec/ivas_reverb.c +24 −3 Original line number Diff line number Diff line Loading @@ -2217,7 +2217,9 @@ static void clear_buffers( * Sets frame size and fft-filter related sizes *-----------------------------------------------------------------------------------------*/ static void set_fft_and_datablock_sizes( REVERB_HANDLE pState, int16_t subframe_len ) static void set_fft_and_datablock_sizes( REVERB_HANDLE pState, const int16_t subframe_len ) { pState->full_block_size = subframe_len; if ( subframe_len == L_FRAME48k / MAX_PARAM_SPATIAL_SUBFRAMES ) Loading @@ -2239,7 +2241,10 @@ static void set_fft_and_datablock_sizes( REVERB_HANDLE pState, int16_t subframe_ { assert( 0 ); /* unsupported block size */ } pState->fft_subblock_size = subframe_len / pState->num_fft_subblocks; return; } Loading @@ -2249,7 +2254,13 @@ static void set_fft_and_datablock_sizes( REVERB_HANDLE pState, int16_t subframe_ * Sets reverb acoustic data (room acoustics and HRTF), interpolating it to the filter grid *-----------------------------------------------------------------------------------------*/ static void set_reverb_acoustic_data( ivas_reverb_params_t *pParams, const HRTFS_HANDLE hHrtf, ivas_roomAcoustics_t *pRoomAcoustics, int16_t subframe_len, int16_t nr_fc_input, int16_t nr_fc_fft_filter ) static void set_reverb_acoustic_data( ivas_reverb_params_t *pParams, const HRTFS_HANDLE hHrtf, ivas_roomAcoustics_t *pRoomAcoustics, const int16_t subframe_len, const int16_t nr_fc_input, const int16_t nr_fc_fft_filter ) { int16_t nr_out_ch, hrtf_idx, offset, iter_idx, bin_idx; float ln_1e6_inverted, delay_diff, exp_argument; Loading Loading @@ -2316,6 +2327,8 @@ static void set_reverb_acoustic_data( ivas_reverb_params_t *pParams, const HRTFS exp_argument = max( exp_argument, -23.0f ); pParams->pDsr[bin_idx] *= expf( exp_argument ); } return; } Loading @@ -2325,7 +2338,9 @@ static void set_reverb_acoustic_data( ivas_reverb_params_t *pParams, const HRTFS * Sets up feedback delay network system *-----------------------------------------------------------------------------------------*/ static ivas_error setup_FDN_branches( REVERB_HANDLE pState, ivas_reverb_params_t *pParams ) static ivas_error setup_FDN_branches( REVERB_HANDLE pState, ivas_reverb_params_t *pParams ) { int16_t nr_coefs, branch_idx, channel_idx; ivas_error error; Loading Loading @@ -2382,6 +2397,7 @@ static ivas_error setup_FDN_branches( REVERB_HANDLE pState, ivas_reverb_params_t return error; } /*------------------------------------------------------------------------- * ivas_reverb_open() * Loading Loading @@ -2544,6 +2560,7 @@ ivas_error ivas_reverb_open( } *hReverb = pState; return error; } Loading Loading @@ -2649,6 +2666,7 @@ static void reverb_block( { ppOutput[branch_idx] = (float *) Output + branch_idx * inner_bsize; } for ( k = 0; k < bsize; k += inner_bsize ) { float *pO0 = &pOut0[k]; Loading Loading @@ -2679,10 +2697,12 @@ static void reverb_block( for ( i = 0; i < nr_branches; i++ ) { float *pIn = &pInput[k]; for ( ns = 0; ns < inner_bsize; ns++ ) { pFeedback_input[ns] = pIn[ns]; } for ( j = 0; j < nr_branches; j++ ) { float gain_matrix_j_i = pState->gain_matrix[j][i]; Loading @@ -2692,6 +2712,7 @@ static void reverb_block( pFeedback_input[ns] += gain_matrix_j_i * pOutput[ns]; } } ivas_rev_delay_line_feed_sample_blk( &( pState->delay_line[i] ), inner_bsize, pFeedback_input ); } } Loading
lib_dec/ivas_reverb_utils.c +17 −20 Original line number Diff line number Diff line Loading @@ -67,12 +67,7 @@ typedef struct cldfb_convolver_state float filter_states_im[BINAURAL_CONVBANDS][CLDFB_CONVOLVER_NTAPS_MAX]; } cldfb_convolver_state; static void ivas_reverb_get_fastconv_hrtf_set_energies( AUDIO_CONFIG input_config, int16_t use_brir, int32_t sampling_rate, float *avg_pwr_left, float *avg_pwr_right ); static void ivas_reverb_get_fastconv_hrtf_set_energies( const AUDIO_CONFIG input_config, const int16_t use_brir, const int32_t sampling_rate, float *avg_pwr_left, float *avg_pwr_right ); /*-----------------------------------------------------------------------------------------* Loading @@ -83,8 +78,8 @@ static void ivas_reverb_get_fastconv_hrtf_set_energies( void ivas_reverb_prepare_cldfb_params( ivas_roomAcoustics_t *pInput_params, AUDIO_CONFIG renderer_config, int16_t use_brir, const AUDIO_CONFIG renderer_config, const int16_t use_brir, const int32_t output_Fs, float *pOutput_t60, float *pOutput_ene ) Loading Loading @@ -128,6 +123,7 @@ void ivas_reverb_prepare_cldfb_params( } ivas_reverb_get_fastconv_hrtf_set_energies( renderer_config, use_brir, output_Fs, avg_pwr_left, avg_pwr_right ); for ( idx = 0; idx < CLDFB_NO_CHANNELS_MAX; idx++ ) { pOutput_ene[idx] *= 0.5f * ( avg_pwr_left[idx] + avg_pwr_right[idx] ) * dmx_gain_2; Loading @@ -149,8 +145,9 @@ static void ivas_cldfb_convolver( float out_CLDFB_imag[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX], /* o : imag part of binaural signals */ float in_CLDFB_real[CLDFB_NO_CHANNELS_MAX], /* i : real part of input signals */ float in_CLDFB_imag[CLDFB_NO_CHANNELS_MAX], /* i : imag part of input signals */ int16_t num_conv_bands, /* i : number of convolution bands */ int16_t num_taps ) /* i : number of filter taps */ const int16_t num_conv_bands, /* i : number of convolution bands */ const int16_t num_taps /* i : number of filter taps */ ) { int16_t band_idx, tap_idx; float *filter_states_real_ptr, *filter_states_imag_ptr; Loading Loading @@ -209,11 +206,11 @@ static void ivas_cldfb_convolver( *-----------------------------------------------------------------------------------------*/ static void get_IR_from_filter_taps( int16_t hrtf_idx, AUDIO_CONFIG input_config, int16_t use_brir, int32_t sampling_rate, int16_t pulse_length, const int16_t hrtf_idx, const AUDIO_CONFIG input_config, const int16_t use_brir, const int32_t sampling_rate, const int16_t pulse_length, float *pOut_l, float *pOut_r ) { Loading Loading @@ -375,8 +372,8 @@ static void get_IR_from_filter_taps( static void ivas_reverb_get_cldfb_hrtf_set_properties( AUDIO_CONFIG input_config, int16_t use_brir, int32_t sampling_rate, const int16_t use_brir, const int32_t sampling_rate, float *avg_pwr_left, float *avg_pwr_right ) { Loading Loading @@ -467,9 +464,9 @@ static void ivas_reverb_get_cldfb_hrtf_set_properties( *-----------------------------------------------------------------------------------------*/ static void ivas_reverb_get_fastconv_hrtf_set_energies( AUDIO_CONFIG input_config, int16_t use_brir, int32_t sampling_rate, const AUDIO_CONFIG input_config, const int16_t use_brir, const int32_t sampling_rate, float *avg_pwr_left, float *avg_pwr_right ) { Loading