Loading lib_rend/ivas_reverb.c +47 −28 Original line number Diff line number Diff line Loading @@ -1911,34 +1911,62 @@ static ivas_error ivas_binaural_reverb_open( * for CLDFB renderers *------------------------------------------------------------------------*/ ivas_error ivas_binaural_reverb_init( REVERB_STRUCT_HANDLE *hReverbPr, /* i/o: binaural reverb handle */ const HRTFS_STATISTICS_HANDLE hHrtfStatistics, /* i : HRTF statistics handle */ const int16_t numBins, /* i : number of CLDFB bins */ const int16_t numCldfbSlotsPerFrame, /* i : number of CLDFB slots per frame */ const IVAS_ROOM_ACOUSTICS_CONFIG_DATA *roomAcoustics, /* i/o: room acoustics parameters */ const int32_t sampling_rate, /* i : sampling rate */ const float *defaultTimes, /* i : default reverberation times */ const float *defaultEne /* i : default reverberation energies */ ) { ivas_error error; const float *revTimes; const float *revEne; float t60[CLDFB_NO_CHANNELS_MAX]; float ene[CLDFB_NO_CHANNELS_MAX]; int16_t preDelay; error = IVAS_ERR_OK; if ( ( roomAcoustics != NULL ) && roomAcoustics->override ) { revTimes = t60; revEne = ene; if ( ( error = ivas_reverb_prepare_cldfb_params( roomAcoustics, hHrtfStatistics, sampling_rate, t60, ene ) ) != IVAS_ERR_OK ) { return error; } preDelay = (int16_t) roundf( 48000.0f * roomAcoustics->acousticPreDelay / CLDFB_NO_CHANNELS_MAX ); } else { revTimes = defaultTimes; revEne = defaultEne; preDelay = 10; } error = ivas_binaural_reverb_open( hReverbPr, numBins, numCldfbSlotsPerFrame, sampling_rate, revTimes, revEne, preDelay ); return error; } #else /*------------------------------------------------------------------------- * ivas_binaural_reverb_open_fastconv() * * Allocate and initialize binaural room reverberator handle for FastConv *------------------------------------------------------------------------*/ ivas_error ivas_binaural_reverb_open_fastconv( #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 int16_t numBins, /* i : number of CLDFB bins */ const int16_t 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 int32_t 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 ) { ivas_error error; Loading @@ -1954,11 +1982,7 @@ ivas_error ivas_binaural_reverb_open_fastconv( { revTimes = t60; revEne = ene; #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES if ( ( error = ivas_reverb_prepare_cldfb_params( roomAcoustics, hHrtfStatistics, sampling_rate, t60, ene ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_reverb_prepare_cldfb_params( roomAcoustics, hHrtfFastConv, internal_config, false, sampling_rate, t60, ene ) ) != IVAS_ERR_OK ) #endif { return error; } Loading @@ -1966,13 +1990,8 @@ ivas_error ivas_binaural_reverb_open_fastconv( } else { #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES revTimes = defaultTimes; revEne = defaultEne; #else revTimes = hHrtfFastConv->fastconvReverberationTimes; revEne = hHrtfFastConv->fastconvReverberationEneCorrections; #endif preDelay = 10; } Loading @@ -1981,7 +2000,7 @@ ivas_error ivas_binaural_reverb_open_fastconv( return error; } #ifndef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES /*------------------------------------------------------------------------- * ivas_binaural_reverb_open_parambin() * Loading lib_rend/lib_rend.c +6 −1 Original line number Diff line number Diff line Loading @@ -3159,8 +3159,11 @@ static ivas_error setRendInputActiveMasa( #else RENDER_CONFIG_DATA *hRendCfg #endif #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES ) #else ) /* Todo: This is not used at all within MASA. Support might be better to do after refactoring. */ #endif { ivas_error error; rendering_context rendCtx; Loading @@ -3171,7 +3174,9 @@ static ivas_error setRendInputActiveMasa( inputMasa = (input_masa *) input; rendCtx = inputMasa->base.ctx; outConfig = *rendCtx.pOutConfig; #ifndef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES (void) hRendCfg; /* Suppress warning */ #endif if ( !isIoConfigPairSupported( inConfig, outConfig ) ) { Loading Loading
lib_rend/ivas_reverb.c +47 −28 Original line number Diff line number Diff line Loading @@ -1911,34 +1911,62 @@ static ivas_error ivas_binaural_reverb_open( * for CLDFB renderers *------------------------------------------------------------------------*/ ivas_error ivas_binaural_reverb_init( REVERB_STRUCT_HANDLE *hReverbPr, /* i/o: binaural reverb handle */ const HRTFS_STATISTICS_HANDLE hHrtfStatistics, /* i : HRTF statistics handle */ const int16_t numBins, /* i : number of CLDFB bins */ const int16_t numCldfbSlotsPerFrame, /* i : number of CLDFB slots per frame */ const IVAS_ROOM_ACOUSTICS_CONFIG_DATA *roomAcoustics, /* i/o: room acoustics parameters */ const int32_t sampling_rate, /* i : sampling rate */ const float *defaultTimes, /* i : default reverberation times */ const float *defaultEne /* i : default reverberation energies */ ) { ivas_error error; const float *revTimes; const float *revEne; float t60[CLDFB_NO_CHANNELS_MAX]; float ene[CLDFB_NO_CHANNELS_MAX]; int16_t preDelay; error = IVAS_ERR_OK; if ( ( roomAcoustics != NULL ) && roomAcoustics->override ) { revTimes = t60; revEne = ene; if ( ( error = ivas_reverb_prepare_cldfb_params( roomAcoustics, hHrtfStatistics, sampling_rate, t60, ene ) ) != IVAS_ERR_OK ) { return error; } preDelay = (int16_t) roundf( 48000.0f * roomAcoustics->acousticPreDelay / CLDFB_NO_CHANNELS_MAX ); } else { revTimes = defaultTimes; revEne = defaultEne; preDelay = 10; } error = ivas_binaural_reverb_open( hReverbPr, numBins, numCldfbSlotsPerFrame, sampling_rate, revTimes, revEne, preDelay ); return error; } #else /*------------------------------------------------------------------------- * ivas_binaural_reverb_open_fastconv() * * Allocate and initialize binaural room reverberator handle for FastConv *------------------------------------------------------------------------*/ ivas_error ivas_binaural_reverb_open_fastconv( #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 int16_t numBins, /* i : number of CLDFB bins */ const int16_t 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 int32_t 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 ) { ivas_error error; Loading @@ -1954,11 +1982,7 @@ ivas_error ivas_binaural_reverb_open_fastconv( { revTimes = t60; revEne = ene; #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES if ( ( error = ivas_reverb_prepare_cldfb_params( roomAcoustics, hHrtfStatistics, sampling_rate, t60, ene ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_reverb_prepare_cldfb_params( roomAcoustics, hHrtfFastConv, internal_config, false, sampling_rate, t60, ene ) ) != IVAS_ERR_OK ) #endif { return error; } Loading @@ -1966,13 +1990,8 @@ ivas_error ivas_binaural_reverb_open_fastconv( } else { #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES revTimes = defaultTimes; revEne = defaultEne; #else revTimes = hHrtfFastConv->fastconvReverberationTimes; revEne = hHrtfFastConv->fastconvReverberationEneCorrections; #endif preDelay = 10; } Loading @@ -1981,7 +2000,7 @@ ivas_error ivas_binaural_reverb_open_fastconv( return error; } #ifndef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES /*------------------------------------------------------------------------- * ivas_binaural_reverb_open_parambin() * Loading
lib_rend/lib_rend.c +6 −1 Original line number Diff line number Diff line Loading @@ -3159,8 +3159,11 @@ static ivas_error setRendInputActiveMasa( #else RENDER_CONFIG_DATA *hRendCfg #endif #ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES ) #else ) /* Todo: This is not used at all within MASA. Support might be better to do after refactoring. */ #endif { ivas_error error; rendering_context rendCtx; Loading @@ -3171,7 +3174,9 @@ static ivas_error setRendInputActiveMasa( inputMasa = (input_masa *) input; rendCtx = inputMasa->base.ctx; outConfig = *rendCtx.pOutConfig; #ifndef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES (void) hRendCfg; /* Suppress warning */ #endif if ( !isIoConfigPairSupported( inConfig, outConfig ) ) { Loading