Loading lib_rend/ivas_crend_fx.c +12 −1 Original line number Diff line number Diff line Loading @@ -1669,7 +1669,11 @@ ivas_error ivas_rend_openMultiBinCrend( ivas_error error; #ifdef SPLIT_REND_WITH_HEAD_ROT #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES if ( ( error = ivas_rend_openCrend( pCrend, inConfig, outConfig, NULL /*hRendCfg*/, NULL, NULL /* hHrtfStatistics */, output_Fs, pMultiBinPoseData->num_poses ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_rend_openCrend( pCrend, inConfig, outConfig, NULL /*hRendCfg*/, NULL, output_Fs, pMultiBinPoseData->num_poses ) ) != IVAS_ERR_OK ) #endif #else if ( ( error = ivas_rend_openCrend( pCrend, inConfig, outConfig, NULL /*hRendCfg*/, NULL, output_Fs ) ) != IVAS_ERR_OK ) #endif Loading @@ -1693,6 +1697,9 @@ ivas_error ivas_rend_openCrend( const AUDIO_CONFIG outConfig, RENDER_CONFIG_DATA *hRendCfg, HRTFS_CREND_HANDLE hSetOfHRTF, #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES HRTFS_STATISTICS_HANDLE hHrtfStatistics, #endif #ifdef SPLIT_REND_WITH_HEAD_ROT const Word32 output_Fs, const Word16 num_poses Loading Loading @@ -1867,7 +1874,11 @@ ivas_error ivas_rend_openCrend( IF( outConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES if( ( NE_32( error = ivas_reverb_open( &( hCrend->hReverb ), hHrtfStatistics, hRendCfg, output_Fs ) ) , IVAS_ERR_OK ) ) #else IF( NE_32( ( error = ivas_reverb_open_fx( &( hCrend->hReverb ), inConfig, ( *pCrend )->hHrtfCrend, NULL, hRendCfg, output_Fs ) ), IVAS_ERR_OK ) ) #endif { return error; } Loading lib_rend/ivas_dirac_dec_binaural_functions_fx.c +8 −3 Original line number Diff line number Diff line Loading @@ -315,8 +315,13 @@ ivas_error ivas_dirac_dec_init_binaural_data_fx( IF( hDiracDecBin->hReverb == NULL ) #endif { #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES if ( ( error = ivas_binaural_reverb_init( &hDiracDecBin->hReverb, st_ivas->hHrtfStatistics, nBins, CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES, &( st_ivas->hRenderConfig->roomAcoustics ), output_Fs, st_ivas->hHrtfParambin->parametricReverberationTimes, st_ivas->hHrtfParambin->parametricReverberationEneCorrections ) ) != IVAS_ERR_OK ) #else /* Todo Philips: Room acoustics should be passed here once the underlying part works. Probably enough to pick it from st_ivas but you know best. */ IF( NE_32( ( error = ivas_binaural_reverb_open_parambin( &hDiracDecBin->hReverb, nBins, CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES, NULL, output_Fs, st_ivas->hHrtfParambin ) ), IVAS_ERR_OK ) ) if ( ( error = ivas_binaural_reverb_open_parambin( &hDiracDecBin->hReverb, nBins, CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES, NULL, output_Fs, st_ivas->hHrtfParambin ) ) != IVAS_ERR_OK ) #endif { return error; } Loading lib_rend/ivas_hrtf_fx.c +98 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,9 @@ #include <stdint.h> #include "options.h" #include "prot_fx.h" #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES #include "ivas_rom_binaural_crend_head.h" #endif #include "ivas_prot_rend_fx.h" #include "ivas_error.h" #include "wmc_auto.h" Loading Loading @@ -212,3 +215,98 @@ void ivas_HRTF_parambin_binary_close_fx( return; } #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES /*-----------------------------------------------------------------------* * ivas_HRTF_statistics_binary_open() * * Allocate HRTF binary handle for statistics handler *-----------------------------------------------------------------------*/ ivas_error ivas_HRTF_statistics_binary_open( HRTFS_STATISTICS **hHrtfStatistics ) { *hHrtfStatistics = (HRTFS_STATISTICS *) malloc( sizeof( HRTFS_STATISTICS ) ); if ( *hHrtfStatistics == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for statistics HRTF tables!" ); } return IVAS_ERR_OK; } /*-----------------------------------------------------------------------* * ivas_HRTF_statistics_close() * * Close HRTF binary handle for statistics handler *-----------------------------------------------------------------------*/ void ivas_HRTF_statistics_close( HRTFS_STATISTICS **hHrtfStatistics ) { if ( hHrtfStatistics == NULL || *hHrtfStatistics == NULL ) { return; } free( *hHrtfStatistics ); *hHrtfStatistics = NULL; return; } /*-----------------------------------------------------------------------* * ivas_HRTF_statistics_init() * * Allocates HRTF statistics handle and initializes from ROM *-----------------------------------------------------------------------*/ ivas_error ivas_HRTF_statistics_init( HRTFS_STATISTICS_HANDLE *hHrtfStatistics, int32_t sampleRate ) { HRTFS_STATISTICS *HrtfStatistics; if ( hHrtfStatistics != NULL && *hHrtfStatistics != NULL ) { /* Tables already loaded from file */ return IVAS_ERR_OK; } /* Initialise tables from ROM */ if ( ( HrtfStatistics = (HRTFS_STATISTICS *) malloc( sizeof( HRTFS_STATISTICS ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for statistics HRTF tables!" ); } HrtfStatistics->average_energy_l = NULL; HrtfStatistics->average_energy_r = NULL; HrtfStatistics->inter_aural_coherence = NULL; switch ( sampleRate ) { case 48000: HrtfStatistics->average_energy_l = defaultHRIR_left_avg_power_48kHz; HrtfStatistics->average_energy_r = defaultHRIR_right_avg_power_48kHz; HrtfStatistics->inter_aural_coherence = defaultHRIR_coherence_48kHz; break; case 32000: HrtfStatistics->average_energy_l = defaultHRIR_left_avg_power_32kHz; HrtfStatistics->average_energy_r = defaultHRIR_right_avg_power_32kHz; HrtfStatistics->inter_aural_coherence = defaultHRIR_coherence_32kHz; break; case 16000: HrtfStatistics->average_energy_l = defaultHRIR_left_avg_power_16kHz; HrtfStatistics->average_energy_r = defaultHRIR_right_avg_power_16kHz; HrtfStatistics->inter_aural_coherence = defaultHRIR_coherence_16kHz; break; } HrtfStatistics->fromROM = TRUE; *hHrtfStatistics = HrtfStatistics; return IVAS_ERR_OK; } #endif No newline at end of file lib_rend/ivas_objectRenderer_mix_fx.c +3 −0 Original line number Diff line number Diff line Loading @@ -409,6 +409,8 @@ static ivas_error DefaultBSplineModel_fx( model = &( HrFiltSet_p->ModelParams ); modelITD = &( HrFiltSet_p->ModelParamsITD ); #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES #else SWITCH( output_Fs ) { case 48000: Loading Loading @@ -444,6 +446,7 @@ static ivas_error DefaultBSplineModel_fx( #endif BREAK; } #endif /* Set ROM flag for correct deallocation */ model->modelROM = TRUE; Loading lib_rend/ivas_prot_rend_fx.h +53 −1 Original line number Diff line number Diff line Loading @@ -620,6 +620,21 @@ void ivas_HRTF_CRend_binary_close_fx( HRTFS_CREND **hSetOfHRTF /* i/o: Set of HRTF handle */ ); #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES ivas_error ivas_HRTF_statistics_init( HRTFS_STATISTICS_HANDLE *hHrtfStatistics, /* i/o: HRTF statistics structure */ int32_t sampleRate /* i : Sample rate */ ); void ivas_HRTF_statistics_close( HRTFS_STATISTICS **hHrtfStatistics /* i/o: HRTF statistics structure */ ); ivas_error ivas_HRTF_statistics_binary_open( HRTFS_STATISTICS **hHrtfStatistics /* i/o: HRTF statistics structure */ ); #endif /*----------------------------------------------------------------------------------* * TD object renderer Loading Loading @@ -865,6 +880,9 @@ ivas_error ivas_rend_openCrend( const AUDIO_CONFIG outConfig, RENDER_CONFIG_DATA *hRendCfg, HRTFS_CREND_HANDLE hSetOfHRTF, #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES HRTFS_STATISTICS_HANDLE hHrtfStatistics, #endif #ifdef SPLIT_REND_WITH_HEAD_ROT const Word32 output_Fs, const Word16 num_poses Loading Loading @@ -919,16 +937,35 @@ ivas_error ivas_rend_crendProcessSubframe( * Reverberator *----------------------------------------------------------------------------------*/ #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES ivas_error ivas_binaural_reverb_init( #else ivas_error ivas_binaural_reverb_open_fastconv_fx( #endif REVERB_STRUCT_HANDLE *hReverbPr, /* i/o: binaural reverb handle */ #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES const HRTFS_STATISTICS_HANDLE hHrtfStatistics, /* i : HRTF statistics handle */ #else #endif const Word16 numBins, /* i : number of CLDFB bins */ const Word16 numCldfbSlotsPerFrame, /* i : number of CLDFB slots per frame */ #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES const IVAS_ROOM_ACOUSTICS_CONFIG_DATA *roomAcoustics, /* i/o: room acoustics parameters */ #else IVAS_ROOM_ACOUSTICS_CONFIG_DATA *roomAcoustics, /* i/o: room acoustics parameters */ const AUDIO_CONFIG internal_config, /* i : internal audio config for FastConv */ #endif const Word32 sampling_rate, /* i : sampling rate */ #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES const float *defaultTimes, /* i : default reverberation times */ const float *defaultEne /* i : default reverberation energies */ #else const HRTFS_FASTCONV_HANDLE hHrtfFastConv /* i : FastConv HRTF handle */ #endif ); #ifndef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES ivas_error ivas_binaural_reverb_open_parambin( REVERB_STRUCT_HANDLE *hReverbPr, /* i/o: binaural reverb handle */ const Word16 numBins, /* i : number of CLDFB bins Q0 */ Loading @@ -937,6 +974,7 @@ ivas_error ivas_binaural_reverb_open_parambin( const Word32 sampling_rate, /* i : sampling rate Q0 */ const HRTFS_PARAMBIN_HANDLE hHrtfParambin /* i : Parametric binauralizer HRTF handle */ ); #endif void ivas_binaural_reverb_close_fx( REVERB_STRUCT_HANDLE *hReverb /* i/o: binaural reverb handle */ Loading @@ -957,9 +995,13 @@ void ivas_binaural_reverb_processSubframe_fx( ivas_error ivas_reverb_open_fx( REVERB_HANDLE *hReverb, /* i/o: Reverberator handle */ #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES const HRTFS_STATISTICS_HANDLE hHrtfStatistics, /* i : HRTF statistics handle */ #else const AUDIO_CONFIG input_audio_config, /* i : reverb. input audio configuration */ const HRTFS_HANDLE hHrtf, /* i : HRTF handle */ const Word32 *lr_energy_and_iac_fx[], /* i : precomuputed lr energies and iac */ #endif RENDER_CONFIG_HANDLE hRenderConfig, /* i : Renderer configuration handle */ const Word32 output_Fs /* i : output sampling rate */ ); Loading Loading @@ -1105,6 +1147,14 @@ void ivas_reverb_calc_color_levels_fx( const Word32 *pT60_filter_coeff, //input in Q31 Word32 *pTarget_color_L, //output in Q30 Word32 *pTarget_color_R); //output in Q30 #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES ivas_error ivas_reverb_prepare_cldfb_params( const IVAS_ROOM_ACOUSTICS_CONFIG_DATA *pInput_params, const HRTFS_STATISTICS_HANDLE hHrtfStatistics, const int32_t output_Fs, float *pOutput_t60, float *pOutput_ene ); #else ivas_error ivas_reverb_prepare_cldfb_params( IVAS_ROOM_ACOUSTICS_CONFIG_DATA *pInput_params, const HRTFS_FASTCONV_HANDLE hHrtfFastConv, Loading @@ -1113,6 +1163,7 @@ ivas_error ivas_reverb_prepare_cldfb_params( const int32_t output_Fs, float *pOutput_t60, float *pOutput_ene ); #endif void ivas_reverb_interpolate_acoustic_data_fx( const Word16 input_table_size, const Word32 *pInput_fc, //input in Q16 Loading @@ -1125,6 +1176,7 @@ void ivas_reverb_interpolate_acoustic_data_fx( Word16 *pOutput_t60_e, //output e Word16 *pOutput_dsr_e //output e ); #ifndef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES void ivas_reverb_get_hrtf_set_properties_fx( Word32 **ppHrtf_set_L_re, Word32 **ppHrtf_set_L_im, Loading @@ -1138,7 +1190,7 @@ void ivas_reverb_get_hrtf_set_properties_fx( Word32 *pOut_avg_pwr_R, //output in Q23 Word32 *out_i_a_coherence //output in Q27 ); #endif /*---------------------------------------------------------------------------------* * Shoebox Prototypes *-----------------------------------------------------------------------------------*/ Loading Loading
lib_rend/ivas_crend_fx.c +12 −1 Original line number Diff line number Diff line Loading @@ -1669,7 +1669,11 @@ ivas_error ivas_rend_openMultiBinCrend( ivas_error error; #ifdef SPLIT_REND_WITH_HEAD_ROT #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES if ( ( error = ivas_rend_openCrend( pCrend, inConfig, outConfig, NULL /*hRendCfg*/, NULL, NULL /* hHrtfStatistics */, output_Fs, pMultiBinPoseData->num_poses ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_rend_openCrend( pCrend, inConfig, outConfig, NULL /*hRendCfg*/, NULL, output_Fs, pMultiBinPoseData->num_poses ) ) != IVAS_ERR_OK ) #endif #else if ( ( error = ivas_rend_openCrend( pCrend, inConfig, outConfig, NULL /*hRendCfg*/, NULL, output_Fs ) ) != IVAS_ERR_OK ) #endif Loading @@ -1693,6 +1697,9 @@ ivas_error ivas_rend_openCrend( const AUDIO_CONFIG outConfig, RENDER_CONFIG_DATA *hRendCfg, HRTFS_CREND_HANDLE hSetOfHRTF, #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES HRTFS_STATISTICS_HANDLE hHrtfStatistics, #endif #ifdef SPLIT_REND_WITH_HEAD_ROT const Word32 output_Fs, const Word16 num_poses Loading Loading @@ -1867,7 +1874,11 @@ ivas_error ivas_rend_openCrend( IF( outConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES if( ( NE_32( error = ivas_reverb_open( &( hCrend->hReverb ), hHrtfStatistics, hRendCfg, output_Fs ) ) , IVAS_ERR_OK ) ) #else IF( NE_32( ( error = ivas_reverb_open_fx( &( hCrend->hReverb ), inConfig, ( *pCrend )->hHrtfCrend, NULL, hRendCfg, output_Fs ) ), IVAS_ERR_OK ) ) #endif { return error; } Loading
lib_rend/ivas_dirac_dec_binaural_functions_fx.c +8 −3 Original line number Diff line number Diff line Loading @@ -315,8 +315,13 @@ ivas_error ivas_dirac_dec_init_binaural_data_fx( IF( hDiracDecBin->hReverb == NULL ) #endif { #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES if ( ( error = ivas_binaural_reverb_init( &hDiracDecBin->hReverb, st_ivas->hHrtfStatistics, nBins, CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES, &( st_ivas->hRenderConfig->roomAcoustics ), output_Fs, st_ivas->hHrtfParambin->parametricReverberationTimes, st_ivas->hHrtfParambin->parametricReverberationEneCorrections ) ) != IVAS_ERR_OK ) #else /* Todo Philips: Room acoustics should be passed here once the underlying part works. Probably enough to pick it from st_ivas but you know best. */ IF( NE_32( ( error = ivas_binaural_reverb_open_parambin( &hDiracDecBin->hReverb, nBins, CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES, NULL, output_Fs, st_ivas->hHrtfParambin ) ), IVAS_ERR_OK ) ) if ( ( error = ivas_binaural_reverb_open_parambin( &hDiracDecBin->hReverb, nBins, CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES, NULL, output_Fs, st_ivas->hHrtfParambin ) ) != IVAS_ERR_OK ) #endif { return error; } Loading
lib_rend/ivas_hrtf_fx.c +98 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,9 @@ #include <stdint.h> #include "options.h" #include "prot_fx.h" #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES #include "ivas_rom_binaural_crend_head.h" #endif #include "ivas_prot_rend_fx.h" #include "ivas_error.h" #include "wmc_auto.h" Loading Loading @@ -212,3 +215,98 @@ void ivas_HRTF_parambin_binary_close_fx( return; } #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES /*-----------------------------------------------------------------------* * ivas_HRTF_statistics_binary_open() * * Allocate HRTF binary handle for statistics handler *-----------------------------------------------------------------------*/ ivas_error ivas_HRTF_statistics_binary_open( HRTFS_STATISTICS **hHrtfStatistics ) { *hHrtfStatistics = (HRTFS_STATISTICS *) malloc( sizeof( HRTFS_STATISTICS ) ); if ( *hHrtfStatistics == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for statistics HRTF tables!" ); } return IVAS_ERR_OK; } /*-----------------------------------------------------------------------* * ivas_HRTF_statistics_close() * * Close HRTF binary handle for statistics handler *-----------------------------------------------------------------------*/ void ivas_HRTF_statistics_close( HRTFS_STATISTICS **hHrtfStatistics ) { if ( hHrtfStatistics == NULL || *hHrtfStatistics == NULL ) { return; } free( *hHrtfStatistics ); *hHrtfStatistics = NULL; return; } /*-----------------------------------------------------------------------* * ivas_HRTF_statistics_init() * * Allocates HRTF statistics handle and initializes from ROM *-----------------------------------------------------------------------*/ ivas_error ivas_HRTF_statistics_init( HRTFS_STATISTICS_HANDLE *hHrtfStatistics, int32_t sampleRate ) { HRTFS_STATISTICS *HrtfStatistics; if ( hHrtfStatistics != NULL && *hHrtfStatistics != NULL ) { /* Tables already loaded from file */ return IVAS_ERR_OK; } /* Initialise tables from ROM */ if ( ( HrtfStatistics = (HRTFS_STATISTICS *) malloc( sizeof( HRTFS_STATISTICS ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for statistics HRTF tables!" ); } HrtfStatistics->average_energy_l = NULL; HrtfStatistics->average_energy_r = NULL; HrtfStatistics->inter_aural_coherence = NULL; switch ( sampleRate ) { case 48000: HrtfStatistics->average_energy_l = defaultHRIR_left_avg_power_48kHz; HrtfStatistics->average_energy_r = defaultHRIR_right_avg_power_48kHz; HrtfStatistics->inter_aural_coherence = defaultHRIR_coherence_48kHz; break; case 32000: HrtfStatistics->average_energy_l = defaultHRIR_left_avg_power_32kHz; HrtfStatistics->average_energy_r = defaultHRIR_right_avg_power_32kHz; HrtfStatistics->inter_aural_coherence = defaultHRIR_coherence_32kHz; break; case 16000: HrtfStatistics->average_energy_l = defaultHRIR_left_avg_power_16kHz; HrtfStatistics->average_energy_r = defaultHRIR_right_avg_power_16kHz; HrtfStatistics->inter_aural_coherence = defaultHRIR_coherence_16kHz; break; } HrtfStatistics->fromROM = TRUE; *hHrtfStatistics = HrtfStatistics; return IVAS_ERR_OK; } #endif No newline at end of file
lib_rend/ivas_objectRenderer_mix_fx.c +3 −0 Original line number Diff line number Diff line Loading @@ -409,6 +409,8 @@ static ivas_error DefaultBSplineModel_fx( model = &( HrFiltSet_p->ModelParams ); modelITD = &( HrFiltSet_p->ModelParamsITD ); #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES #else SWITCH( output_Fs ) { case 48000: Loading Loading @@ -444,6 +446,7 @@ static ivas_error DefaultBSplineModel_fx( #endif BREAK; } #endif /* Set ROM flag for correct deallocation */ model->modelROM = TRUE; Loading
lib_rend/ivas_prot_rend_fx.h +53 −1 Original line number Diff line number Diff line Loading @@ -620,6 +620,21 @@ void ivas_HRTF_CRend_binary_close_fx( HRTFS_CREND **hSetOfHRTF /* i/o: Set of HRTF handle */ ); #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES ivas_error ivas_HRTF_statistics_init( HRTFS_STATISTICS_HANDLE *hHrtfStatistics, /* i/o: HRTF statistics structure */ int32_t sampleRate /* i : Sample rate */ ); void ivas_HRTF_statistics_close( HRTFS_STATISTICS **hHrtfStatistics /* i/o: HRTF statistics structure */ ); ivas_error ivas_HRTF_statistics_binary_open( HRTFS_STATISTICS **hHrtfStatistics /* i/o: HRTF statistics structure */ ); #endif /*----------------------------------------------------------------------------------* * TD object renderer Loading Loading @@ -865,6 +880,9 @@ ivas_error ivas_rend_openCrend( const AUDIO_CONFIG outConfig, RENDER_CONFIG_DATA *hRendCfg, HRTFS_CREND_HANDLE hSetOfHRTF, #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES HRTFS_STATISTICS_HANDLE hHrtfStatistics, #endif #ifdef SPLIT_REND_WITH_HEAD_ROT const Word32 output_Fs, const Word16 num_poses Loading Loading @@ -919,16 +937,35 @@ ivas_error ivas_rend_crendProcessSubframe( * Reverberator *----------------------------------------------------------------------------------*/ #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES ivas_error ivas_binaural_reverb_init( #else ivas_error ivas_binaural_reverb_open_fastconv_fx( #endif REVERB_STRUCT_HANDLE *hReverbPr, /* i/o: binaural reverb handle */ #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES const HRTFS_STATISTICS_HANDLE hHrtfStatistics, /* i : HRTF statistics handle */ #else #endif const Word16 numBins, /* i : number of CLDFB bins */ const Word16 numCldfbSlotsPerFrame, /* i : number of CLDFB slots per frame */ #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES const IVAS_ROOM_ACOUSTICS_CONFIG_DATA *roomAcoustics, /* i/o: room acoustics parameters */ #else IVAS_ROOM_ACOUSTICS_CONFIG_DATA *roomAcoustics, /* i/o: room acoustics parameters */ const AUDIO_CONFIG internal_config, /* i : internal audio config for FastConv */ #endif const Word32 sampling_rate, /* i : sampling rate */ #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES const float *defaultTimes, /* i : default reverberation times */ const float *defaultEne /* i : default reverberation energies */ #else const HRTFS_FASTCONV_HANDLE hHrtfFastConv /* i : FastConv HRTF handle */ #endif ); #ifndef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES ivas_error ivas_binaural_reverb_open_parambin( REVERB_STRUCT_HANDLE *hReverbPr, /* i/o: binaural reverb handle */ const Word16 numBins, /* i : number of CLDFB bins Q0 */ Loading @@ -937,6 +974,7 @@ ivas_error ivas_binaural_reverb_open_parambin( const Word32 sampling_rate, /* i : sampling rate Q0 */ const HRTFS_PARAMBIN_HANDLE hHrtfParambin /* i : Parametric binauralizer HRTF handle */ ); #endif void ivas_binaural_reverb_close_fx( REVERB_STRUCT_HANDLE *hReverb /* i/o: binaural reverb handle */ Loading @@ -957,9 +995,13 @@ void ivas_binaural_reverb_processSubframe_fx( ivas_error ivas_reverb_open_fx( REVERB_HANDLE *hReverb, /* i/o: Reverberator handle */ #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES const HRTFS_STATISTICS_HANDLE hHrtfStatistics, /* i : HRTF statistics handle */ #else const AUDIO_CONFIG input_audio_config, /* i : reverb. input audio configuration */ const HRTFS_HANDLE hHrtf, /* i : HRTF handle */ const Word32 *lr_energy_and_iac_fx[], /* i : precomuputed lr energies and iac */ #endif RENDER_CONFIG_HANDLE hRenderConfig, /* i : Renderer configuration handle */ const Word32 output_Fs /* i : output sampling rate */ ); Loading Loading @@ -1105,6 +1147,14 @@ void ivas_reverb_calc_color_levels_fx( const Word32 *pT60_filter_coeff, //input in Q31 Word32 *pTarget_color_L, //output in Q30 Word32 *pTarget_color_R); //output in Q30 #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES ivas_error ivas_reverb_prepare_cldfb_params( const IVAS_ROOM_ACOUSTICS_CONFIG_DATA *pInput_params, const HRTFS_STATISTICS_HANDLE hHrtfStatistics, const int32_t output_Fs, float *pOutput_t60, float *pOutput_ene ); #else ivas_error ivas_reverb_prepare_cldfb_params( IVAS_ROOM_ACOUSTICS_CONFIG_DATA *pInput_params, const HRTFS_FASTCONV_HANDLE hHrtfFastConv, Loading @@ -1113,6 +1163,7 @@ ivas_error ivas_reverb_prepare_cldfb_params( const int32_t output_Fs, float *pOutput_t60, float *pOutput_ene ); #endif void ivas_reverb_interpolate_acoustic_data_fx( const Word16 input_table_size, const Word32 *pInput_fc, //input in Q16 Loading @@ -1125,6 +1176,7 @@ void ivas_reverb_interpolate_acoustic_data_fx( Word16 *pOutput_t60_e, //output e Word16 *pOutput_dsr_e //output e ); #ifndef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES void ivas_reverb_get_hrtf_set_properties_fx( Word32 **ppHrtf_set_L_re, Word32 **ppHrtf_set_L_im, Loading @@ -1138,7 +1190,7 @@ void ivas_reverb_get_hrtf_set_properties_fx( Word32 *pOut_avg_pwr_R, //output in Q23 Word32 *out_i_a_coherence //output in Q27 ); #endif /*---------------------------------------------------------------------------------* * Shoebox Prototypes *-----------------------------------------------------------------------------------*/ Loading