Loading lib_dec/ivas_binauralRenderer.c +13 −13 Original line number Diff line number Diff line Loading @@ -666,29 +666,29 @@ static void ivas_binRenderer_convModuleClose( for ( i = 0; i < ( *hBinRenderer )->conv_band; i++ ) { count_free( (float **) hBinRenConvModule->filterTapsLeftReal[i] ); count_free( hBinRenConvModule->filterTapsLeftReal[i] ); hBinRenConvModule->filterTapsLeftReal[i] = NULL; count_free( (float **) hBinRenConvModule->filterTapsLeftImag[i] ); count_free( hBinRenConvModule->filterTapsLeftImag[i] ); hBinRenConvModule->filterTapsLeftImag[i] = NULL; count_free( (float **) hBinRenConvModule->filterTapsRightReal[i] ); count_free( hBinRenConvModule->filterTapsRightReal[i] ); hBinRenConvModule->filterTapsRightReal[i] = NULL; count_free( (float **) hBinRenConvModule->filterTapsRightImag[i] ); count_free( hBinRenConvModule->filterTapsRightImag[i] ); hBinRenConvModule->filterTapsRightImag[i] = NULL; } count_free( (float *) hBinRenConvModule->filterTapsLeftReal ); count_free( hBinRenConvModule->filterTapsLeftReal ); hBinRenConvModule->filterTapsLeftReal = NULL; count_free( (float *) hBinRenConvModule->filterTapsLeftImag ); count_free( hBinRenConvModule->filterTapsLeftImag ); hBinRenConvModule->filterTapsLeftImag = NULL; count_free( (float *) hBinRenConvModule->filterTapsRightReal ); count_free( hBinRenConvModule->filterTapsRightReal ); hBinRenConvModule->filterTapsRightReal = NULL; count_free( (float *) hBinRenConvModule->filterTapsRightImag ); count_free( hBinRenConvModule->filterTapsRightImag ); hBinRenConvModule->filterTapsRightImag = NULL; Loading Loading @@ -942,10 +942,10 @@ void ivas_binRenderer( /* Obtain the binaural dmx and compute the reverb */ if ( hBinRenderer->hReverb != NULL ) { float reverbRe[2][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float reverbIm[2][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float inRe[2][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float inIm[2][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float reverbRe[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float reverbIm[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float inRe[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float inIm[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; ivas_binaural_obtain_DMX( numTimeSlots, hBinRenderer, RealBuffer, ImagBuffer, inRe, inIm ); Loading @@ -958,7 +958,7 @@ void ivas_binRenderer( } } ivas_binaural_reverb_processFrame( hBinRenderer->hReverb, 2, inRe, inIm, reverbRe, reverbIm, 0u ); ivas_binaural_reverb_processFrame( hBinRenderer->hReverb, BINAURAL_CHANNELS, inRe, inIm, reverbRe, reverbIm, 0u ); /* Add the conv module and reverb module output */ for ( chIdx = 0; chIdx < BINAURAL_CHANNELS; chIdx++ ) Loading lib_dec/ivas_rom_binauralRenderer.h +23 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,21 @@ /* Binaural rendering data set based on HRIRs */ extern const float FASTCONV_HRIR_latency_s; #ifdef SRAM_REDUCTION_BINRENDERER extern float leftHRIRReal_HOA3[BINAURAL_CONVBANDS][16][7]; extern float leftHRIRImag_HOA3[BINAURAL_CONVBANDS][16][7]; extern float rightHRIRReal_HOA3[BINAURAL_CONVBANDS][16][7]; extern float rightHRIRImag_HOA3[BINAURAL_CONVBANDS][16][7]; extern float leftHRIRReal[BINAURAL_CONVBANDS][15][7]; extern float leftHRIRImag[BINAURAL_CONVBANDS][15][7]; extern float rightHRIRReal[BINAURAL_CONVBANDS][15][7]; extern float rightHRIRImag[BINAURAL_CONVBANDS][15][7]; extern float FASTCONV_HOA3_latency_s; extern float hrtfShCoeffsRe[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS]; extern float hrtfShCoeffsIm[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS]; #else extern const float leftHRIRReal_HOA3[BINAURAL_CONVBANDS][16][7]; extern const float leftHRIRImag_HOA3[BINAURAL_CONVBANDS][16][7]; extern const float rightHRIRReal_HOA3[BINAURAL_CONVBANDS][16][7]; Loading @@ -57,13 +72,21 @@ extern const float rightHRIRImag[BINAURAL_CONVBANDS][15][7]; extern const float FASTCONV_HOA3_latency_s; extern const float hrtfShCoeffsRe[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS]; extern const float hrtfShCoeffsIm[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS]; #endif /* Binaural rendering data set based on BRIRs */ extern const float FASTCONV_BRIR_latency_s; #ifdef SRAM_REDUCTION_BINRENDERER extern float leftBRIRReal[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; extern float leftBRIRImag[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; extern float rightBRIRReal[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; extern float rightBRIRImag[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; #else extern const float leftBRIRReal[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; extern const float leftBRIRImag[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; extern const float rightBRIRReal[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; extern const float rightBRIRImag[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; #endif /* Reverberation parameters based on BRIRs for fastconv */ extern float fastconvReverberationTimes[CLDFB_NO_CHANNELS_MAX]; Loading lib_dec/ivas_stat_dec.h +4 −4 Original line number Diff line number Diff line Loading @@ -1304,10 +1304,10 @@ typedef struct ivas_dirac_dec_binaural_data_structure typedef struct ivas_binaural_rendering_conv_module_struct { #ifdef SRAM_REDUCTION_BINRENDERER const float ***filterTapsLeftReal; const float ***filterTapsLeftImag; const float ***filterTapsRightReal; const float ***filterTapsRightImag; float ***filterTapsLeftReal; float ***filterTapsLeftImag; float ***filterTapsRightReal; float ***filterTapsRightImag; #else const float *filterTapsLeftReal[CLDFB_NO_CHANNELS_MAX][MAX_OUTPUT_CHANNELS]; const float *filterTapsLeftImag[CLDFB_NO_CHANNELS_MAX][MAX_OUTPUT_CHANNELS]; Loading Loading
lib_dec/ivas_binauralRenderer.c +13 −13 Original line number Diff line number Diff line Loading @@ -666,29 +666,29 @@ static void ivas_binRenderer_convModuleClose( for ( i = 0; i < ( *hBinRenderer )->conv_band; i++ ) { count_free( (float **) hBinRenConvModule->filterTapsLeftReal[i] ); count_free( hBinRenConvModule->filterTapsLeftReal[i] ); hBinRenConvModule->filterTapsLeftReal[i] = NULL; count_free( (float **) hBinRenConvModule->filterTapsLeftImag[i] ); count_free( hBinRenConvModule->filterTapsLeftImag[i] ); hBinRenConvModule->filterTapsLeftImag[i] = NULL; count_free( (float **) hBinRenConvModule->filterTapsRightReal[i] ); count_free( hBinRenConvModule->filterTapsRightReal[i] ); hBinRenConvModule->filterTapsRightReal[i] = NULL; count_free( (float **) hBinRenConvModule->filterTapsRightImag[i] ); count_free( hBinRenConvModule->filterTapsRightImag[i] ); hBinRenConvModule->filterTapsRightImag[i] = NULL; } count_free( (float *) hBinRenConvModule->filterTapsLeftReal ); count_free( hBinRenConvModule->filterTapsLeftReal ); hBinRenConvModule->filterTapsLeftReal = NULL; count_free( (float *) hBinRenConvModule->filterTapsLeftImag ); count_free( hBinRenConvModule->filterTapsLeftImag ); hBinRenConvModule->filterTapsLeftImag = NULL; count_free( (float *) hBinRenConvModule->filterTapsRightReal ); count_free( hBinRenConvModule->filterTapsRightReal ); hBinRenConvModule->filterTapsRightReal = NULL; count_free( (float *) hBinRenConvModule->filterTapsRightImag ); count_free( hBinRenConvModule->filterTapsRightImag ); hBinRenConvModule->filterTapsRightImag = NULL; Loading Loading @@ -942,10 +942,10 @@ void ivas_binRenderer( /* Obtain the binaural dmx and compute the reverb */ if ( hBinRenderer->hReverb != NULL ) { float reverbRe[2][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float reverbIm[2][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float inRe[2][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float inIm[2][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float reverbRe[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float reverbIm[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float inRe[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float inIm[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; ivas_binaural_obtain_DMX( numTimeSlots, hBinRenderer, RealBuffer, ImagBuffer, inRe, inIm ); Loading @@ -958,7 +958,7 @@ void ivas_binRenderer( } } ivas_binaural_reverb_processFrame( hBinRenderer->hReverb, 2, inRe, inIm, reverbRe, reverbIm, 0u ); ivas_binaural_reverb_processFrame( hBinRenderer->hReverb, BINAURAL_CHANNELS, inRe, inIm, reverbRe, reverbIm, 0u ); /* Add the conv module and reverb module output */ for ( chIdx = 0; chIdx < BINAURAL_CHANNELS; chIdx++ ) Loading
lib_dec/ivas_rom_binauralRenderer.h +23 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,21 @@ /* Binaural rendering data set based on HRIRs */ extern const float FASTCONV_HRIR_latency_s; #ifdef SRAM_REDUCTION_BINRENDERER extern float leftHRIRReal_HOA3[BINAURAL_CONVBANDS][16][7]; extern float leftHRIRImag_HOA3[BINAURAL_CONVBANDS][16][7]; extern float rightHRIRReal_HOA3[BINAURAL_CONVBANDS][16][7]; extern float rightHRIRImag_HOA3[BINAURAL_CONVBANDS][16][7]; extern float leftHRIRReal[BINAURAL_CONVBANDS][15][7]; extern float leftHRIRImag[BINAURAL_CONVBANDS][15][7]; extern float rightHRIRReal[BINAURAL_CONVBANDS][15][7]; extern float rightHRIRImag[BINAURAL_CONVBANDS][15][7]; extern float FASTCONV_HOA3_latency_s; extern float hrtfShCoeffsRe[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS]; extern float hrtfShCoeffsIm[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS]; #else extern const float leftHRIRReal_HOA3[BINAURAL_CONVBANDS][16][7]; extern const float leftHRIRImag_HOA3[BINAURAL_CONVBANDS][16][7]; extern const float rightHRIRReal_HOA3[BINAURAL_CONVBANDS][16][7]; Loading @@ -57,13 +72,21 @@ extern const float rightHRIRImag[BINAURAL_CONVBANDS][15][7]; extern const float FASTCONV_HOA3_latency_s; extern const float hrtfShCoeffsRe[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS]; extern const float hrtfShCoeffsIm[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS]; #endif /* Binaural rendering data set based on BRIRs */ extern const float FASTCONV_BRIR_latency_s; #ifdef SRAM_REDUCTION_BINRENDERER extern float leftBRIRReal[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; extern float leftBRIRImag[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; extern float rightBRIRReal[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; extern float rightBRIRImag[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; #else extern const float leftBRIRReal[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; extern const float leftBRIRImag[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; extern const float rightBRIRReal[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; extern const float rightBRIRImag[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; #endif /* Reverberation parameters based on BRIRs for fastconv */ extern float fastconvReverberationTimes[CLDFB_NO_CHANNELS_MAX]; Loading
lib_dec/ivas_stat_dec.h +4 −4 Original line number Diff line number Diff line Loading @@ -1304,10 +1304,10 @@ typedef struct ivas_dirac_dec_binaural_data_structure typedef struct ivas_binaural_rendering_conv_module_struct { #ifdef SRAM_REDUCTION_BINRENDERER const float ***filterTapsLeftReal; const float ***filterTapsLeftImag; const float ***filterTapsRightReal; const float ***filterTapsRightImag; float ***filterTapsLeftReal; float ***filterTapsLeftImag; float ***filterTapsRightReal; float ***filterTapsRightImag; #else const float *filterTapsLeftReal[CLDFB_NO_CHANNELS_MAX][MAX_OUTPUT_CHANNELS]; const float *filterTapsLeftImag[CLDFB_NO_CHANNELS_MAX][MAX_OUTPUT_CHANNELS]; Loading