Commit 579f7dd5 authored by Marek Szczerba's avatar Marek Szczerba
Browse files

Merging reverb open functions for FastConv and ParamBin

parent d96a6c30
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1232,7 +1232,7 @@ ivas_error ivas_binRenderer_open(
    if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV && st_ivas->hIntSetup.output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB )
    {
#ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES
        if ( ( error = ivas_binaural_reverb_open_fastconv( &( hBinRenderer->hReverb ), st_ivas->hHrtfStatistics, hBinRenderer->conv_band, hBinRenderer->timeSlots, &( st_ivas->hRenderConfig->roomAcoustics ), st_ivas->hDecoderConfig->output_Fs, st_ivas->hHrtfFastConv ) ) != IVAS_ERR_OK )
        if ( ( error = ivas_binaural_reverb_init( &( hBinRenderer->hReverb ), st_ivas->hHrtfStatistics, hBinRenderer->conv_band, hBinRenderer->timeSlots, &( st_ivas->hRenderConfig->roomAcoustics ), st_ivas->hDecoderConfig->output_Fs, st_ivas->hHrtfFastConv->fastconvReverberationTimes, st_ivas->hHrtfFastConv->fastconvReverberationEneCorrections ) ) != IVAS_ERR_OK )
#else
        if ( ( error = ivas_binaural_reverb_open_fastconv( &( hBinRenderer->hReverb ), hBinRenderer->conv_band, hBinRenderer->timeSlots, &( st_ivas->hRenderConfig->roomAcoustics ), st_ivas->hIntSetup.output_config, st_ivas->hDecoderConfig->output_Fs, st_ivas->hHrtfFastConv ) ) != IVAS_ERR_OK )
#endif
+1 −1
Original line number Diff line number Diff line
@@ -241,7 +241,7 @@ ivas_error ivas_dirac_dec_init_binaural_data(
            {
                /* 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. */
#ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES
                if ( ( error = ivas_binaural_reverb_open_parambin( &hDiracDecBin->hReverb, st_ivas->hHrtfStatistics, nBins, CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES, NULL, output_Fs, st_ivas->hHrtfParambin ) ) != IVAS_ERR_OK )
                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
                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
+15 −6
Original line number Diff line number Diff line
@@ -994,7 +994,11 @@ 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(
#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                  */
@@ -1002,27 +1006,31 @@ ivas_error ivas_binaural_reverb_open_fastconv(
#endif
    const int16_t numBins,                                      /* i  : number of CLDFB bins                    */
    const int16_t numCldfbSlotsPerFrame,                        /* i  : number of CLDFB slots per frame         */
    IVAS_ROOM_ACOUSTICS_CONFIG_DATA *roomAcoustics,             /* i/o: room acoustics parameters               */
#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
);

#ifndef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES
ivas_error ivas_binaural_reverb_open_parambin(
    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         */
    IVAS_ROOM_ACOUSTICS_CONFIG_DATA *roomAcoustics,             /* i/o: room acoustics parameters               */
    const int32_t sampling_rate,                                /* i  : sampling rate                           */
    const HRTFS_PARAMBIN_HANDLE hHrtfParambin                   /* i  : Parametric binauralizer HRTF handle     */
);
#endif

void ivas_binaural_reverb_close(
    REVERB_STRUCT_HANDLE *hReverb                               /* i/o: binaural reverb handle                  */
@@ -1205,13 +1213,14 @@ void ivas_reverb_calc_color_levels(

#ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES
ivas_error ivas_reverb_prepare_cldfb_params(
    IVAS_ROOM_ACOUSTICS_CONFIG_DATA *pInput_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,
    IVAS_ROOM_ACOUSTICS_CONFIG_DATA *pInput_params,
    const HRTFS_FASTCONV_HANDLE hHrtfFastConv,
    const AUDIO_CONFIG input_audio_config,
+25 −10
Original line number Diff line number Diff line
@@ -1903,14 +1903,22 @@ static ivas_error ivas_binaural_reverb_open(
    return IVAS_ERR_OK;
}


#ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES
/*-------------------------------------------------------------------------
 * ivas_binaural_reverb_init()
 *
 * Allocate and initialize binaural room reverberator handle
 * for CLDFB renderers
 *------------------------------------------------------------------------*/
ivas_error ivas_binaural_reverb_init(
#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               */
@@ -1918,13 +1926,19 @@ ivas_error ivas_binaural_reverb_open_fastconv(
#endif
    const int16_t numBins,                          /* i  : number of CLDFB bins                 */
    const int16_t numCldfbSlotsPerFrame,            /* i  : number of CLDFB slots per frame      */
    IVAS_ROOM_ACOUSTICS_CONFIG_DATA *roomAcoustics, /* i/o: room acoustics parameters            */
#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;
@@ -1952,8 +1966,13 @@ 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;
    }

@@ -1962,7 +1981,7 @@ ivas_error ivas_binaural_reverb_open_fastconv(
    return error;
}


#ifndef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES
/*-------------------------------------------------------------------------
 * ivas_binaural_reverb_open_parambin()
 *
@@ -1971,10 +1990,6 @@ ivas_error ivas_binaural_reverb_open_fastconv(

ivas_error ivas_binaural_reverb_open_parambin(
    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      */
    IVAS_ROOM_ACOUSTICS_CONFIG_DATA *roomAcoustics, /* i/o: room acoustics parameters            */
@@ -2013,7 +2028,7 @@ ivas_error ivas_binaural_reverb_open_parambin(

    return error;
}

#endif

/*-------------------------------------------------------------------------
 * ivas_binaural_reverb_close()
+2 −1
Original line number Diff line number Diff line
@@ -80,10 +80,11 @@ static ivas_error ivas_reverb_get_fastconv_hrtf_set_energies( const HRTFS_FASTCO
 *-----------------------------------------------------------------------------------------*/

ivas_error ivas_reverb_prepare_cldfb_params(
    IVAS_ROOM_ACOUSTICS_CONFIG_DATA *pInput_params,
#ifdef NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES
    const IVAS_ROOM_ACOUSTICS_CONFIG_DATA *pInput_params,
    const HRTFS_STATISTICS_HANDLE hHrtfStatistics,
#else
    IVAS_ROOM_ACOUSTICS_CONFIG_DATA *pInput_params,
    const HRTFS_FASTCONV_HANDLE hHrtfFastConv,
    const AUDIO_CONFIG input_audio_config,
    const int16_t use_brir,
Loading