From 0c81a95c97fa07b2002fe0759ffb7f7f61906fe4 Mon Sep 17 00:00:00 2001 From: vaclav Date: Sat, 20 Jul 2024 10:57:27 +0200 Subject: [PATCH 1/8] formal improvements --- lib_dec/ivas_binRenderer_internal.c | 94 ++++--- lib_rend/ivas_crend.c | 93 +++---- lib_rend/ivas_dirac_dec_binaural_functions.c | 21 +- lib_rend/ivas_objectRenderer_hrFilt.c | 2 + lib_rend/ivas_objectRenderer_mix.c | 65 ++--- lib_util/hrtf_file_reader.c | 258 ++++++++++++++----- 6 files changed, 342 insertions(+), 191 deletions(-) diff --git a/lib_dec/ivas_binRenderer_internal.c b/lib_dec/ivas_binRenderer_internal.c index 5686a35b7d..fa02bbc990 100644 --- a/lib_dec/ivas_binRenderer_internal.c +++ b/lib_dec/ivas_binRenderer_internal.c @@ -708,7 +708,7 @@ ivas_error ivas_allocate_binaural_hrtf( } #ifdef FIX_1123_FASTCONV_16BIT_ROM - if ( ( ( renderer_type == RENDERER_BINAURAL_FASTCONV ) && ( bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_COMBINED ) ) || ( ( renderer_type == RENDERER_BINAURAL_FASTCONV ) && ( input_config != IVAS_AUDIO_CONFIG_INVALID ) ) ) + if ( ( renderer_type == RENDERER_BINAURAL_FASTCONV && bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_COMBINED ) || ( renderer_type == RENDERER_BINAURAL_FASTCONV && input_config != IVAS_AUDIO_CONFIG_INVALID ) ) #else if ( renderer_type == RENDERER_BINAURAL_FASTCONV || bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_COMBINED ) #endif @@ -754,7 +754,7 @@ ivas_error ivas_allocate_binaural_hrtf( } #ifdef FIX_1123_FASTCONV_16BIT_ROM - if ( ( ( renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) && ( bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_COMBINED ) ) || ( ( renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) && ( input_config != IVAS_AUDIO_CONFIG_INVALID ) ) ) + if ( ( renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM && bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_COMBINED ) || ( renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM && input_config != IVAS_AUDIO_CONFIG_INVALID ) ) #else if ( renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM || bin_input_config == BINAURAL_INPUT_AUDIO_CONFIG_COMBINED ) #endif @@ -817,13 +817,17 @@ static ivas_error ivas_binaural_hrtf_open( { #ifdef FIX_1123_FASTCONV_16BIT_ROM int16_t i, j, k; - float scaleFactor = 1.f; - float scaleFactorSBA = 1.f; + float scaleFactor, scaleFactorSBA; #else int16_t i, j; #endif ivas_error error; +#ifdef FIX_1123_FASTCONV_16BIT_ROM + scaleFactor = 1.f; + scaleFactorSBA = 1.f; +#endif + if ( hHrtfFastConv != NULL && *hHrtfFastConv != NULL ) { /* Tables already loaded from file */ @@ -844,7 +848,7 @@ static ivas_error ivas_binaural_hrtf_open( if ( input_config == IVAS_AUDIO_CONFIG_BINAURAL || renderer_type == RENDERER_BINAURAL_FASTCONV ) { #ifdef FIX_1123_FASTCONV_16BIT_ROM - HrtfFastConv->FASTCONV_HRIR_latency_s = (float) FASTCONV_HRIR_latency_s * powf( 2.f, -1.f * (float) FASTCONV_FOA_latency_s_factorQ ); + HrtfFastConv->FASTCONV_HRIR_latency_s = FASTCONV_HRIR_latency_s * powf( 2.f, -1.f * FASTCONV_FOA_latency_s_factorQ ); #else HrtfFastConv->FASTCONV_HRIR_latency_s = FASTCONV_HRIR_latency_s; #endif @@ -852,7 +856,7 @@ static ivas_error ivas_binaural_hrtf_open( if ( input_config == IVAS_AUDIO_CONFIG_HOA2 ) { #ifdef FIX_1123_FASTCONV_16BIT_ROM - HrtfFastConv->FASTCONV_HOA2_latency_s = (float) FASTCONV_HOA2_latency_s * powf( 2.f, -1.f * (float) FASTCONV_HOA2_latency_s_factorQ ); + HrtfFastConv->FASTCONV_HOA2_latency_s = FASTCONV_HOA2_latency_s * powf( 2.f, -1.f * FASTCONV_HOA2_latency_s_factorQ ); #else HrtfFastConv->FASTCONV_HOA2_latency_s = FASTCONV_HOA2_latency_s; #endif @@ -860,7 +864,7 @@ static ivas_error ivas_binaural_hrtf_open( if ( input_config == IVAS_AUDIO_CONFIG_HOA3 ) { #ifdef FIX_1123_FASTCONV_16BIT_ROM - HrtfFastConv->FASTCONV_HOA3_latency_s = (float) FASTCONV_HOA3_latency_s * powf( 2.f, -1.f * (float) FASTCONV_HOA3_latency_s_factorQ ); + HrtfFastConv->FASTCONV_HOA3_latency_s = FASTCONV_HOA3_latency_s * powf( 2.f, -1.f * FASTCONV_HOA3_latency_s_factorQ ); #else HrtfFastConv->FASTCONV_HOA3_latency_s = FASTCONV_HOA3_latency_s; #endif @@ -868,7 +872,7 @@ static ivas_error ivas_binaural_hrtf_open( if ( input_config == IVAS_AUDIO_CONFIG_FOA ) { #ifdef FIX_1123_FASTCONV_16BIT_ROM - HrtfFastConv->FASTCONV_FOA_latency_s = (float) FASTCONV_FOA_latency_s * powf( 2.f, -1.f * (float) FASTCONV_HRIR_latency_s_factorQ ); + HrtfFastConv->FASTCONV_FOA_latency_s = FASTCONV_FOA_latency_s * powf( 2.f, -1.f * FASTCONV_HRIR_latency_s_factorQ ); #else HrtfFastConv->FASTCONV_FOA_latency_s = FASTCONV_FOA_latency_s; #endif @@ -876,7 +880,7 @@ static ivas_error ivas_binaural_hrtf_open( if ( input_config == IVAS_AUDIO_CONFIG_BINAURAL || renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) { #ifdef FIX_1123_FASTCONV_16BIT_ROM - HrtfFastConv->FASTCONV_BRIR_latency_s = (float) FASTCONV_BRIR_latency_s * powf( 2.f, -1.f * (float) FASTCONV_BRIR_latency_s_factorQ ); + HrtfFastConv->FASTCONV_BRIR_latency_s = FASTCONV_BRIR_latency_s * powf( 2.f, -1.f * FASTCONV_BRIR_latency_s_factorQ ); #else HrtfFastConv->FASTCONV_BRIR_latency_s = FASTCONV_BRIR_latency_s; #endif @@ -885,23 +889,23 @@ static ivas_error ivas_binaural_hrtf_open( #ifdef FIX_1123_FASTCONV_16BIT_ROM if ( renderer_type == RENDERER_BINAURAL_FASTCONV ) { - scaleFactor = powf( 2.f, -1.f * (float) FASTCONV_HRIR_factorQ ); + scaleFactor = powf( 2.f, -1.f * FASTCONV_HRIR_factorQ ); } else if ( renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) { - scaleFactor = powf( 2.f, -1.f * (float) FASTCONV_BRIR_factorQ ); + scaleFactor = powf( 2.f, -1.f * FASTCONV_BRIR_factorQ ); } if ( input_config == IVAS_AUDIO_CONFIG_HOA3 ) { - scaleFactorSBA = powf( 2.f, -1.f * (float) FASTCONV_HRIR_HOA3_factorQ ); + scaleFactorSBA = powf( 2.f, -1.f * FASTCONV_HRIR_HOA3_factorQ ); } else if ( input_config == IVAS_AUDIO_CONFIG_HOA2 ) { - scaleFactorSBA = powf( 2.f, -1.f * (float) FASTCONV_HRIR_HOA2_factorQ ); + scaleFactorSBA = powf( 2.f, -1.f * FASTCONV_HRIR_HOA2_factorQ ); } else if ( input_config == IVAS_AUDIO_CONFIG_FOA ) { - scaleFactorSBA = powf( 2.f, -1.f * (float) FASTCONV_HRIR_FOA_factorQ ); + scaleFactorSBA = powf( 2.f, -1.f * FASTCONV_HRIR_FOA_factorQ ); } HrtfFastConv->allocate_init_flag = 0; /* TODO: consider getting rid of this flag entirely? */ #else @@ -912,6 +916,7 @@ static ivas_error ivas_binaural_hrtf_open( { return error; } + for ( i = 0; i < BINAURAL_CONVBANDS; i++ ) { if ( renderer_type == RENDERER_BINAURAL_FASTCONV ) @@ -921,10 +926,10 @@ static ivas_error ivas_binaural_hrtf_open( #ifdef FIX_1123_FASTCONV_16BIT_ROM for ( k = 0; k < HrtfFastConv->ntaps_hrir; k++ ) { - HrtfFastConv->leftHRIRReal[i][j][k] = (float) leftHRIRReal[i][j][k] * scaleFactor; - HrtfFastConv->leftHRIRImag[i][j][k] = (float) leftHRIRImag[i][j][k] * scaleFactor; - HrtfFastConv->rightHRIRReal[i][j][k] = (float) rightHRIRReal[i][j][k] * scaleFactor; - HrtfFastConv->rightHRIRImag[i][j][k] = (float) rightHRIRImag[i][j][k] * scaleFactor; + HrtfFastConv->leftHRIRReal[i][j][k] = leftHRIRReal[i][j][k] * scaleFactor; + HrtfFastConv->leftHRIRImag[i][j][k] = leftHRIRImag[i][j][k] * scaleFactor; + HrtfFastConv->rightHRIRReal[i][j][k] = rightHRIRReal[i][j][k] * scaleFactor; + HrtfFastConv->rightHRIRImag[i][j][k] = rightHRIRImag[i][j][k] * scaleFactor; } #else HrtfFastConv->leftHRIRReal[i][j] = leftHRIRReal[i][j]; @@ -941,10 +946,10 @@ static ivas_error ivas_binaural_hrtf_open( #ifdef FIX_1123_FASTCONV_16BIT_ROM for ( k = 0; k < HrtfFastConv->ntaps_brir; k++ ) { - HrtfFastConv->leftBRIRReal[i][j][k] = (float) leftBRIRReal[i][j][k] * scaleFactor; - HrtfFastConv->leftBRIRImag[i][j][k] = (float) leftBRIRImag[i][j][k] * scaleFactor; - HrtfFastConv->rightBRIRReal[i][j][k] = (float) rightBRIRReal[i][j][k] * scaleFactor; - HrtfFastConv->rightBRIRImag[i][j][k] = (float) rightBRIRImag[i][j][k] * scaleFactor; + HrtfFastConv->leftBRIRReal[i][j][k] = leftBRIRReal[i][j][k] * scaleFactor; + HrtfFastConv->leftBRIRImag[i][j][k] = leftBRIRImag[i][j][k] * scaleFactor; + HrtfFastConv->rightBRIRReal[i][j][k] = rightBRIRReal[i][j][k] * scaleFactor; + HrtfFastConv->rightBRIRImag[i][j][k] = rightBRIRImag[i][j][k] * scaleFactor; } #else HrtfFastConv->leftBRIRReal[i][j] = leftBRIRReal[i][j]; @@ -954,6 +959,7 @@ static ivas_error ivas_binaural_hrtf_open( #endif } } + if ( input_config == IVAS_AUDIO_CONFIG_HOA3 ) { for ( j = 0; j < HOA3_CHANNELS; j++ ) @@ -961,10 +967,10 @@ static ivas_error ivas_binaural_hrtf_open( #ifdef FIX_1123_FASTCONV_16BIT_ROM for ( k = 0; k < HrtfFastConv->ntaps_hrir_hoa3; k++ ) { - HrtfFastConv->leftHRIRReal_HOA3[i][j][k] = (float) leftHRIRReal_HOA3[i][j][k] * scaleFactorSBA; - HrtfFastConv->leftHRIRImag_HOA3[i][j][k] = (float) leftHRIRImag_HOA3[i][j][k] * scaleFactorSBA; - HrtfFastConv->rightHRIRReal_HOA3[i][j][k] = (float) rightHRIRReal_HOA3[i][j][k] * scaleFactorSBA; - HrtfFastConv->rightHRIRImag_HOA3[i][j][k] = (float) rightHRIRImag_HOA3[i][j][k] * scaleFactorSBA; + HrtfFastConv->leftHRIRReal_HOA3[i][j][k] = leftHRIRReal_HOA3[i][j][k] * scaleFactorSBA; + HrtfFastConv->leftHRIRImag_HOA3[i][j][k] = leftHRIRImag_HOA3[i][j][k] * scaleFactorSBA; + HrtfFastConv->rightHRIRReal_HOA3[i][j][k] = rightHRIRReal_HOA3[i][j][k] * scaleFactorSBA; + HrtfFastConv->rightHRIRImag_HOA3[i][j][k] = rightHRIRImag_HOA3[i][j][k] * scaleFactorSBA; } #else HrtfFastConv->leftHRIRReal_HOA3[i][j] = leftHRIRReal_HOA3[i][j]; @@ -975,19 +981,20 @@ static ivas_error ivas_binaural_hrtf_open( } } #ifdef FIX_1123_FASTCONV_16BIT_ROM - else + else if ( input_config == IVAS_AUDIO_CONFIG_HOA2 ) +#else + if ( input_config == IVAS_AUDIO_CONFIG_HOA2 ) #endif - if ( input_config == IVAS_AUDIO_CONFIG_HOA2 ) { for ( j = 0; j < HOA2_CHANNELS; j++ ) { #ifdef FIX_1123_FASTCONV_16BIT_ROM for ( k = 0; k < HrtfFastConv->ntaps_hrir_hoa2; k++ ) { - HrtfFastConv->leftHRIRReal_HOA2[i][j][k] = (float) leftHRIRReal_HOA2[i][j][k] * scaleFactorSBA; - HrtfFastConv->leftHRIRImag_HOA2[i][j][k] = (float) leftHRIRImag_HOA2[i][j][k] * scaleFactorSBA; - HrtfFastConv->rightHRIRReal_HOA2[i][j][k] = (float) rightHRIRReal_HOA2[i][j][k] * scaleFactorSBA; - HrtfFastConv->rightHRIRImag_HOA2[i][j][k] = (float) rightHRIRImag_HOA2[i][j][k] * scaleFactorSBA; + HrtfFastConv->leftHRIRReal_HOA2[i][j][k] = leftHRIRReal_HOA2[i][j][k] * scaleFactorSBA; + HrtfFastConv->leftHRIRImag_HOA2[i][j][k] = leftHRIRImag_HOA2[i][j][k] * scaleFactorSBA; + HrtfFastConv->rightHRIRReal_HOA2[i][j][k] = rightHRIRReal_HOA2[i][j][k] * scaleFactorSBA; + HrtfFastConv->rightHRIRImag_HOA2[i][j][k] = rightHRIRImag_HOA2[i][j][k] * scaleFactorSBA; } #else HrtfFastConv->leftHRIRReal_HOA2[i][j] = leftHRIRReal_HOA2[i][j]; @@ -998,19 +1005,20 @@ static ivas_error ivas_binaural_hrtf_open( } } #ifdef FIX_1123_FASTCONV_16BIT_ROM - else + else if ( input_config == IVAS_AUDIO_CONFIG_FOA ) +#else + if ( input_config == IVAS_AUDIO_CONFIG_FOA ) #endif - if ( input_config == IVAS_AUDIO_CONFIG_FOA ) { for ( j = 0; j < FOA_CHANNELS; j++ ) { #ifdef FIX_1123_FASTCONV_16BIT_ROM for ( k = 0; k < HrtfFastConv->ntaps_hrir_foa; k++ ) { - HrtfFastConv->leftHRIRReal_FOA[i][j][k] = (float) leftHRIRReal_FOA[i][j][k] * scaleFactorSBA; - HrtfFastConv->leftHRIRImag_FOA[i][j][k] = (float) leftHRIRImag_FOA[i][j][k] * scaleFactorSBA; - HrtfFastConv->rightHRIRReal_FOA[i][j][k] = (float) rightHRIRReal_FOA[i][j][k] * scaleFactorSBA; - HrtfFastConv->rightHRIRImag_FOA[i][j][k] = (float) rightHRIRImag_FOA[i][j][k] * scaleFactorSBA; + HrtfFastConv->leftHRIRReal_FOA[i][j][k] = leftHRIRReal_FOA[i][j][k] * scaleFactorSBA; + HrtfFastConv->leftHRIRImag_FOA[i][j][k] = leftHRIRImag_FOA[i][j][k] * scaleFactorSBA; + HrtfFastConv->rightHRIRReal_FOA[i][j][k] = rightHRIRReal_FOA[i][j][k] * scaleFactorSBA; + HrtfFastConv->rightHRIRImag_FOA[i][j][k] = rightHRIRImag_FOA[i][j][k] * scaleFactorSBA; } #else HrtfFastConv->leftHRIRReal_FOA[i][j] = leftHRIRReal_FOA[i][j]; @@ -1021,16 +1029,18 @@ static ivas_error ivas_binaural_hrtf_open( } } } + #ifdef FIX_1123_FASTCONV_16BIT_ROM - scaleFactor = powf( 2.f, -1.f * (float) fastconvReverberationTimes_factorQ ); + scaleFactor = powf( 2.f, -1.f * fastconvReverberationTimes_factorQ ); for ( i = 0; i < CLDFB_NO_CHANNELS_MAX; i++ ) { - HrtfFastConv->fastconvReverberationTimes[i] = (float) fastconvReverberationTimes[i] * scaleFactor; + HrtfFastConv->fastconvReverberationTimes[i] = fastconvReverberationTimes[i] * scaleFactor; } - scaleFactor = powf( 2.f, -1.f * (float) fastconvReverberationEneCorrections_factorQ ); + + scaleFactor = powf( 2.f, -1.f * fastconvReverberationEneCorrections_factorQ ); for ( i = 0; i < CLDFB_NO_CHANNELS_MAX; i++ ) { - HrtfFastConv->fastconvReverberationEneCorrections[i] = (float) fastconvReverberationEneCorrections[i] * scaleFactor; + HrtfFastConv->fastconvReverberationEneCorrections[i] = fastconvReverberationEneCorrections[i] * scaleFactor; } #else mvr2r( fastconvReverberationTimes, HrtfFastConv->fastconvReverberationTimes, CLDFB_NO_CHANNELS_MAX ); diff --git a/lib_rend/ivas_crend.c b/lib_rend/ivas_crend.c index d63522566e..0a811f541a 100644 --- a/lib_rend/ivas_crend.c +++ b/lib_rend/ivas_crend.c @@ -146,6 +146,7 @@ static void ivas_hrtf_close( #ifdef FIX_1123_CREND_16BIT_ROM int16_t i, j; #endif + if ( hHrtf == NULL || *hHrtf == NULL ) { return; @@ -161,19 +162,23 @@ static void ivas_hrtf_close( if ( ( *hHrtf )->pOut_to_bin_re[j][i] != NULL ) { free( ( *hHrtf )->pOut_to_bin_re[j][i] ); + ( *hHrtf )->pOut_to_bin_re[j][i] = NULL; } if ( ( *hHrtf )->pOut_to_bin_im[j][i] != NULL ) { free( ( *hHrtf )->pOut_to_bin_im[j][i] ); + ( *hHrtf )->pOut_to_bin_im[j][i] = NULL; } } if ( ( *hHrtf )->pOut_to_bin_diffuse_re[i] != NULL ) { free( ( *hHrtf )->pOut_to_bin_diffuse_re[i] ); + ( *hHrtf )->pOut_to_bin_diffuse_re[i] = NULL; } if ( ( *hHrtf )->pOut_to_bin_diffuse_im[i] != NULL ) { free( ( *hHrtf )->pOut_to_bin_diffuse_im[i] ); + ( *hHrtf )->pOut_to_bin_diffuse_im[i] = NULL; } } } @@ -261,7 +266,7 @@ static ivas_error ivas_rend_initCrend( if ( outConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) { #ifdef FIX_1123_CREND_16BIT_ROM - hHrtf->latency_s = (float) CRendBin_Combined_BRIR_latency_s_fx * powf( 2.f, -1.f * CRendBin_Combined_BRIR_latency_s_Q_fx ); + hHrtf->latency_s = CRendBin_Combined_BRIR_latency_s_fx * powf( 2.f, -1.f * CRendBin_Combined_BRIR_latency_s_Q_fx ); #else hHrtf->latency_s = CRendBin_Combined_BRIR_latency_s; #endif @@ -271,7 +276,7 @@ static ivas_error ivas_rend_initCrend( else { #ifdef FIX_1123_CREND_16BIT_ROM - hHrtf->latency_s = (float) CRendBin_Combined_HRIR_latency_s_fx * powf( 2.f, -1.f * CRendBin_Combined_HRIR_latency_s_Q_fx ); + hHrtf->latency_s = CRendBin_Combined_HRIR_latency_s_fx * powf( 2.f, -1.f * CRendBin_Combined_HRIR_latency_s_Q_fx ); #else hHrtf->latency_s = CRendBin_Combined_HRIR_latency_s; #endif @@ -298,8 +303,8 @@ static ivas_error ivas_rend_initCrend( factorQ = powf( 2.f, -1.f * CRendBin_Combined_BRIR_coeff_Q_48kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { - hHrtf->pOut_to_bin_diffuse_re[j][k] = (float) CRendBin_Combined_BRIR_coeff_diffuse_re_48kHz_fx[j][k] * factorQ; - hHrtf->pOut_to_bin_diffuse_im[j][k] = (float) CRendBin_Combined_BRIR_coeff_diffuse_im_48kHz_fx[j][k] * factorQ; + hHrtf->pOut_to_bin_diffuse_re[j][k] = CRendBin_Combined_BRIR_coeff_diffuse_re_48kHz_fx[j][k] * factorQ; + hHrtf->pOut_to_bin_diffuse_im[j][k] = CRendBin_Combined_BRIR_coeff_diffuse_im_48kHz_fx[j][k] * factorQ; } #else hHrtf->pOut_to_bin_diffuse_re[j] = CRendBin_Combined_BRIR_coeff_diffuse_re_48kHz[j]; @@ -325,7 +330,7 @@ static ivas_error ivas_rend_initCrend( if ( outConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) { #ifdef FIX_1123_CREND_16BIT_ROM - hHrtf->latency_s = (float) CRendBin_Combined_BRIR_latency_s_fx * powf( 2.f, -1.f * CRendBin_Combined_BRIR_latency_s_Q_fx ); + hHrtf->latency_s = CRendBin_Combined_BRIR_latency_s_fx * powf( 2.f, -1.f * CRendBin_Combined_BRIR_latency_s_Q_fx ); #else hHrtf->latency_s = CRendBin_Combined_BRIR_latency_s; #endif @@ -335,7 +340,7 @@ static ivas_error ivas_rend_initCrend( else { #ifdef FIX_1123_CREND_16BIT_ROM - hHrtf->latency_s = (float) CRendBin_Combined_HRIR_latency_s_fx * powf( 2.f, -1.f * CRendBin_Combined_HRIR_latency_s_Q_fx ); + hHrtf->latency_s = CRendBin_Combined_HRIR_latency_s_fx * powf( 2.f, -1.f * CRendBin_Combined_HRIR_latency_s_Q_fx ); #else hHrtf->latency_s = CRendBin_Combined_HRIR_latency_s; #endif @@ -362,8 +367,8 @@ static ivas_error ivas_rend_initCrend( factorQ = powf( 2.f, -1.f * CRendBin_Combined_BRIR_coeff_Q_32kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { - hHrtf->pOut_to_bin_diffuse_re[j][k] = (float) CRendBin_Combined_BRIR_coeff_diffuse_re_32kHz_fx[j][k] * factorQ; - hHrtf->pOut_to_bin_diffuse_im[j][k] = (float) CRendBin_Combined_BRIR_coeff_diffuse_im_32kHz_fx[j][k] * factorQ; + hHrtf->pOut_to_bin_diffuse_re[j][k] = CRendBin_Combined_BRIR_coeff_diffuse_re_32kHz_fx[j][k] * factorQ; + hHrtf->pOut_to_bin_diffuse_im[j][k] = CRendBin_Combined_BRIR_coeff_diffuse_im_32kHz_fx[j][k] * factorQ; } #else hHrtf->pOut_to_bin_diffuse_re[j] = CRendBin_Combined_BRIR_coeff_diffuse_re_32kHz[j]; @@ -389,7 +394,7 @@ static ivas_error ivas_rend_initCrend( if ( outConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) { #ifdef FIX_1123_CREND_16BIT_ROM - hHrtf->latency_s = (float) CRendBin_Combined_BRIR_latency_s_fx * powf( 2.f, -1.f * CRendBin_Combined_BRIR_latency_s_Q_fx ); + hHrtf->latency_s = CRendBin_Combined_BRIR_latency_s_fx * powf( 2.f, -1.f * CRendBin_Combined_BRIR_latency_s_Q_fx ); #else hHrtf->latency_s = CRendBin_Combined_BRIR_latency_s; #endif @@ -400,7 +405,7 @@ static ivas_error ivas_rend_initCrend( else { #ifdef FIX_1123_CREND_16BIT_ROM - hHrtf->latency_s = (float) CRendBin_Combined_HRIR_latency_s_fx * powf( 2.f, -1.f * CRendBin_Combined_HRIR_latency_s_Q_fx ); + hHrtf->latency_s = CRendBin_Combined_HRIR_latency_s_fx * powf( 2.f, -1.f * CRendBin_Combined_HRIR_latency_s_Q_fx ); #else hHrtf->latency_s = CRendBin_Combined_HRIR_latency_s; #endif @@ -427,8 +432,8 @@ static ivas_error ivas_rend_initCrend( factorQ = powf( 2.f, -1.f * CRendBin_Combined_BRIR_coeff_Q_16kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { - hHrtf->pOut_to_bin_diffuse_re[j][k] = (float) CRendBin_Combined_BRIR_coeff_diffuse_re_16kHz_fx[j][k] * factorQ; - hHrtf->pOut_to_bin_diffuse_im[j][k] = (float) CRendBin_Combined_BRIR_coeff_diffuse_im_16kHz_fx[j][k] * factorQ; + hHrtf->pOut_to_bin_diffuse_re[j][k] = CRendBin_Combined_BRIR_coeff_diffuse_re_16kHz_fx[j][k] * factorQ; + hHrtf->pOut_to_bin_diffuse_im[j][k] = CRendBin_Combined_BRIR_coeff_diffuse_im_16kHz_fx[j][k] * factorQ; } #else hHrtf->pOut_to_bin_diffuse_re[j] = CRendBin_Combined_BRIR_coeff_diffuse_re_16kHz[j]; @@ -503,8 +508,8 @@ static ivas_error ivas_rend_initCrend( factorQ = powf( 2.f, -1.f * CRendBin_Combined_BRIR_coeff_Q_48kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { - hHrtf->pOut_to_bin_re[i][j][k] = (float) CRendBin_Combined_BRIR_coeff_re_48kHz_fx[tmp][j][k] * factorQ; - hHrtf->pOut_to_bin_im[i][j][k] = (float) CRendBin_Combined_BRIR_coeff_im_48kHz_fx[tmp][j][k] * factorQ; + hHrtf->pOut_to_bin_re[i][j][k] = CRendBin_Combined_BRIR_coeff_re_48kHz_fx[tmp][j][k] * factorQ; + hHrtf->pOut_to_bin_im[i][j][k] = CRendBin_Combined_BRIR_coeff_im_48kHz_fx[tmp][j][k] * factorQ; } #else hHrtf->pOut_to_bin_re[i][j] = CRendBin_Combined_BRIR_coeff_re_48kHz[tmp][j]; @@ -529,8 +534,8 @@ static ivas_error ivas_rend_initCrend( factorQ = powf( 2.f, -1.f * CRendBin_Combined_HRIR_coeff_Q_48kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { - hHrtf->pOut_to_bin_re[i][j][k] = (float) CRendBin_Combined_HRIR_coeff_re_48kHz_fx[tmp][j][k] * factorQ; - hHrtf->pOut_to_bin_im[i][j][k] = (float) CRendBin_Combined_HRIR_coeff_im_48kHz_fx[tmp][j][k] * factorQ; + hHrtf->pOut_to_bin_re[i][j][k] = CRendBin_Combined_HRIR_coeff_re_48kHz_fx[tmp][j][k] * factorQ; + hHrtf->pOut_to_bin_im[i][j][k] = CRendBin_Combined_HRIR_coeff_im_48kHz_fx[tmp][j][k] * factorQ; } #else hHrtf->pOut_to_bin_re[i][j] = CRendBin_Combined_HRIR_coeff_re_48kHz[tmp][j]; @@ -561,8 +566,8 @@ static ivas_error ivas_rend_initCrend( factorQ = powf( 2.f, -1.f * CRendBin_Combined_BRIR_coeff_Q_32kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { - hHrtf->pOut_to_bin_re[i][j][k] = (float) CRendBin_Combined_BRIR_coeff_re_32kHz_fx[tmp][j][k] * factorQ; - hHrtf->pOut_to_bin_im[i][j][k] = (float) CRendBin_Combined_BRIR_coeff_im_32kHz_fx[tmp][j][k] * factorQ; + hHrtf->pOut_to_bin_re[i][j][k] = CRendBin_Combined_BRIR_coeff_re_32kHz_fx[tmp][j][k] * factorQ; + hHrtf->pOut_to_bin_im[i][j][k] = CRendBin_Combined_BRIR_coeff_im_32kHz_fx[tmp][j][k] * factorQ; } #else hHrtf->pOut_to_bin_re[i][j] = CRendBin_Combined_BRIR_coeff_re_32kHz[tmp][j]; @@ -587,8 +592,8 @@ static ivas_error ivas_rend_initCrend( factorQ = powf( 2.f, -1.f * CRendBin_Combined_HRIR_coeff_Q_32kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { - hHrtf->pOut_to_bin_re[i][j][k] = (float) CRendBin_Combined_HRIR_coeff_re_32kHz_fx[tmp][j][k] * factorQ; - hHrtf->pOut_to_bin_im[i][j][k] = (float) CRendBin_Combined_HRIR_coeff_im_32kHz_fx[tmp][j][k] * factorQ; + hHrtf->pOut_to_bin_re[i][j][k] = CRendBin_Combined_HRIR_coeff_re_32kHz_fx[tmp][j][k] * factorQ; + hHrtf->pOut_to_bin_im[i][j][k] = CRendBin_Combined_HRIR_coeff_im_32kHz_fx[tmp][j][k] * factorQ; } #else hHrtf->pOut_to_bin_re[i][j] = CRendBin_Combined_HRIR_coeff_re_32kHz[tmp][j]; @@ -619,8 +624,8 @@ static ivas_error ivas_rend_initCrend( factorQ = powf( 2.f, -1.f * CRendBin_Combined_BRIR_coeff_Q_16kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { - hHrtf->pOut_to_bin_re[i][j][k] = (float) CRendBin_Combined_BRIR_coeff_re_16kHz_fx[tmp][j][k] * factorQ; - hHrtf->pOut_to_bin_im[i][j][k] = (float) CRendBin_Combined_BRIR_coeff_im_16kHz_fx[tmp][j][k] * factorQ; + hHrtf->pOut_to_bin_re[i][j][k] = CRendBin_Combined_BRIR_coeff_re_16kHz_fx[tmp][j][k] * factorQ; + hHrtf->pOut_to_bin_im[i][j][k] = CRendBin_Combined_BRIR_coeff_im_16kHz_fx[tmp][j][k] * factorQ; } #else hHrtf->pOut_to_bin_re[i][j] = CRendBin_Combined_BRIR_coeff_re_16kHz[tmp][j]; @@ -645,8 +650,8 @@ static ivas_error ivas_rend_initCrend( factorQ = powf( 2.f, -1.f * CRendBin_Combined_HRIR_coeff_Q_16kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { - hHrtf->pOut_to_bin_re[i][j][k] = (float) CRendBin_Combined_HRIR_coeff_re_16kHz_fx[tmp][j][k] * factorQ; - hHrtf->pOut_to_bin_im[i][j][k] = (float) CRendBin_Combined_HRIR_coeff_im_16kHz_fx[tmp][j][k] * factorQ; + hHrtf->pOut_to_bin_re[i][j][k] = CRendBin_Combined_HRIR_coeff_re_16kHz_fx[tmp][j][k] * factorQ; + hHrtf->pOut_to_bin_im[i][j][k] = CRendBin_Combined_HRIR_coeff_im_16kHz_fx[tmp][j][k] * factorQ; } #else hHrtf->pOut_to_bin_re[i][j] = CRendBin_Combined_HRIR_coeff_re_16kHz[tmp][j]; @@ -691,8 +696,8 @@ static ivas_error ivas_rend_initCrend( factorQ = powf( 2.f, -1.f * CRendBin_HOA3_HRIR_coeff_Q_48kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { - hHrtf->pOut_to_bin_re[i][j][k] = (float) CRendBin_HOA3_HRIR_coeff_re_48kHz_fx[i][j][k] * factorQ; - hHrtf->pOut_to_bin_im[i][j][k] = (float) CRendBin_HOA3_HRIR_coeff_im_48kHz_fx[i][j][k] * factorQ; + hHrtf->pOut_to_bin_re[i][j][k] = CRendBin_HOA3_HRIR_coeff_re_48kHz_fx[i][j][k] * factorQ; + hHrtf->pOut_to_bin_im[i][j][k] = CRendBin_HOA3_HRIR_coeff_im_48kHz_fx[i][j][k] * factorQ; } #else hHrtf->pOut_to_bin_re[i][j] = CRendBin_HOA3_HRIR_coeff_re_48kHz[i][j]; @@ -734,8 +739,8 @@ static ivas_error ivas_rend_initCrend( factorQ = powf( 2.f, -1.f * CRendBin_HOA3_HRIR_coeff_Q_32kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { - hHrtf->pOut_to_bin_re[i][j][k] = (float) CRendBin_HOA3_HRIR_coeff_re_32kHz_fx[i][j][k] * factorQ; - hHrtf->pOut_to_bin_im[i][j][k] = (float) CRendBin_HOA3_HRIR_coeff_im_32kHz_fx[i][j][k] * factorQ; + hHrtf->pOut_to_bin_re[i][j][k] = CRendBin_HOA3_HRIR_coeff_re_32kHz_fx[i][j][k] * factorQ; + hHrtf->pOut_to_bin_im[i][j][k] = CRendBin_HOA3_HRIR_coeff_im_32kHz_fx[i][j][k] * factorQ; } #else hHrtf->pOut_to_bin_re[i][j] = CRendBin_HOA3_HRIR_coeff_re_32kHz[i][j]; @@ -778,8 +783,8 @@ static ivas_error ivas_rend_initCrend( factorQ = powf( 2.f, -1.f * CRendBin_HOA3_HRIR_coeff_Q_16kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { - hHrtf->pOut_to_bin_re[i][j][k] = (float) CRendBin_HOA3_HRIR_coeff_re_16kHz_fx[i][j][k] * factorQ; - hHrtf->pOut_to_bin_im[i][j][k] = (float) CRendBin_HOA3_HRIR_coeff_im_16kHz_fx[i][j][k] * factorQ; + hHrtf->pOut_to_bin_re[i][j][k] = CRendBin_HOA3_HRIR_coeff_re_16kHz_fx[i][j][k] * factorQ; + hHrtf->pOut_to_bin_im[i][j][k] = CRendBin_HOA3_HRIR_coeff_im_16kHz_fx[i][j][k] * factorQ; } #else hHrtf->pOut_to_bin_re[i][j] = CRendBin_HOA3_HRIR_coeff_re_16kHz[i][j]; @@ -829,8 +834,8 @@ static ivas_error ivas_rend_initCrend( factorQ = powf( 2.f, -1.f * CRendBin_HOA2_HRIR_coeff_Q_48kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { - hHrtf->pOut_to_bin_re[i][j][k] = (float) CRendBin_HOA2_HRIR_coeff_re_48kHz_fx[i][j][k] * factorQ; - hHrtf->pOut_to_bin_im[i][j][k] = (float) CRendBin_HOA2_HRIR_coeff_im_48kHz_fx[i][j][k] * factorQ; + hHrtf->pOut_to_bin_re[i][j][k] = CRendBin_HOA2_HRIR_coeff_re_48kHz_fx[i][j][k] * factorQ; + hHrtf->pOut_to_bin_im[i][j][k] = CRendBin_HOA2_HRIR_coeff_im_48kHz_fx[i][j][k] * factorQ; } #else hHrtf->pOut_to_bin_re[i][j] = CRendBin_HOA2_HRIR_coeff_re_48kHz[i][j]; @@ -872,8 +877,8 @@ static ivas_error ivas_rend_initCrend( factorQ = powf( 2.f, -1.f * CRendBin_HOA2_HRIR_coeff_Q_32kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { - hHrtf->pOut_to_bin_re[i][j][k] = (float) CRendBin_HOA2_HRIR_coeff_re_32kHz_fx[i][j][k] * factorQ; - hHrtf->pOut_to_bin_im[i][j][k] = (float) CRendBin_HOA2_HRIR_coeff_im_32kHz_fx[i][j][k] * factorQ; + hHrtf->pOut_to_bin_re[i][j][k] = CRendBin_HOA2_HRIR_coeff_re_32kHz_fx[i][j][k] * factorQ; + hHrtf->pOut_to_bin_im[i][j][k] = CRendBin_HOA2_HRIR_coeff_im_32kHz_fx[i][j][k] * factorQ; } #else hHrtf->pOut_to_bin_re[i][j] = CRendBin_HOA2_HRIR_coeff_re_32kHz[i][j]; @@ -916,8 +921,8 @@ static ivas_error ivas_rend_initCrend( factorQ = powf( 2.f, -1.f * CRendBin_HOA2_HRIR_coeff_Q_16kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { - hHrtf->pOut_to_bin_re[i][j][k] = (float) CRendBin_HOA2_HRIR_coeff_re_16kHz_fx[i][j][k] * factorQ; - hHrtf->pOut_to_bin_im[i][j][k] = (float) CRendBin_HOA2_HRIR_coeff_im_16kHz_fx[i][j][k] * factorQ; + hHrtf->pOut_to_bin_re[i][j][k] = CRendBin_HOA2_HRIR_coeff_re_16kHz_fx[i][j][k] * factorQ; + hHrtf->pOut_to_bin_im[i][j][k] = CRendBin_HOA2_HRIR_coeff_im_16kHz_fx[i][j][k] * factorQ; } #else hHrtf->pOut_to_bin_re[i][j] = CRendBin_HOA2_HRIR_coeff_re_16kHz[i][j]; @@ -967,8 +972,8 @@ static ivas_error ivas_rend_initCrend( factorQ = powf( 2.f, -1.f * CRendBin_FOA_HRIR_coeff_Q_48kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { - hHrtf->pOut_to_bin_re[i][j][k] = (float) CRendBin_FOA_HRIR_coeff_re_48kHz_fx[i][j][k] * factorQ; - hHrtf->pOut_to_bin_im[i][j][k] = (float) CRendBin_FOA_HRIR_coeff_im_48kHz_fx[i][j][k] * factorQ; + hHrtf->pOut_to_bin_re[i][j][k] = CRendBin_FOA_HRIR_coeff_re_48kHz_fx[i][j][k] * factorQ; + hHrtf->pOut_to_bin_im[i][j][k] = CRendBin_FOA_HRIR_coeff_im_48kHz_fx[i][j][k] * factorQ; } #else hHrtf->pOut_to_bin_re[i][j] = CRendBin_FOA_HRIR_coeff_re_48kHz[i][j]; @@ -1010,8 +1015,8 @@ static ivas_error ivas_rend_initCrend( factorQ = powf( 2.f, -1.f * CRendBin_FOA_HRIR_coeff_Q_32kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { - hHrtf->pOut_to_bin_re[i][j][k] = (float) CRendBin_FOA_HRIR_coeff_re_32kHz_fx[i][j][k] * factorQ; - hHrtf->pOut_to_bin_im[i][j][k] = (float) CRendBin_FOA_HRIR_coeff_im_32kHz_fx[i][j][k] * factorQ; + hHrtf->pOut_to_bin_re[i][j][k] = CRendBin_FOA_HRIR_coeff_re_32kHz_fx[i][j][k] * factorQ; + hHrtf->pOut_to_bin_im[i][j][k] = CRendBin_FOA_HRIR_coeff_im_32kHz_fx[i][j][k] * factorQ; } #else hHrtf->pOut_to_bin_re[i][j] = CRendBin_FOA_HRIR_coeff_re_32kHz[i][j]; @@ -1054,8 +1059,8 @@ static ivas_error ivas_rend_initCrend( factorQ = powf( 2.f, -1.f * CRendBin_FOA_HRIR_coeff_Q_16kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { - hHrtf->pOut_to_bin_re[i][j][k] = (float) CRendBin_FOA_HRIR_coeff_re_16kHz_fx[i][j][k] * factorQ; - hHrtf->pOut_to_bin_im[i][j][k] = (float) CRendBin_FOA_HRIR_coeff_im_16kHz_fx[i][j][k] * factorQ; + hHrtf->pOut_to_bin_re[i][j][k] = CRendBin_FOA_HRIR_coeff_re_16kHz_fx[i][j][k] * factorQ; + hHrtf->pOut_to_bin_im[i][j][k] = CRendBin_FOA_HRIR_coeff_im_16kHz_fx[i][j][k] * factorQ; } #else hHrtf->pOut_to_bin_re[i][j] = CRendBin_FOA_HRIR_coeff_re_16kHz[i][j]; @@ -2020,7 +2025,6 @@ static ivas_error ivas_rend_crendConvolver( } } - i = 0; #ifdef FIX_CREND_SIMPLIFY_CODE if ( pCrend->hHrtfCrend->num_iterations_diffuse[0] > 0 ) { @@ -2038,6 +2042,8 @@ static ivas_error ivas_rend_crendConvolver( } } #endif + + i = 0; for ( idx_in = 0; idx_in < nchan_in; idx_in++ ) { pIn = &pcm_in[idx_in][i_ts * subframe_length]; @@ -2080,6 +2086,7 @@ static ivas_error ivas_rend_crendConvolver( } } } + #ifdef FIX_CREND_SIMPLIFY_CODE pFreq_filt_re = &hCrend->freq_buffer_re[i][offset]; pFreq_filt_im = &hCrend->freq_buffer_im[i][offset]; diff --git a/lib_rend/ivas_dirac_dec_binaural_functions.c b/lib_rend/ivas_dirac_dec_binaural_functions.c index b2aef0b354..18c680595d 100644 --- a/lib_rend/ivas_dirac_dec_binaural_functions.c +++ b/lib_rend/ivas_dirac_dec_binaural_functions.c @@ -378,6 +378,7 @@ ivas_error ivas_dirac_dec_binaural_copy_hrtfs( #else int16_t i, j; #endif + if ( hHrtfParambin != NULL && *hHrtfParambin != NULL ) { /* Tables already loaded from file */ @@ -389,11 +390,13 @@ ivas_error ivas_dirac_dec_binaural_copy_hrtfs( HRTFS_PARAMBIN *hrtfParambin; #ifdef FIX_1123_PARAMBIN_16BIT_ROM float shCoef_scale, rt_scale, rene_scale, early_scale; - shCoef_scale = powf( 2.f, -1.f * (float) hrtfShCoeffs_factorQ ); - rt_scale = powf( 2.f, -1.f * (float) parametricReverberationTimes_factorQ ); - rene_scale = powf( 2.f, -1.f * (float) parametricReverberationEneCorrections_factorQ ); - early_scale = powf( 2.f, -1.f * (float) parametricEarlyPartEneCorrection_factorQ ); + + shCoef_scale = powf( 2.f, -1.f * hrtfShCoeffs_factorQ ); + rt_scale = powf( 2.f, -1.f * parametricReverberationTimes_factorQ ); + rene_scale = powf( 2.f, -1.f * parametricReverberationEneCorrections_factorQ ); + early_scale = powf( 2.f, -1.f * parametricEarlyPartEneCorrection_factorQ ); #endif + if ( ( hrtfParambin = (HRTFS_PARAMBIN *) malloc( sizeof( HRTFS_PARAMBIN ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for parametric binauralizer HRTF tables" ); @@ -406,8 +409,8 @@ ivas_error ivas_dirac_dec_binaural_copy_hrtfs( #ifdef FIX_1123_PARAMBIN_16BIT_ROM for ( k = 0; k < HRTF_NUM_BINS; k++ ) { - hrtfParambin->hrtfShCoeffsRe[i][j][k] = (float) hrtfShCoeffsRe[i][j][k] * shCoef_scale; - hrtfParambin->hrtfShCoeffsIm[i][j][k] = (float) hrtfShCoeffsIm[i][j][k] * shCoef_scale; + hrtfParambin->hrtfShCoeffsRe[i][j][k] = hrtfShCoeffsRe[i][j][k] * shCoef_scale; + hrtfParambin->hrtfShCoeffsIm[i][j][k] = hrtfShCoeffsIm[i][j][k] * shCoef_scale; } #else mvr2r( hrtfShCoeffsRe[i][j], hrtfParambin->hrtfShCoeffsRe[i][j], HRTF_NUM_BINS ); @@ -419,9 +422,9 @@ ivas_error ivas_dirac_dec_binaural_copy_hrtfs( #ifdef FIX_1123_PARAMBIN_16BIT_ROM for ( i = 0; i < CLDFB_NO_CHANNELS_MAX; i++ ) { - hrtfParambin->parametricReverberationTimes[i] = (float) parametricReverberationTimes[i] * rt_scale; - hrtfParambin->parametricReverberationEneCorrections[i] = (float) parametricReverberationEneCorrections[i] * rene_scale; - hrtfParambin->parametricEarlyPartEneCorrection[i] = (float) parametricEarlyPartEneCorrection[i] * early_scale; + hrtfParambin->parametricReverberationTimes[i] = parametricReverberationTimes[i] * rt_scale; + hrtfParambin->parametricReverberationEneCorrections[i] = parametricReverberationEneCorrections[i] * rene_scale; + hrtfParambin->parametricEarlyPartEneCorrection[i] = parametricEarlyPartEneCorrection[i] * early_scale; } #else mvr2r( parametricReverberationTimes, hrtfParambin->parametricReverberationTimes, CLDFB_NO_CHANNELS_MAX ); diff --git a/lib_rend/ivas_objectRenderer_hrFilt.c b/lib_rend/ivas_objectRenderer_hrFilt.c index 9279ee15d9..456dbc640c 100644 --- a/lib_rend/ivas_objectRenderer_hrFilt.c +++ b/lib_rend/ivas_objectRenderer_hrFilt.c @@ -529,6 +529,7 @@ void BSplineModelEvalDealloc( #ifdef FIX_1123_TDREN_16BIT_ROM model->azimBsShape = NULL; #endif + for ( i = 0; i < model->elevDim3; i++ ) { free( model->azimKSeq[i] ); @@ -540,6 +541,7 @@ void BSplineModelEvalDealloc( #ifdef FIX_1123_TDREN_16BIT_ROM model->azimKSeq = NULL; #endif + if ( modelEval != NULL ) { free( modelEval->hrfModL ); diff --git a/lib_rend/ivas_objectRenderer_mix.c b/lib_rend/ivas_objectRenderer_mix.c index cd9d3784fc..0543deb68a 100644 --- a/lib_rend/ivas_objectRenderer_mix.c +++ b/lib_rend/ivas_objectRenderer_mix.c @@ -217,6 +217,7 @@ void TDREND_MIX_Dealloc( hBinRendererTd->HrFiltSet_p->ModelParams.elevKSeq = NULL; hBinRendererTd->HrFiltSet_p->ModelParams.elevBsShape = NULL; #endif + free( hBinRendererTd->HrFiltSet_p ); hBinRendererTd->HrFiltSet_p = NULL; *hBinRendererTd->pHrFiltSet_p = NULL; @@ -446,7 +447,6 @@ static ivas_error DefaultBSplineModel( model = &( HrFiltSet_p->ModelParams ); modelITD = &( HrFiltSet_p->ModelParamsITD ); - /* Set ROM flag for correct deallocation */ model->modelROM = TRUE; @@ -471,10 +471,10 @@ static ivas_error DefaultBSplineModel( return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural TD renderer\n" ) ); } - q_scale = powf( 2.f, -1.f * (float) defaultHRIR_rom_elevKSeq_Q ); + q_scale = powf( 2.f, -1.f * defaultHRIR_rom_elevKSeq_Q ); for ( j = 0; j < model->elevDim3 - 2; j++ ) { - model->elevKSeq_dyn[j] = (float) defaultHRIR_rom_elevKSeq[j] * q_scale; + model->elevKSeq_dyn[j] = defaultHRIR_rom_elevKSeq[j] * q_scale; } model->elevKSeq = (const float *) model->elevKSeq_dyn; @@ -484,16 +484,17 @@ static ivas_error DefaultBSplineModel( return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural TD renderer\n" ) ); } - q_scale = powf( 2.f, -1.f * (float) defaultHRIR_rom_elevBsShape_Q ); + q_scale = powf( 2.f, -1.f * defaultHRIR_rom_elevBsShape_Q ); for ( j = 0; j < size_rom_table; j++ ) { - model->elevBsShape_dyn[j] = (float) defaultHRIR_rom_elevBsShape[j] * q_scale; + model->elevBsShape_dyn[j] = defaultHRIR_rom_elevBsShape[j] * q_scale; } model->elevBsShape = (const float *) model->elevBsShape_dyn; #else model->elevKSeq = (const float *) defaultHRIR_rom_elevKSeq; model->elevBsShape = (const float *) defaultHRIR_rom_elevBsShape; #endif + if ( ( model->azimBsShape = (const float **) malloc( model->num_unique_azim_splines * sizeof( float * ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural TD renderer\n" ) ); @@ -509,13 +510,12 @@ static ivas_error DefaultBSplineModel( { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural TD renderer\n" ) ); } - q_scale = powf( 2.f, -1.f * (float) defaultHRIR_rom_azimBsShape_Q ); + q_scale = powf( 2.f, -1.f * defaultHRIR_rom_azimBsShape_Q ); for ( j = 0; j < size_rom_table; j++ ) { - model->azimBsShape_dyn[0][j] = (float) defaultHRIR_rom_azimBsShape[j] * q_scale; + model->azimBsShape_dyn[0][j] = defaultHRIR_rom_azimBsShape[j] * q_scale; } model->azimBsShape[0] = (const float *) model->azimBsShape_dyn[0]; - #else model->azimBsShape[0] = (const float *) defaultHRIR_rom_azimBsShape; #endif @@ -524,12 +524,14 @@ static ivas_error DefaultBSplineModel( { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural TD renderer\n" ) ); } + for ( i = 0; i < model->elevDim3; i++ ) { if ( ( model->azimKSeq[i] = (float *) malloc( ( model->azimDim3[i] + 1 ) * sizeof( float * ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural TD renderer\n" ) ); } + if ( model->azimShapeIdx[i] < 0 ) { azimSegSamples = 360.0f; @@ -538,6 +540,7 @@ static ivas_error DefaultBSplineModel( { azimSegSamples = defaultHRIR_rom_azimSegSamples[model->azimShapeIdx[i]]; } + assert( azimSegSamples == 360.0f / model->azimDim3[i] ); for ( j = 0; j < model->azimDim3[i] + 1; j++ ) { @@ -549,8 +552,8 @@ static ivas_error DefaultBSplineModel( { case 48000: #ifdef FIX_1123_TDREN_16BIT_ROM - q_scale_a = powf( 2.f, -1.f * (float) defaultHRIR_rom_Alpha48_Q ); - q_scale_e = powf( 2.f, -1.f * (float) defaultHRIR_rom_E48_Q ); + q_scale_a = powf( 2.f, -1.f * defaultHRIR_rom_Alpha48_Q ); + q_scale_e = powf( 2.f, -1.f * defaultHRIR_rom_E48_Q ); alphaL_ptr = defaultHRIR_rom_AlphaL48; alphaR_ptr = defaultHRIR_rom_AlphaR48; elL_ptr = defaultHRIR_rom_EL48; @@ -569,8 +572,8 @@ static ivas_error DefaultBSplineModel( break; case 32000: #ifdef FIX_1123_TDREN_16BIT_ROM - q_scale_a = powf( 2.f, -1.f * (float) defaultHRIR_rom_Alpha32_Q ); - q_scale_e = powf( 2.f, -1.f * (float) defaultHRIR_rom_E32_Q ); + q_scale_a = powf( 2.f, -1.f * defaultHRIR_rom_Alpha32_Q ); + q_scale_e = powf( 2.f, -1.f * defaultHRIR_rom_E32_Q ); alphaL_ptr = defaultHRIR_rom_AlphaL32; alphaR_ptr = defaultHRIR_rom_AlphaR32; elL_ptr = defaultHRIR_rom_EL32; @@ -589,8 +592,8 @@ static ivas_error DefaultBSplineModel( break; case 16000: #ifdef FIX_1123_TDREN_16BIT_ROM - q_scale_a = powf( 2.f, -1.f * (float) defaultHRIR_rom_Alpha16_Q ); - q_scale_e = powf( 2.f, -1.f * (float) defaultHRIR_rom_E16_Q ); + q_scale_a = powf( 2.f, -1.f * defaultHRIR_rom_Alpha16_Q ); + q_scale_e = powf( 2.f, -1.f * defaultHRIR_rom_E16_Q ); alphaL_ptr = defaultHRIR_rom_AlphaL16; alphaR_ptr = defaultHRIR_rom_AlphaR16; elL_ptr = defaultHRIR_rom_EL16; @@ -621,8 +624,8 @@ static ivas_error DefaultBSplineModel( } for ( j = 0; j < model->AlphaN * model->K; j++ ) { - model->AlphaL_dyn[j] = (float) alphaL_ptr[j] * q_scale_a; - model->AlphaR_dyn[j] = (float) alphaR_ptr[j] * q_scale_a; + model->AlphaL_dyn[j] = alphaL_ptr[j] * q_scale_a; + model->AlphaR_dyn[j] = alphaR_ptr[j] * q_scale_a; } model->AlphaL = (const float *) model->AlphaL_dyn; model->AlphaR = (const float *) model->AlphaR_dyn; @@ -632,6 +635,7 @@ static ivas_error DefaultBSplineModel( #ifndef FIX_1123_TDREN_16BIT_ROM HRTF_energy_sections_precalc( model ); #endif + if ( ( model->EL_dyn = (float *) malloc( HRTF_MODEL_N_SECTIONS * model->AlphaN * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural TD renderer\n" ) ); @@ -642,8 +646,8 @@ static ivas_error DefaultBSplineModel( } for ( j = 0; j < HRTF_MODEL_N_SECTIONS * model->AlphaN; j++ ) { - model->EL_dyn[j] = (float) elL_ptr[j] * q_scale_e; - model->ER_dyn[j] = (float) elR_ptr[j] * q_scale_e; + model->EL_dyn[j] = elL_ptr[j] * q_scale_e; + model->ER_dyn[j] = elR_ptr[j] * q_scale_e; } model->EL = (const float *) model->EL_dyn; @@ -662,10 +666,10 @@ static ivas_error DefaultBSplineModel( { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural TD renderer\n" ) ); } - q_scale = powf( 2.f, -1.f * (float) defaultHRIR_rom_ITD_elevKSeq_Q ); + q_scale = powf( 2.f, -1.f * defaultHRIR_rom_ITD_elevKSeq_Q ); for ( j = 0; j < modelITD->elevDim3 - 2; j++ ) { - modelITD->elevKSeq_dyn[j] = (float) defaultHRIR_rom_ITD_elevKSeq[j] * q_scale; + modelITD->elevKSeq_dyn[j] = defaultHRIR_rom_ITD_elevKSeq[j] * q_scale; } modelITD->elevKSeq = (const float *) modelITD->elevKSeq_dyn; #else @@ -680,10 +684,10 @@ static ivas_error DefaultBSplineModel( { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural TD renderer\n" ) ); } - q_scale = powf( 2.f, -1.f * (float) defaultHRIR_rom_ITD_azimKSeq_Q ); + q_scale = powf( 2.f, -1.f * defaultHRIR_rom_ITD_azimKSeq_Q ); for ( j = 0; j < ( modelITD->azimDim3 + 1 ) / 2 - 2; j++ ) { - modelITD->azimKSeq_dyn[j] = (float) defaultHRIR_rom_ITD_azimKSeq[j] * q_scale; + modelITD->azimKSeq_dyn[j] = defaultHRIR_rom_ITD_azimKSeq[j] * q_scale; } modelITD->azimKSeq = (const float *) modelITD->azimKSeq_dyn; #else @@ -695,10 +699,10 @@ static ivas_error DefaultBSplineModel( { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural TD renderer\n" ) ); } - q_scale = powf( 2.f, -1.f * (float) defaultHRIR_rom_ITD_W_Q ); + q_scale = powf( 2.f, -1.f * defaultHRIR_rom_ITD_W_Q ); for ( j = 0; j < size_rom_table; j++ ) { - modelITD->W_dyn[j] = (float) defaultHRIR_rom_ITD_W[j] * q_scale; + modelITD->W_dyn[j] = defaultHRIR_rom_ITD_W[j] * q_scale; } modelITD->W = (const float *) modelITD->W_dyn; @@ -707,10 +711,10 @@ static ivas_error DefaultBSplineModel( { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural TD renderer\n" ) ); } - q_scale = powf( 2.f, -1.f * (float) defaultHRIR_rom_ITD_azimBsShape_Q ); + q_scale = powf( 2.f, -1.f * defaultHRIR_rom_ITD_azimBsShape_Q ); for ( j = 0; j < size_rom_table; j++ ) { - modelITD->azimBsShape_dyn[j] = (float) defaultHRIR_rom_ITD_azimBsShape[j] * q_scale; + modelITD->azimBsShape_dyn[j] = defaultHRIR_rom_ITD_azimBsShape[j] * q_scale; } modelITD->azimBsShape = (const float *) modelITD->azimBsShape_dyn; @@ -719,10 +723,10 @@ static ivas_error DefaultBSplineModel( { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural TD renderer\n" ) ); } - q_scale = powf( 2.f, -1.f * (float) defaultHRIR_rom_ITD_elevBsShape_Q ); + q_scale = powf( 2.f, -1.f * defaultHRIR_rom_ITD_elevBsShape_Q ); for ( j = 0; j < size_rom_table; j++ ) { - modelITD->elevBsShape_dyn[j] = (float) defaultHRIR_rom_ITD_elevBsShape[j] * q_scale; + modelITD->elevBsShape_dyn[j] = defaultHRIR_rom_ITD_elevBsShape[j] * q_scale; } modelITD->elevBsShape = (const float *) modelITD->elevBsShape_dyn; #else @@ -730,11 +734,12 @@ static ivas_error DefaultBSplineModel( modelITD->azimBsShape = (const float *) defaultHRIR_rom_ITD_azimBsShape; modelITD->elevBsShape = (const float *) defaultHRIR_rom_ITD_elevBsShape; #endif + HRTF_model_precalc( model ); #ifdef FIX_1123_TDREN_16BIT_ROM - q_scale = powf( 2.f, -1.f * (float) defaultHRIR_rom_latency_s_Q ); - HrFiltSet_p->latency_s = (float) defaultHRIR_rom_latency_s * q_scale; + q_scale = powf( 2.f, -1.f * defaultHRIR_rom_latency_s_Q ); + HrFiltSet_p->latency_s = defaultHRIR_rom_latency_s * q_scale; #else HrFiltSet_p->latency_s = defaultHRIR_rom_latency_s; #endif diff --git a/lib_util/hrtf_file_reader.c b/lib_util/hrtf_file_reader.c index 6c81953e8b..69079c7413 100644 --- a/lib_util/hrtf_file_reader.c +++ b/lib_util/hrtf_file_reader.c @@ -66,11 +66,11 @@ typedef struct ivas_hrtfs_file_header_t #define RESAMPLE_FACTOR_16_48 ( 16.0f / 48.0f ) #define RESAMPLE_FACTOR_32_48 ( 32.0f / 48.0f ) +#ifndef FIX_POINT_HRTF_FILE_FORMAT /*---------------------------------------------------------------------* * Local function declarations *---------------------------------------------------------------------*/ -#ifndef FIX_POINT_HRTF_FILE_FORMAT static void HRTF_energy_sections_precalc( ModelParams_t *model ); #endif @@ -244,13 +244,14 @@ static ivas_error read_hrtf_binary_header( } #ifdef FIX_POINT_HRTF_FILE_FORMAT + /*-------------------------------------------------------------------* * LoadBSplineBinaryITD() * * Loads the B Spline HR filter model ITD data from file. --------------------------------------------------------------------*/ -static void LoadBSplineBinaryITD( +static ivas_error LoadBSplineBinaryITD( ModelParamsITD_t *modelITD, /* i/o: ITD model parameter structure */ FILE *f_hrtf /* i : HR filter data file handle */ ) @@ -259,11 +260,16 @@ static void LoadBSplineBinaryITD( int16_t *v_tmp16; int16_t j; float q_scale; + fread( &modelITD->elevDim3, sizeof( int16_t ), 1, f_hrtf ); modelITD->elevKSeq_dyn = (float *) malloc( ( modelITD->elevDim3 - 2 ) * sizeof( float ) ); v_tmp16 = (int16_t *) malloc( ( modelITD->elevDim3 - 2 ) * sizeof( int16_t ) ); + if ( modelITD->elevKSeq_dyn == NULL || v_tmp16 == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); - q_scale = powf( 2.f, -1.f * (float) factor_Q ); + q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), modelITD->elevDim3 - 2, f_hrtf ); for ( j = 0; j < modelITD->elevDim3 - 2; j++ ) { @@ -274,8 +280,12 @@ static void LoadBSplineBinaryITD( fread( &modelITD->azimDim3, sizeof( int16_t ), 1, f_hrtf ); modelITD->azimKSeq_dyn = (float *) malloc( ( ( modelITD->azimDim3 + 1 ) / 2 - 2 ) * sizeof( float ) ); /* basis functions are flipped around 180 deg, number of basis functions above/below is (N+1)/2 */ v_tmp16 = (int16_t *) malloc( ( ( modelITD->azimDim3 + 1 ) / 2 - 2 ) * sizeof( int16_t ) ); + if ( modelITD->azimKSeq_dyn == NULL || v_tmp16 == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); - q_scale = powf( 2.f, -1.f * (float) factor_Q ); + q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), ( modelITD->azimDim3 + 1 ) / 2 - 2, f_hrtf ); for ( j = 0; j < ( modelITD->azimDim3 + 1 ) / 2 - 2; j++ ) { @@ -285,10 +295,18 @@ static void LoadBSplineBinaryITD( fread( &tmp, sizeof( int16_t ), 1, f_hrtf ); modelITD->W_dyn = (float *) malloc( tmp * sizeof( float ) ); + if ( modelITD->W_dyn == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); - q_scale = powf( 2.f, -1.f * (float) factor_Q ); + q_scale = powf( 2.f, -1.f * factor_Q ); v_tmp16 = (int16_t *) malloc( tmp * sizeof( int16_t ) ); + if ( v_tmp16 == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( v_tmp16, sizeof( int16_t ), tmp, f_hrtf ); for ( j = 0; j < tmp; j++ ) { @@ -298,15 +316,27 @@ static void LoadBSplineBinaryITD( /* azimuth */ modelITD->azimBsLen_dyn = (int16_t *) malloc( HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( int16_t ) ); + if ( modelITD->azimBsLen_dyn == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( modelITD->azimBsLen_dyn, sizeof( int16_t ), HRTF_MODEL_BSPLINE_NUM_COEFFS, f_hrtf ); modelITD->azimBsStart_dyn = (int16_t *) malloc( HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( int16_t ) ); + if ( modelITD->azimBsStart_dyn == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( modelITD->azimBsStart_dyn, sizeof( int16_t ), HRTF_MODEL_BSPLINE_NUM_COEFFS, f_hrtf ); fread( &tmp, sizeof( int16_t ), 1, f_hrtf ); modelITD->azimBsShape_dyn = (float *) malloc( tmp * sizeof( float ) ); v_tmp16 = (int16_t *) malloc( tmp * sizeof( int16_t ) ); + if ( modelITD->azimBsShape_dyn == NULL || v_tmp16 == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); - q_scale = powf( 2.f, -1.f * (float) factor_Q ); + q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), tmp, f_hrtf ); for ( j = 0; j < tmp; j++ ) { @@ -318,16 +348,32 @@ static void LoadBSplineBinaryITD( /* elevation */ modelITD->elevBsLen_dyn = (int16_t *) malloc( HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( int16_t ) ); + if ( modelITD->elevBsLen_dyn == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( modelITD->elevBsLen_dyn, sizeof( int16_t ), HRTF_MODEL_BSPLINE_NUM_COEFFS, f_hrtf ); modelITD->elevBsStart_dyn = (int16_t *) malloc( HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( int16_t ) ); + if ( modelITD->elevBsStart_dyn == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( modelITD->elevBsStart_dyn, sizeof( int16_t ), HRTF_MODEL_BSPLINE_NUM_COEFFS, f_hrtf ); fread( &tmp, sizeof( int16_t ), 1, f_hrtf ); modelITD->elevBsShape_dyn = (float *) malloc( tmp * sizeof( float ) ); + if ( modelITD->elevBsShape_dyn == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } v_tmp16 = (int16_t *) malloc( tmp * sizeof( int16_t ) ); + if ( v_tmp16 == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); - q_scale = powf( 2.f, -1.f * (float) factor_Q ); + q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), tmp, f_hrtf ); for ( j = 0; j < tmp; j++ ) { @@ -346,7 +392,7 @@ static void LoadBSplineBinaryITD( modelITD->elevBsLen = modelITD->elevBsLen_dyn; modelITD->elevBsStart = modelITD->elevBsStart_dyn; - return; + return IVAS_ERR_OK; } #else /*-------------------------------------------------------------------* @@ -412,7 +458,9 @@ static void LoadBSplineBinaryITD( return; } #endif + #ifdef FIX_POINT_HRTF_FILE_FORMAT + /*-------------------------------------------------------------------* * LoadBSplineBinary() * @@ -429,9 +477,10 @@ static ivas_error LoadBSplineBinary( int16_t *v_tmp16; int32_t j, tmp32; float q_scale; + ivas_error error; fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); - q_scale = powf( 2.f, -1.f * (float) factor_Q ); + q_scale = powf( 2.f, -1.f * factor_Q ); fread( &tmp32, 1, sizeof( int32_t ), f_hrtf ); HrFiltSet_p->latency_s = (float) tmp32 * q_scale; @@ -467,7 +516,7 @@ static ivas_error LoadBSplineBinary( } break; default: - return IVAS_ERROR( IVAS_ERR_INVALID_HRTF, "Error: HR filter file had an unsupported sampling rate (%d kHz)", tmp ); + return IVAS_ERROR( IVAS_ERR_INVALID_HRTF, "Error: HR filter file has an unsupported sampling rate (%d kHz)", tmp ); } fread( &model->K, sizeof( int16_t ), 1, f_hrtf ); @@ -475,8 +524,12 @@ static ivas_error LoadBSplineBinary( model->elevKSeq_dyn = (float *) malloc( ( model->elevDim3 - 2 ) * sizeof( float ) ); v_tmp16 = (int16_t *) malloc( ( model->elevDim3 - 2 ) * sizeof( int16_t ) ); + if ( model->elevKSeq_dyn == NULL || v_tmp16 == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); - q_scale = powf( 2.f, -1.f * (float) factor_Q ); + q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), model->elevDim3 - 2, f_hrtf ); for ( j = 0; j < model->elevDim3 - 2; j++ ) { @@ -487,6 +540,11 @@ static ivas_error LoadBSplineBinary( model->azim_start_idx_dyn = (int16_t *) malloc( model->elevDim3 * sizeof( int16_t ) ); model->azimKSeq = (float **) malloc( model->elevDim3 * sizeof( float * ) ); + if ( model->azimDim3_dyn == NULL || model->azim_start_idx_dyn == NULL || model->azimKSeq == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } + for ( i = 0; i < model->elevDim3; i++ ) { fread( &model->azimDim3_dyn[i], sizeof( int16_t ), 1, f_hrtf ); @@ -494,8 +552,12 @@ static ivas_error LoadBSplineBinary( model->azimKSeq[i] = (float *) malloc( ( model->azimDim3_dyn[i] + 1 ) * sizeof( float ) ); v_tmp16 = (int16_t *) malloc( ( model->azimDim3_dyn[i] + 1 ) * sizeof( int16_t ) ); + if ( model->azimKSeq[i] == NULL || v_tmp16 == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); - q_scale = powf( 2.f, -1.f * (float) factor_Q ); + q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), ( model->azimDim3_dyn[i] + 1 ), f_hrtf ); for ( j = 0; j < model->azimDim3_dyn[i] + 1; j++ ) { @@ -508,20 +570,28 @@ static ivas_error LoadBSplineBinary( model->AlphaL_dyn = (float *) malloc( model->AlphaN * model->K * sizeof( float ) ); v_tmp16 = (int16_t *) malloc( model->AlphaN * model->K * sizeof( int16_t ) ); + if ( model->AlphaL_dyn == NULL || v_tmp16 == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); - q_scale = powf( 2.f, -1.f * (float) factor_Q ); + q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), model->AlphaN * model->K, f_hrtf ); for ( j = 0; j < model->AlphaN * model->K; j++ ) { - model->AlphaL_dyn[j] = (float) v_tmp16[j] * q_scale; // Q14 + model->AlphaL_dyn[j] = (float) v_tmp16[j] * q_scale; /* Q14 */ } model->AlphaR_dyn = (float *) malloc( model->AlphaN * model->K * sizeof( float ) ); + if ( model->AlphaR_dyn == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( v_tmp16, sizeof( int16_t ), model->AlphaN * model->K, f_hrtf ); for ( j = 0; j < model->AlphaN * model->K; j++ ) { - model->AlphaR_dyn[j] = (float) v_tmp16[j] * q_scale; // Q14 + model->AlphaR_dyn[j] = (float) v_tmp16[j] * q_scale; /* Q14 */ } free( v_tmp16 ); @@ -531,14 +601,27 @@ static ivas_error LoadBSplineBinary( model->azimBsShape = (const float **) malloc( model->num_unique_azim_splines * sizeof( float * ) ); model->azimBsShape_dyn = (float **) malloc( model->num_unique_azim_splines * sizeof( float * ) ); model->azimSegSamples_dyn = (int16_t *) malloc( model->num_unique_azim_splines * sizeof( int16_t ) ); + if ( model->azimBsShape == NULL || model->azimBsShape_dyn == NULL || model->azimSegSamples_dyn == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } for ( i = 0; i < model->num_unique_azim_splines; i++ ) { fread( &tmp, sizeof( int16_t ), 1, f_hrtf ); model->azimBsShape_dyn[i] = (float *) malloc( tmp * sizeof( float ) ); + if ( model->azimBsShape_dyn[i] == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); q_scale = powf( 2.f, -1.f * (float) factor_Q ); v_tmp16 = (int16_t *) malloc( tmp * sizeof( int16_t ) ); + if ( v_tmp16 == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } + fread( v_tmp16, sizeof( int16_t ), tmp, f_hrtf ); for ( j = 0; j < tmp; j++ ) { @@ -549,22 +632,42 @@ static ivas_error LoadBSplineBinary( } model->azimShapeIdx_dyn = (int16_t *) malloc( model->elevDim3 * sizeof( int16_t ) ); + if ( model->azimShapeIdx_dyn == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( model->azimShapeIdx_dyn, sizeof( int16_t ), model->elevDim3, f_hrtf ); model->azimShapeSampFactor_dyn = (int16_t *) malloc( model->elevDim3 * sizeof( int16_t ) ); + if ( model->azimShapeSampFactor_dyn == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( model->azimShapeSampFactor_dyn, sizeof( int16_t ), model->elevDim3, f_hrtf ); /* elevation */ model->elevBsLen_dyn = (int16_t *) malloc( HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( int16_t ) ); + if ( model->elevBsLen_dyn == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( model->elevBsLen_dyn, sizeof( int16_t ), HRTF_MODEL_BSPLINE_NUM_COEFFS, f_hrtf ); model->elevBsStart_dyn = (int16_t *) malloc( HRTF_MODEL_BSPLINE_NUM_COEFFS * sizeof( int16_t ) ); + if ( model->elevBsStart_dyn == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( model->elevBsStart_dyn, sizeof( int16_t ), HRTF_MODEL_BSPLINE_NUM_COEFFS, f_hrtf ); fread( &tmp, sizeof( int16_t ), 1, f_hrtf ); v_tmp16 = (int16_t *) malloc( tmp * sizeof( int16_t ) ); model->elevBsShape_dyn = (float *) malloc( tmp * sizeof( float ) ); + if ( model->elevBsShape_dyn == NULL || v_tmp16 == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); - q_scale = powf( 2.f, -1.f * (float) factor_Q ); + q_scale = powf( 2.f, -1.f * factor_Q ); fread( v_tmp16, sizeof( int16_t ), tmp, f_hrtf ); for ( j = 0; j < tmp; j++ ) { @@ -575,20 +678,28 @@ static ivas_error LoadBSplineBinary( fread( &model->elevSegSamples, sizeof( int16_t ), 1, f_hrtf ); model->EL_dyn = (float *) malloc( model->AlphaN * HRTF_MODEL_N_SECTIONS * sizeof( float ) ); + if ( model->EL_dyn == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf ); - q_scale = powf( 2.f, -1.f * (float) factor_Q ); + q_scale = powf( 2.f, -1.f * factor_Q ); fread( (int32_t *) model->EL_dyn, sizeof( int32_t ), model->AlphaN * HRTF_MODEL_N_SECTIONS, f_hrtf ); for ( j = 0; j < model->AlphaN * HRTF_MODEL_N_SECTIONS; j++ ) { - model->EL_dyn[j] = (float) ( (int32_t *) model->EL_dyn )[j] * q_scale; // Q14 + model->EL_dyn[j] = (float) ( (int32_t *) model->EL_dyn )[j] * q_scale; /* Q14 */ } model->ER_dyn = (float *) malloc( model->AlphaN * HRTF_MODEL_N_SECTIONS * sizeof( float ) ); + if ( model->ER_dyn == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } fread( (int32_t *) model->ER_dyn, sizeof( int32_t ), model->AlphaN * HRTF_MODEL_N_SECTIONS, f_hrtf ); for ( j = 0; j < model->AlphaN * HRTF_MODEL_N_SECTIONS; j++ ) { - model->ER_dyn[j] = (float) ( (int32_t *) model->ER_dyn )[j] * q_scale; // Q14 + model->ER_dyn[j] = (float) ( (int32_t *) model->ER_dyn )[j] * q_scale; /* Q14 */ } /* Set const pointers */ @@ -616,10 +727,17 @@ static ivas_error LoadBSplineBinary( HrFiltSet_p->ModelEval.hrfModL = (float *) malloc( model->K * sizeof( float ) ); HrFiltSet_p->ModelEval.hrfModR = (float *) malloc( model->K * sizeof( float ) ); + if ( HrFiltSet_p->ModelEval.hrfModL == NULL || HrFiltSet_p->ModelEval.hrfModR == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); + } if ( HrFiltSet_p->ModelParams.UseItdModel ) { - LoadBSplineBinaryITD( &HrFiltSet_p->ModelParamsITD, f_hrtf ); + if ( ( error = LoadBSplineBinaryITD( &HrFiltSet_p->ModelParamsITD, f_hrtf ) ) != IVAS_ERR_OK ) + { + return error; + } } return IVAS_ERR_OK; @@ -772,7 +890,7 @@ static ivas_error LoadBSplineBinary( static ivas_error load_reverb_from_binary( IVAS_DEC_HRTF_STATISTICS_HANDLE hHrtfStatistics, /* i/o: HRTF statistics handle */ int32_t sampleRate, /* i : sample rate */ - FILE *f_hrtf /* i : HR filter data file handle */ + FILE *f_hrtf /* i : HR filter data file handle */ ) { bool is_reverb; @@ -861,9 +979,10 @@ static ivas_error load_reverb_from_binary( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" ); } + #ifdef FIX_POINT_HRTF_FILE_FORMAT fread( &factorQ, sizeof( Word16 ), 1, f_hrtf ); - factorQ_f = powf( 2.f, -1.f * (float) factorQ ); + factorQ_f = powf( 2.f, -1.f * factorQ ); for ( ind = 0; ind < lr_iac_len; ind++ ) { fread( &tmp16, sizeof( Word16 ), 1, f_hrtf ); @@ -1021,6 +1140,7 @@ static ivas_error TDREND_MIX_LoadHRTF( { return IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA; } + return header_check_result; } @@ -1045,12 +1165,13 @@ ivas_error load_HRTF_binary( return error; } +#ifndef FIX_POINT_HRTF_FILE_FORMAT /*---------------------------------------------------------------------* * HRTF_energy_sections_precalc() * * Calculate energies of each section and store in model->EL/model->ER *---------------------------------------------------------------------*/ -#ifndef FIX_POINT_HRTF_FILE_FORMAT + static void HRTF_energy_sections_precalc( ModelParams_t *model /* i/o: HRTF model parameters */ ) @@ -1467,7 +1588,7 @@ static ivas_error create_HRTF_from_rawdata( hrtf_data_rptr += sizeof( Word16 ); /* latency_s */ - ( *hHRTF )->latency_s = (float) ( *( (Word32 *) ( hrtf_data_rptr ) ) ) * powf( 2.f, -1.f * (float) factorQ ); + ( *hHRTF )->latency_s = (float) ( *( (Word32 *) ( hrtf_data_rptr ) ) ) * powf( 2.f, -1.f * factorQ ); hrtf_data_rptr += sizeof( Word32 ); /* max_num_ir */ @@ -1591,7 +1712,7 @@ static ivas_error create_HRTF_from_rawdata( #endif for ( l = 0; l < ( *hHRTF )->pIndex_frequency_max[i][j][k]; l++ ) { - pOut_to_bin_wptr[l] = (float) ptW[l] * powf( 2.f, -1.f * (float) factorQ ); + pOut_to_bin_wptr[l] = (float) ptW[l] * powf( 2.f, -1.f * factorQ ); } hrtf_data_rptr += mem_size; pOut_to_bin_wptr += ( *hHRTF )->pIndex_frequency_max[i][j][k]; @@ -1624,7 +1745,7 @@ static ivas_error create_HRTF_from_rawdata( #endif for ( l = 0; l < ( *hHRTF )->pIndex_frequency_max[i][j][k]; l++ ) { - pOut_to_bin_wptr[l] = (float) ptW[l] * powf( 2.f, -1.f * (float) factorQ ); + pOut_to_bin_wptr[l] = (float) ptW[l] * powf( 2.f, -1.f * factorQ ); } hrtf_data_rptr += mem_size; pOut_to_bin_wptr += ( *hHRTF )->pIndex_frequency_max[i][j][k]; @@ -1638,8 +1759,8 @@ static ivas_error create_HRTF_from_rawdata( if ( max_total_num_fsamp_per_iteration_diff != 0 ) { - // factorQ = *( (Word16 *) ( hrtf_data_rptr ) ); - // hrtf_data_rptr += sizeof( Word16 ); + /* factorQ = *( (Word16 *) ( hrtf_data_rptr ) ); */ + /* hrtf_data_rptr += sizeof( Word16 ); */ /* coeff_diffuse_re : The size depends on pIndex_frequency_max_diffuse */ for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { @@ -1664,7 +1785,7 @@ static ivas_error create_HRTF_from_rawdata( #endif for ( l = 0; l < ( *hHRTF )->pIndex_frequency_max_diffuse[j][k]; l++ ) { - pOut_to_bin_wptr[l] = (float) ptW[l] * powf( 2.f, -1.f * (float) factorQ ); + pOut_to_bin_wptr[l] = (float) ptW[l] * powf( 2.f, -1.f * factorQ ); } hrtf_data_rptr += mem_size; pOut_to_bin_wptr += ( *hHRTF )->pIndex_frequency_max_diffuse[j][k]; @@ -1694,7 +1815,7 @@ static ivas_error create_HRTF_from_rawdata( #endif for ( l = 0; l < ( *hHRTF )->pIndex_frequency_max_diffuse[j][k]; l++ ) { - pOut_to_bin_wptr[l] = (float) ptW[l] * powf( 2.f, -1.f * (float) factorQ ); + pOut_to_bin_wptr[l] = (float) ptW[l] * powf( 2.f, -1.f * factorQ ); } hrtf_data_rptr += mem_size; pOut_to_bin_wptr += ( *hHRTF )->pIndex_frequency_max_diffuse[j][k]; @@ -1705,6 +1826,13 @@ static ivas_error create_HRTF_from_rawdata( return IVAS_ERR_OK; } + +/*---------------------------------------------------------------------* + * create_fastconv_HRTF_from_rawdata() + * + * Create HRTF from the raw data (to the HRTF FastConv handle) + *---------------------------------------------------------------------*/ + static ivas_error create_fastconv_HRTF_from_rawdata( HRTFS_FASTCONV_HANDLE *hHRTF, /* i/o: HRTF FastConv handle */ char *hrtf_data, /* i : pointer to binary file */ @@ -1724,7 +1852,6 @@ static ivas_error create_fastconv_HRTF_from_rawdata( int16_t *ptW16; ( *hHRTF )->allocate_init_flag = 0; - #ifndef FIX_1123_FASTCONV_16BIT_ROM if ( rend_type == HRTF_READER_RENDERER_BINAURAL_FASTCONV ) { @@ -1745,7 +1872,6 @@ static ivas_error create_fastconv_HRTF_from_rawdata( return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "renderer type not compliant" ); } #endif - hrtf_data_rptr = hrtf_data; /* HRIR */ @@ -1756,7 +1882,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( hrtf_data_rptr += sizeof( Word16 ); /* latency_s */ - ( *hHRTF )->FASTCONV_HRIR_latency_s = (float) ( *( (Word32 *) ( hrtf_data_rptr ) ) ) * powf( 2.f, -1.f * (float) factorQ ); + ( *hHRTF )->FASTCONV_HRIR_latency_s = (float) ( *( (Word32 *) ( hrtf_data_rptr ) ) ) * powf( 2.f, -1.f * factorQ ); hrtf_data_rptr += sizeof( Word32 ); if ( BINAURAL_CONVBANDS != *( (uint16_t *) ( hrtf_data_rptr ) ) ) @@ -1792,7 +1918,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( factorQ = *( (Word16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( Word16 ); #ifdef FIX_1123_FASTCONV_16BIT_ROM - scaleFactor = powf( 2.f, -1.f * (float) factorQ ); + scaleFactor = powf( 2.f, -1.f * factorQ ); #endif for ( i = 0; i < BINAURAL_CONVBANDS; i++ ) @@ -1808,7 +1934,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( #endif { #ifdef FIX_1123_FASTCONV_16BIT_ROM - ( *hHRTF )->leftHRIRReal[i][j][k] = (float) ptW16[k] * scaleFactor; + ( *hHRTF )->leftHRIRReal[i][j][k] = ptW16[k] * scaleFactor; #else ( *hHRTF )->leftHRIRReal[i][j][k] = (float) ptW32[k] * powf( 2.f, -1.f * (float) factorQ ); #endif @@ -1833,7 +1959,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( #endif { #ifdef FIX_1123_FASTCONV_16BIT_ROM - ( *hHRTF )->leftHRIRImag[i][j][k] = (float) ptW16[k] * scaleFactor; + ( *hHRTF )->leftHRIRImag[i][j][k] = ptW16[k] * scaleFactor; #else ( *hHRTF )->leftHRIRImag[i][j][k] = (float) ptW32[k] * powf( 2.f, -1.f * (float) factorQ ); #endif @@ -1858,7 +1984,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( #endif { #ifdef FIX_1123_FASTCONV_16BIT_ROM - ( *hHRTF )->rightHRIRReal[i][j][k] = (float) ptW16[k] * scaleFactor; + ( *hHRTF )->rightHRIRReal[i][j][k] = ptW16[k] * scaleFactor; #else ( *hHRTF )->rightHRIRReal[i][j][k] = (float) ptW32[k] * powf( 2.f, -1.f * (float) factorQ ); #endif @@ -1883,7 +2009,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( #endif { #ifdef FIX_1123_FASTCONV_16BIT_ROM - ( *hHRTF )->rightHRIRImag[i][j][k] = (float) ptW16[k] * scaleFactor; + ( *hHRTF )->rightHRIRImag[i][j][k] = ptW16[k] * scaleFactor; #else ( *hHRTF )->rightHRIRImag[i][j][k] = (float) ptW32[k] * powf( 2.f, -1.f * (float) factorQ ); #endif @@ -1939,7 +2065,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( factorQ = *( (Word16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( Word16 ); #ifdef FIX_1123_FASTCONV_16BIT_ROM - scaleFactor = powf( 2.f, -1.f * (float) factorQ ); + scaleFactor = powf( 2.f, -1.f * factorQ ); #endif for ( i = 0; i < BINAURAL_CONVBANDS; i++ ) @@ -1980,7 +2106,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( #endif { #ifdef FIX_1123_FASTCONV_16BIT_ROM - ( *hHRTF )->leftHRIRImag_HOA3[i][j][k] = (float) ptW16[k] * scaleFactor; + ( *hHRTF )->leftHRIRImag_HOA3[i][j][k] = ptW16[k] * scaleFactor; #else ( *hHRTF )->leftHRIRImag_HOA3[i][j][k] = (float) ptW32[k] * powf( 2.f, -1.f * (float) factorQ ); #endif @@ -2005,7 +2131,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( #endif { #ifdef FIX_1123_FASTCONV_16BIT_ROM - ( *hHRTF )->rightHRIRReal_HOA3[i][j][k] = (float) ptW16[k] * scaleFactor; + ( *hHRTF )->rightHRIRReal_HOA3[i][j][k] = ptW16[k] * scaleFactor; #else ( *hHRTF )->rightHRIRReal_HOA3[i][j][k] = (float) ptW32[k] * powf( 2.f, -1.f * (float) factorQ ); #endif @@ -2030,7 +2156,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( #endif { #ifdef FIX_1123_FASTCONV_16BIT_ROM - ( *hHRTF )->rightHRIRImag_HOA3[i][j][k] = (float) ptW16[k] * scaleFactor; + ( *hHRTF )->rightHRIRImag_HOA3[i][j][k] = ptW16[k] * scaleFactor; #else ( *hHRTF )->rightHRIRImag_HOA3[i][j][k] = (float) ptW32[k] * powf( 2.f, -1.f * (float) factorQ ); #endif @@ -2086,7 +2212,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( factorQ = *( (Word16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( Word16 ); #ifdef FIX_1123_FASTCONV_16BIT_ROM - scaleFactor = powf( 2.f, -1.f * (float) factorQ ); + scaleFactor = powf( 2.f, -1.f * factorQ ); #endif for ( i = 0; i < BINAURAL_CONVBANDS; i++ ) @@ -2102,7 +2228,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( #endif { #ifdef FIX_1123_FASTCONV_16BIT_ROM - ( *hHRTF )->leftHRIRReal_HOA2[i][j][k] = (float) ptW16[k] * scaleFactor; + ( *hHRTF )->leftHRIRReal_HOA2[i][j][k] = ptW16[k] * scaleFactor; #else ( *hHRTF )->leftHRIRReal_HOA2[i][j][k] = (float) ptW32[k] * powf( 2.f, -1.f * (float) factorQ ); #endif @@ -2127,7 +2253,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( #endif { #ifdef FIX_1123_FASTCONV_16BIT_ROM - ( *hHRTF )->leftHRIRImag_HOA2[i][j][k] = (float) ptW16[k] * scaleFactor; + ( *hHRTF )->leftHRIRImag_HOA2[i][j][k] = ptW16[k] * scaleFactor; #else ( *hHRTF )->leftHRIRImag_HOA2[i][j][k] = (float) ptW32[k] * powf( 2.f, -1.f * (float) factorQ ); #endif @@ -2152,7 +2278,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( #endif { #ifdef FIX_1123_FASTCONV_16BIT_ROM - ( *hHRTF )->rightHRIRReal_HOA2[i][j][k] = (float) ptW16[k] * scaleFactor; + ( *hHRTF )->rightHRIRReal_HOA2[i][j][k] = ptW16[k] * scaleFactor; #else ( *hHRTF )->rightHRIRReal_HOA2[i][j][k] = (float) ptW32[k] * powf( 2.f, -1.f * (float) factorQ ); #endif @@ -2177,7 +2303,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( #endif { #ifdef FIX_1123_FASTCONV_16BIT_ROM - ( *hHRTF )->rightHRIRImag_HOA2[i][j][k] = (float) ptW16[k] * scaleFactor; + ( *hHRTF )->rightHRIRImag_HOA2[i][j][k] = ptW16[k] * scaleFactor; #else ( *hHRTF )->rightHRIRImag_HOA2[i][j][k] = (float) ptW32[k] * powf( 2.f, -1.f * (float) factorQ ); #endif @@ -2234,7 +2360,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( factorQ = *( (Word16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( Word16 ); #ifdef FIX_1123_FASTCONV_16BIT_ROM - scaleFactor = powf( 2.f, -1.f * (float) factorQ ); + scaleFactor = powf( 2.f, -1.f * factorQ ); #endif for ( i = 0; i < BINAURAL_CONVBANDS; i++ ) @@ -2250,7 +2376,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( #endif { #ifdef FIX_1123_FASTCONV_16BIT_ROM - ( *hHRTF )->leftHRIRReal_FOA[i][j][k] = (float) ptW16[k] * scaleFactor; + ( *hHRTF )->leftHRIRReal_FOA[i][j][k] = ptW16[k] * scaleFactor; #else ( *hHRTF )->leftHRIRReal_FOA[i][j][k] = (float) ptW32[k] * powf( 2.f, -1.f * (float) factorQ ); #endif @@ -2275,7 +2401,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( #endif { #ifdef FIX_1123_FASTCONV_16BIT_ROM - ( *hHRTF )->leftHRIRImag_FOA[i][j][k] = (float) ptW16[k] * scaleFactor; + ( *hHRTF )->leftHRIRImag_FOA[i][j][k] = ptW16[k] * scaleFactor; #else ( *hHRTF )->leftHRIRImag_FOA[i][j][k] = (float) ptW32[k] * powf( 2.f, -1.f * (float) factorQ ); #endif @@ -2300,7 +2426,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( #endif { #ifdef FIX_1123_FASTCONV_16BIT_ROM - ( *hHRTF )->rightHRIRReal_FOA[i][j][k] = (float) ptW16[k] * scaleFactor; + ( *hHRTF )->rightHRIRReal_FOA[i][j][k] = ptW16[k] * scaleFactor; #else ( *hHRTF )->rightHRIRReal_FOA[i][j][k] = (float) ptW32[k] * powf( 2.f, -1.f * (float) factorQ ); #endif @@ -2325,7 +2451,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( #endif { #ifdef FIX_1123_FASTCONV_16BIT_ROM - ( *hHRTF )->rightHRIRImag_FOA[i][j][k] = (float) ptW16[k] * scaleFactor; + ( *hHRTF )->rightHRIRImag_FOA[i][j][k] = ptW16[k] * scaleFactor; #else ( *hHRTF )->rightHRIRImag_FOA[i][j][k] = (float) ptW32[k] * powf( 2.f, -1.f * (float) factorQ ); #endif @@ -2382,7 +2508,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( factorQ = *( (Word16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( Word16 ); #ifdef FIX_1123_FASTCONV_16BIT_ROM - scaleFactor = powf( 2.f, -1.f * (float) factorQ ); + scaleFactor = powf( 2.f, -1.f * factorQ ); #endif for ( i = 0; i < BINAURAL_CONVBANDS; i++ ) @@ -2398,7 +2524,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( #endif { #ifdef FIX_1123_FASTCONV_16BIT_ROM - ( *hHRTF )->leftBRIRReal[i][j][k] = (float) ptW16[k] * scaleFactor; + ( *hHRTF )->leftBRIRReal[i][j][k] = ptW16[k] * scaleFactor; #else ( *hHRTF )->leftBRIRReal[i][j][k] = (float) ptW32[k] * powf( 2.f, -1.f * (float) factorQ ); #endif @@ -2423,7 +2549,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( #endif { #ifdef FIX_1123_FASTCONV_16BIT_ROM - ( *hHRTF )->leftBRIRImag[i][j][k] = (float) ptW16[k] * scaleFactor; + ( *hHRTF )->leftBRIRImag[i][j][k] = ptW16[k] * scaleFactor; #else ( *hHRTF )->leftBRIRImag[i][j][k] = (float) ptW32[k] * powf( 2.f, -1.f * (float) factorQ ); #endif @@ -2448,7 +2574,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( #endif { #ifdef FIX_1123_FASTCONV_16BIT_ROM - ( *hHRTF )->rightBRIRReal[i][j][k] = (float) ptW16[k] * scaleFactor; + ( *hHRTF )->rightBRIRReal[i][j][k] = ptW16[k] * scaleFactor; #else ( *hHRTF )->rightBRIRReal[i][j][k] = (float) ptW32[k] * powf( 2.f, -1.f * (float) factorQ ); #endif @@ -2473,7 +2599,7 @@ static ivas_error create_fastconv_HRTF_from_rawdata( #endif { #ifdef FIX_1123_FASTCONV_16BIT_ROM - ( *hHRTF )->rightBRIRImag[i][j][k] = (float) ptW16[k] * scaleFactor; + ( *hHRTF )->rightBRIRImag[i][j][k] = ptW16[k] * scaleFactor; #else ( *hHRTF )->rightBRIRImag[i][j][k] = (float) ptW32[k] * powf( 2.f, -1.f * (float) factorQ ); #endif @@ -2497,14 +2623,14 @@ static ivas_error create_fastconv_HRTF_from_rawdata( factorQ = *( (Word16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( Word16 ); #ifdef FIX_1123_FASTCONV_16BIT_ROM - scaleFactor = powf( 2.f, -1.f * (float) factorQ ); + scaleFactor = powf( 2.f, -1.f * factorQ ); #endif ptW16 = (int16_t *) hrtf_data_rptr; for ( j = 0; j < CLDFB_NO_CHANNELS_MAX; j++ ) { #ifdef FIX_1123_FASTCONV_16BIT_ROM - ( *hHRTF )->fastconvReverberationTimes[j] = (float) ptW16[j] * powf( 2.f, -1.f * factorQ ); + ( *hHRTF )->fastconvReverberationTimes[j] = ptW16[j] * powf( 2.f, -1.f * factorQ ); #else ( *hHRTF )->fastconvReverberationTimes[j] = (float) ptW16[j] * scaleFactor; #endif @@ -2515,14 +2641,14 @@ static ivas_error create_fastconv_HRTF_from_rawdata( factorQ = *( (Word16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( Word16 ); #ifdef FIX_1123_FASTCONV_16BIT_ROM - scaleFactor = powf( 2.f, -1.f * (float) factorQ ); + scaleFactor = powf( 2.f, -1.f * factorQ ); #endif ptW16 = (int16_t *) hrtf_data_rptr; for ( j = 0; j < CLDFB_NO_CHANNELS_MAX; j++ ) { #ifdef FIX_1123_FASTCONV_16BIT_ROM - ( *hHRTF )->fastconvReverberationEneCorrections[j] = (float) ptW16[j] * powf( 2.f, -1.f * factorQ ); + ( *hHRTF )->fastconvReverberationEneCorrections[j] = ptW16[j] * powf( 2.f, -1.f * factorQ ); #else ( *hHRTF )->fastconvReverberationEneCorrections[j] = (float) ptW16[j] * scaleFactor; #endif @@ -2571,7 +2697,7 @@ static ivas_error create_parambin_HRTF_from_rawdata( /* Q factor*/ factorQ = *( (Word16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( Word16 ); - scaler = powf( 2.f, -1.f * (float) factorQ ); + scaler = powf( 2.f, -1.f * factorQ ); data_size_tmp = HRTF_NUM_BINS * sizeof( int16_t ); for ( i = 0; i < BINAURAL_CHANNELS; i++ ) @@ -2609,8 +2735,7 @@ static ivas_error create_parambin_HRTF_from_rawdata( /* Q factor*/ factorQ = *( (Word16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( Word16 ); - scaler = powf( 2.f, -1.f * (float) factorQ ); - + scaler = powf( 2.f, -1.f * factorQ ); ptW16 = (int16_t *) hrtf_data_rptr; for ( j = 0; j < CLDFB_NO_CHANNELS_MAX; j++ ) @@ -2622,8 +2747,7 @@ static ivas_error create_parambin_HRTF_from_rawdata( /* Q factor*/ factorQ = *( (Word16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( Word16 ); - scaler = powf( 2.f, -1.f * (float) factorQ ); - + scaler = powf( 2.f, -1.f * factorQ ); ptW16 = (int16_t *) hrtf_data_rptr; for ( j = 0; j < CLDFB_NO_CHANNELS_MAX; j++ ) @@ -2635,7 +2759,7 @@ static ivas_error create_parambin_HRTF_from_rawdata( /* Q factor*/ factorQ = *( (Word16 *) ( hrtf_data_rptr ) ); hrtf_data_rptr += sizeof( Word16 ); - scaler = powf( 2.f, -1.f * (float) factorQ ); + scaler = powf( 2.f, -1.f * factorQ ); ptW16 = (int16_t *) hrtf_data_rptr; for ( j = 0; j < CLDFB_NO_CHANNELS_MAX; j++ ) -- GitLab From e484cf5c3bee00e7873754189d8802935076adbc Mon Sep 17 00:00:00 2001 From: vaclav Date: Sat, 20 Jul 2024 11:08:49 +0200 Subject: [PATCH 2/8] fix location of function returns; under FIX_RETURN --- lib_com/options.h | 1 + lib_dec/ivas_binRenderer_internal.c | 9 +++++++-- lib_rend/ivas_dirac_dec_binaural_functions.c | 7 ++++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index ae65abaf00..2a40f54405 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -169,6 +169,7 @@ #define FIX_1123_TDREN_16BIT_ROM #define FIX_1123_FASTCONV_16BIT_ROM /* FhG: issue 1123: update FastConv ROM tables and scripts to generate 16 bit tables instead of float */ #define FIX_1123_PARAMBIN_16BIT_ROM /* FhG,Nok: issue 1123: update ParamBin ROM tables and scripts to generate 16 bit tables instead of float */ +#define FIX_RETURN /* VA: fix location of function returns */ #endif /* #################### End BE switches ################################## */ diff --git a/lib_dec/ivas_binRenderer_internal.c b/lib_dec/ivas_binRenderer_internal.c index fa02bbc990..d94804cb2c 100644 --- a/lib_dec/ivas_binRenderer_internal.c +++ b/lib_dec/ivas_binRenderer_internal.c @@ -804,7 +804,7 @@ ivas_error ivas_allocate_binaural_hrtf( /*-------------------------------------------------------------------------* - * ivas_binaural_HRTF_open() + * ivas_binaural_hrtf_open() * * *-------------------------------------------------------------------------*/ @@ -1048,9 +1048,14 @@ static ivas_error ivas_binaural_hrtf_open( #endif *hHrtfFastConv = HrtfFastConv; - } +#ifdef FIX_RETURN + return IVAS_ERR_OK; +#endif + } +#ifndef FIX_RETURN return IVAS_ERR_OK; +#endif } diff --git a/lib_rend/ivas_dirac_dec_binaural_functions.c b/lib_rend/ivas_dirac_dec_binaural_functions.c index 18c680595d..9c0b1c8374 100644 --- a/lib_rend/ivas_dirac_dec_binaural_functions.c +++ b/lib_rend/ivas_dirac_dec_binaural_functions.c @@ -433,9 +433,14 @@ ivas_error ivas_dirac_dec_binaural_copy_hrtfs( #endif *hHrtfParambin = hrtfParambin; - } +#ifdef FIX_RETURN + return IVAS_ERR_OK; +#endif + } +#ifndef FIX_RETURN return IVAS_ERR_OK; +#endif } -- GitLab From 29f210c950866da38dd58f1cc6bc12a097bb3c89 Mon Sep 17 00:00:00 2001 From: vaclav Date: Tue, 23 Jul 2024 10:26:54 +0200 Subject: [PATCH 3/8] define RESAMPLE_FACTOR_16_48/RESAMPLE_FACTOR_48_48 only once --- lib_com/ivas_cnst.h | 3 +++ lib_rend/ivas_objectRenderer_mix.c | 10 +--------- lib_util/hrtf_file_reader.c | 12 ++---------- 3 files changed, 6 insertions(+), 19 deletions(-) diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h index c31fa83049..fbe82c07a2 100755 --- a/lib_com/ivas_cnst.h +++ b/lib_com/ivas_cnst.h @@ -1530,6 +1530,9 @@ typedef enum #define MAX_ANGULAR_STEP_INV ( 1.0f / MAX_ANGULAR_STEP ) #define MAX_INTERPOLATION_STEPS 12 +#define RESAMPLE_FACTOR_16_48 ( 16.0f / 48.0f ) +#define RESAMPLE_FACTOR_32_48 ( 32.0f / 48.0f ) + /* ----- Enums - TD Renderer ----- */ typedef enum diff --git a/lib_rend/ivas_objectRenderer_mix.c b/lib_rend/ivas_objectRenderer_mix.c index 0543deb68a..1c990eff90 100644 --- a/lib_rend/ivas_objectRenderer_mix.c +++ b/lib_rend/ivas_objectRenderer_mix.c @@ -45,16 +45,8 @@ #endif -/*-------------------------------------------------------------------* - * Local constants - *-------------------------------------------------------------------*/ - -#define RESAMPLE_FACTOR_16_48 ( 16.0f / 48.0f ) -#define RESAMPLE_FACTOR_32_48 ( 32.0f / 48.0f ) - - /*------------------------------------------------------------------------- - * Local functions + * Local functions declaration *-------------------------------------------------------------------------*/ static ivas_error DefaultBSplineModel( TDREND_HRFILT_FiltSet_t *HrFiltSet_p, const int32_t output_Fs ); diff --git a/lib_util/hrtf_file_reader.c b/lib_util/hrtf_file_reader.c index e272c6bc57..cbe5f560e2 100644 --- a/lib_util/hrtf_file_reader.c +++ b/lib_util/hrtf_file_reader.c @@ -35,7 +35,7 @@ #ifdef FIX_POINT_HRTF_FILE_FORMAT #include #endif -#include "prot.h" +#include #include "ivas_prot_rend.h" #include "ivas_prot.h" @@ -58,14 +58,6 @@ typedef struct ivas_hrtfs_file_header_t } ivas_hrtfs_file_header_t; - -/*---------------------------------------------------------------------* - * Local constants - *---------------------------------------------------------------------*/ - -#define RESAMPLE_FACTOR_16_48 ( 16.0f / 48.0f ) -#define RESAMPLE_FACTOR_32_48 ( 32.0f / 48.0f ) - #ifndef FIX_POINT_HRTF_FILE_FORMAT /*---------------------------------------------------------------------* * Local function declarations @@ -479,7 +471,6 @@ static void LoadBSplineBinaryITD( return; } #endif - #ifdef FIX_POINT_HRTF_FILE_FORMAT /*-------------------------------------------------------------------* @@ -907,6 +898,7 @@ static ivas_error LoadBSplineBinary( } #endif + /*-------------------------------------------------------------------* * load_reverb_from_binary() * -- GitLab From 5650e52c199bc5e2e137e6995b9f92b6891336e5 Mon Sep 17 00:00:00 2001 From: vaclav Date: Tue, 23 Jul 2024 10:43:08 +0200 Subject: [PATCH 4/8] formal improvements --- lib_rend/ivas_objectRenderer_mix.c | 4 +--- lib_rend/ivas_objectRenderer_sources.c | 4 +--- lib_util/hrtf_file_reader.c | 14 ++++++++------ 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/lib_rend/ivas_objectRenderer_mix.c b/lib_rend/ivas_objectRenderer_mix.c index 1c990eff90..fa2ad5c892 100644 --- a/lib_rend/ivas_objectRenderer_mix.c +++ b/lib_rend/ivas_objectRenderer_mix.c @@ -337,8 +337,6 @@ ivas_error TDREND_MIX_AddSrc( TDREND_SRC_t *Src_p; ivas_error error; - error = IVAS_ERR_OK; - /* Get unique source index */ *SrcInd = hBinRendererTd->MaxSrcInd + 1; hBinRendererTd->MaxSrcInd++; @@ -375,7 +373,7 @@ ivas_error TDREND_MIX_AddSrc( } } - return error; + return IVAS_ERR_OK; } diff --git a/lib_rend/ivas_objectRenderer_sources.c b/lib_rend/ivas_objectRenderer_sources.c index 0633995e30..0dd1ba4827 100644 --- a/lib_rend/ivas_objectRenderer_sources.c +++ b/lib_rend/ivas_objectRenderer_sources.c @@ -636,8 +636,6 @@ ivas_error TDREND_SRC_Alloc( ivas_error error; TDREND_SRC_t *Src_p; - error = IVAS_ERR_OK; - *Src_pp = NULL; /* Allocate the TDREND_SRC_t variable */ @@ -660,7 +658,7 @@ ivas_error TDREND_SRC_Alloc( *Src_pp = Src_p; - return error; + return IVAS_ERR_OK; } diff --git a/lib_util/hrtf_file_reader.c b/lib_util/hrtf_file_reader.c index cbe5f560e2..bddcc39a45 100644 --- a/lib_util/hrtf_file_reader.c +++ b/lib_util/hrtf_file_reader.c @@ -1185,13 +1185,14 @@ ivas_error load_HRTF_binary( const hrtfFileReader *hrtfReader /* i/o: pointer to hrtfFileReader handle */ ) { - ivas_error error; + if ( hrtfReader == NULL || hrtfReader->file == NULL ) + { + return IVAS_ERR_UNEXPECTED_NULL_POINTER; + } fseek( hrtfReader->file, 0, SEEK_SET ); - error = TDREND_MIX_LoadHRTF( hrtfReader->file, hHrtf ); - - return error; + return TDREND_MIX_LoadHRTF( hrtfReader->file, hHrtf ); } #ifndef FIX_POINT_HRTF_FILE_FORMAT @@ -3383,7 +3384,7 @@ ivas_error load_fastconv_HRTF_from_binary( if ( ( create_fastconv_HRTF_from_rawdata( &hHrtfFastConv, hrtf_data, hrtf_header.rend_type, hrtf_header.input_cfg ) ) != IVAS_ERR_OK ) { free( hrtf_data ); - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Could not create HRTF from binary file" ); + return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Could not create FastConv HRTF from binary file" ); } asFastconv = 1; } @@ -3549,7 +3550,7 @@ ivas_error load_parambin_HRTF_from_binary( if ( ( create_parambin_HRTF_from_rawdata( &hHrtfParamBin, hrtf_data ) ) != IVAS_ERR_OK ) { free( hrtf_data ); - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Could not create HRTF from binary file" ); + return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Could not create ParamBin HRTF from binary file" ); } asParam = 1; } @@ -3744,6 +3745,7 @@ static void destroy_HRTF( * * Destroy the HRTF data set. *---------------------------------------------------------------------*/ + void destroy_SetOfHRTF( HRTFS_CREND_HANDLE *hSetOfHRTF /* i/o: Set of HRTF CRend handle */ ) -- GitLab From 51de463543f660e27f772a9aefe2b8513a35af57 Mon Sep 17 00:00:00 2001 From: vaclav Date: Tue, 23 Jul 2024 11:02:51 +0200 Subject: [PATCH 5/8] remove useless include --- lib_rend/ivas_render_config.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib_rend/ivas_render_config.c b/lib_rend/ivas_render_config.c index dfc02119c1..124b5e5767 100644 --- a/lib_rend/ivas_render_config.c +++ b/lib_rend/ivas_render_config.c @@ -35,7 +35,6 @@ #include "prot.h" #include "ivas_prot_rend.h" #include "ivas_rom_rend.h" -#include "ivas_rom_TdBinauralRenderer.h" #ifdef DEBUGGING #include "debug.h" #endif @@ -105,10 +104,12 @@ ivas_error ivas_render_config_init_from_rom( ) { int16_t i; + if ( hRenderConfig == NULL || *hRenderConfig == NULL ) { return IVAS_ERROR( IVAS_ERR_UNEXPECTED_NULL_POINTER, "Unexpected null pointer while attempting to fill renderer configuration from ROM" ); } + #ifdef DEBUGGING ( *hRenderConfig )->renderer_type_override = IVAS_RENDER_TYPE_OVERRIDE_NONE; #endif -- GitLab From fd5232528ae728281fa6d4de9b6d3ddf6c482db2 Mon Sep 17 00:00:00 2001 From: vaclav Date: Mon, 29 Jul 2024 09:47:05 +0200 Subject: [PATCH 6/8] add "const" to all ROM tables --- lib_rend/ivas_crend.c | 96 ++-- lib_rend/ivas_hrtf.c | 21 +- lib_rend/ivas_prot_rend.h | 2 +- lib_rend/ivas_rom_binauralRenderer.h | 74 +-- lib_rend/ivas_rom_binaural_crend_head.h | 598 ++++++++++++------------ 5 files changed, 395 insertions(+), 396 deletions(-) diff --git a/lib_rend/ivas_crend.c b/lib_rend/ivas_crend.c index 0a811f541a..0a0641bd84 100644 --- a/lib_rend/ivas_crend.c +++ b/lib_rend/ivas_crend.c @@ -289,7 +289,7 @@ static ivas_error ivas_rend_initCrend( if ( outConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) { hHrtf->num_iterations_diffuse[j] = CRendBin_Combined_BRIR_num_iterations_diffuse_48kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_48kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_48kHz[j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_diffuse_re_48kHz_fx ) / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_diffuse_re[j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -314,7 +314,7 @@ static ivas_error ivas_rend_initCrend( else { hHrtf->num_iterations_diffuse[j] = CRendBin_Combined_HRIR_num_iterations_diffuse_48kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_48kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_48kHz[j]; #ifdef FIX_1123_CREND_16BIT_ROM hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_Combined_HRIR_coeff_diffuse_re_48kHz_fx[j]; hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_Combined_HRIR_coeff_diffuse_re_48kHz_fx[j]; @@ -353,7 +353,7 @@ static ivas_error ivas_rend_initCrend( if ( outConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) { hHrtf->num_iterations_diffuse[j] = CRendBin_Combined_BRIR_num_iterations_diffuse_32kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_32kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_32kHz[j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_diffuse_re_32kHz_fx ) / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_diffuse_re[j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -378,7 +378,7 @@ static ivas_error ivas_rend_initCrend( else { hHrtf->num_iterations_diffuse[j] = CRendBin_Combined_HRIR_num_iterations_diffuse_32kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_32kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_32kHz[j]; #ifdef FIX_1123_CREND_16BIT_ROM hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_Combined_HRIR_coeff_diffuse_re_32kHz_fx[j]; hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_Combined_HRIR_coeff_diffuse_re_32kHz_fx[j]; @@ -418,7 +418,7 @@ static ivas_error ivas_rend_initCrend( if ( outConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) { hHrtf->num_iterations_diffuse[j] = CRendBin_Combined_BRIR_num_iterations_diffuse_16kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_16kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_16kHz[j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_diffuse_re_16kHz_fx ) / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_diffuse_re[j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -443,7 +443,7 @@ static ivas_error ivas_rend_initCrend( else { hHrtf->num_iterations_diffuse[j] = CRendBin_Combined_HRIR_num_iterations_diffuse_16kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_16kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_16kHz[j]; #ifdef FIX_1123_CREND_16BIT_ROM hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_Combined_HRIR_coeff_diffuse_re_16kHz_fx[j]; hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_Combined_HRIR_coeff_diffuse_re_16kHz_fx[j]; @@ -494,7 +494,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_Combined_BRIR_inv_diffuse_weight_48kHz[j][tmp]; hHrtf->num_iterations[i][j] = CRendBin_Combined_BRIR_num_iterations_48kHz[tmp][j]; - hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_BRIR_pIndex_frequency_max_48kHz[tmp][j]; + hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_Combined_BRIR_pIndex_frequency_max_48kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_re_48kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -520,7 +520,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_Combined_HRIR_inv_diffuse_weight_48kHz[j][tmp]; hHrtf->num_iterations[i][j] = CRendBin_Combined_HRIR_num_iterations_48kHz[tmp][j]; - hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_HRIR_pIndex_frequency_max_48kHz[tmp][j]; + hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_Combined_HRIR_pIndex_frequency_max_48kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_HRIR_coeff_re_48kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -552,7 +552,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_Combined_BRIR_inv_diffuse_weight_32kHz[j][tmp]; hHrtf->num_iterations[i][j] = CRendBin_Combined_BRIR_num_iterations_32kHz[tmp][j]; - hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_BRIR_pIndex_frequency_max_32kHz[tmp][j]; + hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_Combined_BRIR_pIndex_frequency_max_32kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_re_32kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -578,7 +578,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_Combined_HRIR_inv_diffuse_weight_32kHz[j][tmp]; hHrtf->num_iterations[i][j] = CRendBin_Combined_HRIR_num_iterations_32kHz[tmp][j]; - hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_HRIR_pIndex_frequency_max_32kHz[tmp][j]; + hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_Combined_HRIR_pIndex_frequency_max_32kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_HRIR_coeff_re_32kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -610,7 +610,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_Combined_BRIR_inv_diffuse_weight_16kHz[j][tmp]; hHrtf->num_iterations[i][j] = CRendBin_Combined_BRIR_num_iterations_16kHz[tmp][j]; - hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_BRIR_pIndex_frequency_max_16kHz[tmp][j]; + hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_Combined_BRIR_pIndex_frequency_max_16kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_re_16kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -636,7 +636,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_Combined_HRIR_inv_diffuse_weight_16kHz[j][tmp]; hHrtf->num_iterations[i][j] = CRendBin_Combined_HRIR_num_iterations_16kHz[tmp][j]; - hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_HRIR_pIndex_frequency_max_16kHz[tmp][j]; + hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_Combined_HRIR_pIndex_frequency_max_16kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_HRIR_coeff_re_16kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -682,7 +682,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_HOA3_HRIR_inv_diffuse_weight_48kHz[j][i]; hHrtf->num_iterations[i][j] = CRendBin_HOA3_HRIR_num_iterations_48kHz[i][j]; - hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_48kHz[i][j]; + hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_HOA3_HRIR_pIndex_frequency_max_48kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA3_HRIR_coeff_re_48kHz_fx ) / HOA3_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -708,9 +708,9 @@ static ivas_error ivas_rend_initCrend( for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { hHrtf->num_iterations_diffuse[j] = CRendBin_HOA3_HRIR_num_iterations_diffuse_48kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_48kHz[j]; - hHrtf->pOut_to_bin_diffuse_re[j] = CRendBin_HOA3_HRIR_coeff_diffuse_re_48kHz[j]; - hHrtf->pOut_to_bin_diffuse_im[j] = CRendBin_HOA3_HRIR_coeff_diffuse_im_48kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_48kHz[j]; + hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_HOA3_HRIR_coeff_diffuse_re_48kHz[j]; + hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_HOA3_HRIR_coeff_diffuse_im_48kHz[j]; } } else if ( output_Fs == 32000 ) @@ -725,7 +725,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_HOA3_HRIR_inv_diffuse_weight_32kHz[j][i]; hHrtf->num_iterations[i][j] = CRendBin_HOA3_HRIR_num_iterations_32kHz[i][j]; - hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_32kHz[i][j]; + hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_HOA3_HRIR_pIndex_frequency_max_32kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA3_HRIR_coeff_re_32kHz_fx ) / HOA3_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -752,9 +752,9 @@ static ivas_error ivas_rend_initCrend( for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { hHrtf->num_iterations_diffuse[j] = CRendBin_HOA3_HRIR_num_iterations_diffuse_32kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_32kHz[j]; - hHrtf->pOut_to_bin_diffuse_re[j] = CRendBin_HOA3_HRIR_coeff_diffuse_re_32kHz[j]; - hHrtf->pOut_to_bin_diffuse_im[j] = CRendBin_HOA3_HRIR_coeff_diffuse_im_32kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_32kHz[j]; + hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_HOA3_HRIR_coeff_diffuse_re_32kHz[j]; + hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_HOA3_HRIR_coeff_diffuse_im_32kHz[j]; } } else if ( output_Fs == 16000 ) @@ -769,7 +769,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_HOA3_HRIR_inv_diffuse_weight_16kHz[j][i]; hHrtf->num_iterations[i][j] = CRendBin_HOA3_HRIR_num_iterations_16kHz[i][j]; - hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_16kHz[i][j]; + hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_HOA3_HRIR_pIndex_frequency_max_16kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA3_HRIR_coeff_re_16kHz_fx ) / HOA3_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -796,9 +796,9 @@ static ivas_error ivas_rend_initCrend( for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { hHrtf->num_iterations_diffuse[j] = CRendBin_HOA3_HRIR_num_iterations_diffuse_16kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_16kHz[j]; - hHrtf->pOut_to_bin_diffuse_re[j] = CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz[j]; - hHrtf->pOut_to_bin_diffuse_im[j] = CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_16kHz[j]; + hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz[j]; + hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz[j]; } } else @@ -820,7 +820,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_HOA2_HRIR_inv_diffuse_weight_48kHz[j][i]; hHrtf->num_iterations[i][j] = CRendBin_HOA2_HRIR_num_iterations_48kHz[i][j]; - hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_48kHz[i][j]; + hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_HOA2_HRIR_pIndex_frequency_max_48kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA2_HRIR_coeff_re_48kHz_fx ) / HOA2_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -846,9 +846,9 @@ static ivas_error ivas_rend_initCrend( for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { hHrtf->num_iterations_diffuse[j] = CRendBin_HOA2_HRIR_num_iterations_diffuse_48kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_48kHz[j]; - hHrtf->pOut_to_bin_diffuse_re[j] = CRendBin_HOA2_HRIR_coeff_diffuse_re_48kHz[j]; - hHrtf->pOut_to_bin_diffuse_im[j] = CRendBin_HOA2_HRIR_coeff_diffuse_im_48kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_48kHz[j]; + hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_HOA2_HRIR_coeff_diffuse_re_48kHz[j]; + hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_HOA2_HRIR_coeff_diffuse_im_48kHz[j]; } } else if ( output_Fs == 32000 ) @@ -863,7 +863,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_HOA2_HRIR_inv_diffuse_weight_32kHz[j][i]; hHrtf->num_iterations[i][j] = CRendBin_HOA2_HRIR_num_iterations_32kHz[i][j]; - hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_32kHz[i][j]; + hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_HOA2_HRIR_pIndex_frequency_max_32kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA2_HRIR_coeff_re_32kHz_fx ) / HOA2_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -890,9 +890,9 @@ static ivas_error ivas_rend_initCrend( for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { hHrtf->num_iterations_diffuse[j] = CRendBin_HOA2_HRIR_num_iterations_diffuse_32kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_32kHz[j]; - hHrtf->pOut_to_bin_diffuse_re[j] = CRendBin_HOA2_HRIR_coeff_diffuse_re_32kHz[j]; - hHrtf->pOut_to_bin_diffuse_im[j] = CRendBin_HOA2_HRIR_coeff_diffuse_im_32kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_32kHz[j]; + hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_HOA2_HRIR_coeff_diffuse_re_32kHz[j]; + hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_HOA2_HRIR_coeff_diffuse_im_32kHz[j]; } } else if ( output_Fs == 16000 ) @@ -907,7 +907,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_HOA2_HRIR_inv_diffuse_weight_16kHz[j][i]; hHrtf->num_iterations[i][j] = CRendBin_HOA2_HRIR_num_iterations_16kHz[i][j]; - hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_16kHz[i][j]; + hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_HOA2_HRIR_pIndex_frequency_max_16kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA2_HRIR_coeff_re_16kHz_fx ) / HOA2_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -934,9 +934,9 @@ static ivas_error ivas_rend_initCrend( for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { hHrtf->num_iterations_diffuse[j] = CRendBin_HOA2_HRIR_num_iterations_diffuse_16kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_16kHz[j]; - hHrtf->pOut_to_bin_diffuse_re[j] = CRendBin_HOA2_HRIR_coeff_diffuse_re_16kHz[j]; - hHrtf->pOut_to_bin_diffuse_im[j] = CRendBin_HOA2_HRIR_coeff_diffuse_im_16kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_16kHz[j]; + hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_HOA2_HRIR_coeff_diffuse_re_16kHz[j]; + hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_HOA2_HRIR_coeff_diffuse_im_16kHz[j]; } } else @@ -958,7 +958,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_FOA_HRIR_inv_diffuse_weight_48kHz[j][i]; hHrtf->num_iterations[i][j] = CRendBin_FOA_HRIR_num_iterations_48kHz[i][j]; - hHrtf->pIndex_frequency_max[i][j] = CRendBin_FOA_HRIR_pIndex_frequency_max_48kHz[i][j]; + hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_FOA_HRIR_pIndex_frequency_max_48kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_FOA_HRIR_coeff_re_48kHz_fx ) / FOA_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -984,9 +984,9 @@ static ivas_error ivas_rend_initCrend( for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { hHrtf->num_iterations_diffuse[j] = CRendBin_FOA_HRIR_num_iterations_diffuse_48kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_48kHz[j]; - hHrtf->pOut_to_bin_diffuse_re[j] = CRendBin_FOA_HRIR_coeff_diffuse_re_48kHz[j]; - hHrtf->pOut_to_bin_diffuse_im[j] = CRendBin_FOA_HRIR_coeff_diffuse_im_48kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_48kHz[j]; + hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_FOA_HRIR_coeff_diffuse_re_48kHz[j]; + hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_FOA_HRIR_coeff_diffuse_im_48kHz[j]; } } else if ( output_Fs == 32000 ) @@ -1001,7 +1001,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_FOA_HRIR_inv_diffuse_weight_32kHz[j][i]; hHrtf->num_iterations[i][j] = CRendBin_FOA_HRIR_num_iterations_32kHz[i][j]; - hHrtf->pIndex_frequency_max[i][j] = CRendBin_FOA_HRIR_pIndex_frequency_max_32kHz[i][j]; + hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_FOA_HRIR_pIndex_frequency_max_32kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_FOA_HRIR_coeff_re_32kHz_fx ) / FOA_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -1028,9 +1028,9 @@ static ivas_error ivas_rend_initCrend( for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { hHrtf->num_iterations_diffuse[j] = CRendBin_FOA_HRIR_num_iterations_diffuse_32kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_32kHz[j]; - hHrtf->pOut_to_bin_diffuse_re[j] = CRendBin_FOA_HRIR_coeff_diffuse_re_32kHz[j]; - hHrtf->pOut_to_bin_diffuse_im[j] = CRendBin_FOA_HRIR_coeff_diffuse_im_32kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_32kHz[j]; + hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_FOA_HRIR_coeff_diffuse_re_32kHz[j]; + hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_FOA_HRIR_coeff_diffuse_im_32kHz[j]; } } else if ( output_Fs == 16000 ) @@ -1045,7 +1045,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_FOA_HRIR_inv_diffuse_weight_16kHz[j][i]; hHrtf->num_iterations[i][j] = CRendBin_FOA_HRIR_num_iterations_16kHz[i][j]; - hHrtf->pIndex_frequency_max[i][j] = CRendBin_FOA_HRIR_pIndex_frequency_max_16kHz[i][j]; + hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_FOA_HRIR_pIndex_frequency_max_16kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_FOA_HRIR_coeff_re_16kHz_fx ) / FOA_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -1072,9 +1072,9 @@ static ivas_error ivas_rend_initCrend( for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { hHrtf->num_iterations_diffuse[j] = CRendBin_FOA_HRIR_num_iterations_diffuse_16kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_16kHz[j]; - hHrtf->pOut_to_bin_diffuse_re[j] = CRendBin_FOA_HRIR_coeff_diffuse_re_16kHz[j]; - hHrtf->pOut_to_bin_diffuse_im[j] = CRendBin_FOA_HRIR_coeff_diffuse_im_16kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_16kHz[j]; + hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_FOA_HRIR_coeff_diffuse_re_16kHz[j]; + hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_FOA_HRIR_coeff_diffuse_im_16kHz[j]; } } else diff --git a/lib_rend/ivas_hrtf.c b/lib_rend/ivas_hrtf.c index 95b88a0cd6..b920ce3248 100644 --- a/lib_rend/ivas_hrtf.c +++ b/lib_rend/ivas_hrtf.c @@ -259,7 +259,7 @@ void ivas_HRTF_statistics_close( ivas_error ivas_HRTF_statistics_init( HRTFS_STATISTICS_HANDLE *hHrtfStatistics, - int32_t sampleRate ) + const int32_t sampleRate ) { HRTFS_STATISTICS *HrtfStatistics; @@ -282,25 +282,24 @@ ivas_error ivas_HRTF_statistics_init( 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; + HrtfStatistics->average_energy_l = (float *) defaultHRIR_left_avg_power_48kHz; + HrtfStatistics->average_energy_r = (float *) defaultHRIR_right_avg_power_48kHz; + HrtfStatistics->inter_aural_coherence = (float *) 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; + HrtfStatistics->average_energy_l = (float *) defaultHRIR_left_avg_power_32kHz; + HrtfStatistics->average_energy_r = (float *) defaultHRIR_right_avg_power_32kHz; + HrtfStatistics->inter_aural_coherence = (float *) 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; + HrtfStatistics->average_energy_l = (float *) defaultHRIR_left_avg_power_16kHz; + HrtfStatistics->average_energy_r = (float *) defaultHRIR_right_avg_power_16kHz; + HrtfStatistics->inter_aural_coherence = (float *) defaultHRIR_coherence_16kHz; break; } HrtfStatistics->fromROM = TRUE; *hHrtfStatistics = HrtfStatistics; - return IVAS_ERR_OK; } diff --git a/lib_rend/ivas_prot_rend.h b/lib_rend/ivas_prot_rend.h index 6e27b0d29b..a42f893c6e 100644 --- a/lib_rend/ivas_prot_rend.h +++ b/lib_rend/ivas_prot_rend.h @@ -585,7 +585,7 @@ void ivas_HRTF_CRend_binary_close( ivas_error ivas_HRTF_statistics_init( HRTFS_STATISTICS_HANDLE *hHrtfStatistics, /* i/o: HRTF statistics structure */ - int32_t sampleRate /* i : Sample rate */ + const int32_t sampleRate /* i : Sample rate */ ); void ivas_HRTF_statistics_close( diff --git a/lib_rend/ivas_rom_binauralRenderer.h b/lib_rend/ivas_rom_binauralRenderer.h index 9bc1e6af90..bd9d6aa17c 100644 --- a/lib_rend/ivas_rom_binauralRenderer.h +++ b/lib_rend/ivas_rom_binauralRenderer.h @@ -44,53 +44,53 @@ /* Binaural rendering data set based on HRIRs */ #ifdef FIX_1123_FASTCONV_16BIT_ROM -extern int16_t FASTCONV_HOA3_latency_s_factorQ; +extern const int16_t FASTCONV_HOA3_latency_s_factorQ; extern const int32_t FASTCONV_HOA3_latency_s; -extern int16_t FASTCONV_HRIR_HOA3_factorQ; -extern int16_t leftHRIRReal_HOA3[BINAURAL_CONVBANDS][HOA3_CHANNELS][BINAURAL_NTAPS_SBA]; -extern int16_t leftHRIRImag_HOA3[BINAURAL_CONVBANDS][HOA3_CHANNELS][BINAURAL_NTAPS_SBA]; -extern int16_t rightHRIRReal_HOA3[BINAURAL_CONVBANDS][HOA3_CHANNELS][BINAURAL_NTAPS_SBA]; -extern int16_t rightHRIRImag_HOA3[BINAURAL_CONVBANDS][HOA3_CHANNELS][BINAURAL_NTAPS_SBA]; +extern const int16_t FASTCONV_HRIR_HOA3_factorQ; +extern const int16_t leftHRIRReal_HOA3[BINAURAL_CONVBANDS][HOA3_CHANNELS][BINAURAL_NTAPS_SBA]; +extern const int16_t leftHRIRImag_HOA3[BINAURAL_CONVBANDS][HOA3_CHANNELS][BINAURAL_NTAPS_SBA]; +extern const int16_t rightHRIRReal_HOA3[BINAURAL_CONVBANDS][HOA3_CHANNELS][BINAURAL_NTAPS_SBA]; +extern const int16_t rightHRIRImag_HOA3[BINAURAL_CONVBANDS][HOA3_CHANNELS][BINAURAL_NTAPS_SBA]; -extern int16_t FASTCONV_HOA2_latency_s_factorQ; +extern const int16_t FASTCONV_HOA2_latency_s_factorQ; extern const int32_t FASTCONV_HOA2_latency_s; -extern int16_t FASTCONV_HRIR_HOA2_factorQ; -extern int16_t leftHRIRReal_HOA2[BINAURAL_CONVBANDS][HOA2_CHANNELS][BINAURAL_NTAPS_SBA]; -extern int16_t leftHRIRImag_HOA2[BINAURAL_CONVBANDS][HOA2_CHANNELS][BINAURAL_NTAPS_SBA]; -extern int16_t rightHRIRReal_HOA2[BINAURAL_CONVBANDS][HOA2_CHANNELS][BINAURAL_NTAPS_SBA]; -extern int16_t rightHRIRImag_HOA2[BINAURAL_CONVBANDS][HOA2_CHANNELS][BINAURAL_NTAPS_SBA]; +extern const int16_t FASTCONV_HRIR_HOA2_factorQ; +extern const int16_t leftHRIRReal_HOA2[BINAURAL_CONVBANDS][HOA2_CHANNELS][BINAURAL_NTAPS_SBA]; +extern const int16_t leftHRIRImag_HOA2[BINAURAL_CONVBANDS][HOA2_CHANNELS][BINAURAL_NTAPS_SBA]; +extern const int16_t rightHRIRReal_HOA2[BINAURAL_CONVBANDS][HOA2_CHANNELS][BINAURAL_NTAPS_SBA]; +extern const int16_t rightHRIRImag_HOA2[BINAURAL_CONVBANDS][HOA2_CHANNELS][BINAURAL_NTAPS_SBA]; -extern int16_t FASTCONV_FOA_latency_s_factorQ; +extern const int16_t FASTCONV_FOA_latency_s_factorQ; extern const int32_t FASTCONV_FOA_latency_s; -extern int16_t FASTCONV_HRIR_FOA_factorQ; -extern int16_t leftHRIRReal_FOA[BINAURAL_CONVBANDS][FOA_CHANNELS][BINAURAL_NTAPS_SBA]; -extern int16_t leftHRIRImag_FOA[BINAURAL_CONVBANDS][FOA_CHANNELS][BINAURAL_NTAPS_SBA]; -extern int16_t rightHRIRReal_FOA[BINAURAL_CONVBANDS][FOA_CHANNELS][BINAURAL_NTAPS_SBA]; -extern int16_t rightHRIRImag_FOA[BINAURAL_CONVBANDS][FOA_CHANNELS][BINAURAL_NTAPS_SBA]; +extern const int16_t FASTCONV_HRIR_FOA_factorQ; +extern const int16_t leftHRIRReal_FOA[BINAURAL_CONVBANDS][FOA_CHANNELS][BINAURAL_NTAPS_SBA]; +extern const int16_t leftHRIRImag_FOA[BINAURAL_CONVBANDS][FOA_CHANNELS][BINAURAL_NTAPS_SBA]; +extern const int16_t rightHRIRReal_FOA[BINAURAL_CONVBANDS][FOA_CHANNELS][BINAURAL_NTAPS_SBA]; +extern const int16_t rightHRIRImag_FOA[BINAURAL_CONVBANDS][FOA_CHANNELS][BINAURAL_NTAPS_SBA]; -extern int16_t FASTCONV_HRIR_latency_s_factorQ; +extern const int16_t FASTCONV_HRIR_latency_s_factorQ; extern const int32_t FASTCONV_HRIR_latency_s; -extern int16_t FASTCONV_HRIR_factorQ; -extern int16_t leftHRIRReal[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS]; -extern int16_t leftHRIRImag[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS]; -extern int16_t rightHRIRReal[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS]; -extern int16_t rightHRIRImag[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS]; +extern const int16_t FASTCONV_HRIR_factorQ; +extern const int16_t leftHRIRReal[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS]; +extern const int16_t leftHRIRImag[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS]; +extern const int16_t rightHRIRReal[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS]; +extern const int16_t rightHRIRImag[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS]; /* Binaural rendering data set based on BRIRs */ -extern int16_t FASTCONV_BRIR_latency_s_factorQ; +extern const int16_t FASTCONV_BRIR_latency_s_factorQ; extern const int32_t FASTCONV_BRIR_latency_s; -extern int16_t FASTCONV_BRIR_factorQ; -extern int16_t leftBRIRReal[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS_MAX]; -extern int16_t leftBRIRImag[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS_MAX]; -extern int16_t rightBRIRReal[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS_MAX]; -extern int16_t rightBRIRImag[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS_MAX]; +extern const int16_t FASTCONV_BRIR_factorQ; +extern const int16_t leftBRIRReal[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS_MAX]; +extern const int16_t leftBRIRImag[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS_MAX]; +extern const int16_t rightBRIRReal[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS_MAX]; +extern const int16_t rightBRIRImag[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NTAPS_MAX]; /* Reverberation parameters based on BRIRs for fastconv */ -extern int16_t fastconvReverberationTimes_factorQ; -extern int16_t fastconvReverberationTimes[CLDFB_NO_CHANNELS_MAX]; -extern int16_t fastconvReverberationEneCorrections_factorQ; -extern int16_t fastconvReverberationEneCorrections[CLDFB_NO_CHANNELS_MAX]; +extern const int16_t fastconvReverberationTimes_factorQ; +extern const int16_t fastconvReverberationTimes[CLDFB_NO_CHANNELS_MAX]; +extern const int16_t fastconvReverberationEneCorrections_factorQ; +extern const int16_t fastconvReverberationEneCorrections[CLDFB_NO_CHANNELS_MAX]; #else extern const float FASTCONV_HRIR_latency_s; @@ -134,9 +134,9 @@ extern float fastconvReverberationEneCorrections[CLDFB_NO_CHANNELS_MAX]; /* Binaural rendering data set based on BRIRs, to be used in a combined manner * with the above binaural rendering data set based on HRIRs for parametric * renderer */ -extern int16_t hrtfShCoeffs_factorQ; -extern int16_t hrtfShCoeffsRe[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS]; -extern int16_t hrtfShCoeffsIm[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS]; +extern const int16_t hrtfShCoeffs_factorQ; +extern const int16_t hrtfShCoeffsRe[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS]; +extern const int16_t hrtfShCoeffsIm[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS]; /* Binaural rendering data set based on BRIRs, to be used in a combined manner * with the above binaural rendering data set based on HRIRs for parametric diff --git a/lib_rend/ivas_rom_binaural_crend_head.h b/lib_rend/ivas_rom_binaural_crend_head.h index 403ebdfccb..3e98f6f3a8 100644 --- a/lib_rend/ivas_rom_binaural_crend_head.h +++ b/lib_rend/ivas_rom_binaural_crend_head.h @@ -51,274 +51,274 @@ /********************** CRendBin_Combined_HRIR **********************/ -extern float CRendBin_Combined_HRIR_latency_s; +extern const float CRendBin_Combined_HRIR_latency_s; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_Combined_HRIR_latency_s_Q_fx; -extern int32_t CRendBin_Combined_HRIR_latency_s_fx; +extern const int16_t CRendBin_Combined_HRIR_latency_s_Q_fx; +extern const int32_t CRendBin_Combined_HRIR_latency_s_fx; #endif // FIX_1123_CREND_16BIT_ROM /* Sample Rate = 48000 */ -extern int16_t CRendBin_Combined_HRIR_max_num_iterations_48kHz; -extern uint16_t CRendBin_Combined_HRIR_num_iterations_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1]; -extern uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_48kHz; -extern float CRendBin_Combined_HRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; +extern const int16_t CRendBin_Combined_HRIR_max_num_iterations_48kHz; +extern const uint16_t CRendBin_Combined_HRIR_num_iterations_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1]; +extern const uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_48kHz; +extern const float CRendBin_Combined_HRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_Q_48kHz_fx; -extern int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_48kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; +extern const int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_Q_48kHz_fx; +extern const int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_48kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; -extern float CRendBin_Combined_HRIR_coeff_re_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][240]; -extern float CRendBin_Combined_HRIR_coeff_im_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][240]; +extern const uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; +extern const float CRendBin_Combined_HRIR_coeff_re_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][240]; +extern const float CRendBin_Combined_HRIR_coeff_im_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][240]; #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_Combined_HRIR_coeff_Q_48kHz_fx; +extern const int16_t CRendBin_Combined_HRIR_coeff_Q_48kHz_fx; #endif -extern int16_t CRendBin_Combined_HRIR_coeff_re_48kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][240]; -extern int16_t CRendBin_Combined_HRIR_coeff_im_48kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][240]; -extern int16_t *CRendBin_Combined_HRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS]; -extern int16_t *CRendBin_Combined_HRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t CRendBin_Combined_HRIR_coeff_re_48kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][240]; +extern const int16_t CRendBin_Combined_HRIR_coeff_im_48kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][240]; +extern const int16_t *CRendBin_Combined_HRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t *CRendBin_Combined_HRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern float *CRendBin_Combined_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; -extern float *CRendBin_Combined_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_Combined_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_Combined_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; /* Sample Rate = 32000 */ -extern int16_t CRendBin_Combined_HRIR_max_num_iterations_32kHz; -extern uint16_t CRendBin_Combined_HRIR_num_iterations_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1]; -extern uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_32kHz; -extern float CRendBin_Combined_HRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; +extern const int16_t CRendBin_Combined_HRIR_max_num_iterations_32kHz; +extern const uint16_t CRendBin_Combined_HRIR_num_iterations_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1]; +extern const uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_32kHz; +extern const float CRendBin_Combined_HRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_Q_32kHz_fx; -extern int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_32kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; +extern const int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_Q_32kHz_fx; +extern const int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_32kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; -extern float CRendBin_Combined_HRIR_coeff_re_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][160]; -extern float CRendBin_Combined_HRIR_coeff_im_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][160]; +extern const uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; +extern const float CRendBin_Combined_HRIR_coeff_re_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][160]; +extern const float CRendBin_Combined_HRIR_coeff_im_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][160]; #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_Combined_HRIR_coeff_Q_32kHz_fx; +extern const int16_t CRendBin_Combined_HRIR_coeff_Q_32kHz_fx; #endif -extern int16_t CRendBin_Combined_HRIR_coeff_re_32kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][160]; -extern int16_t CRendBin_Combined_HRIR_coeff_im_32kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][160]; -extern int16_t *CRendBin_Combined_HRIR_coeff_diffuse_re_32kHz_fx[BINAURAL_CHANNELS]; -extern int16_t *CRendBin_Combined_HRIR_coeff_diffuse_im_32kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t CRendBin_Combined_HRIR_coeff_re_32kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][160]; +extern const int16_t CRendBin_Combined_HRIR_coeff_im_32kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][160]; +extern const int16_t *CRendBin_Combined_HRIR_coeff_diffuse_re_32kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t *CRendBin_Combined_HRIR_coeff_diffuse_im_32kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern float *CRendBin_Combined_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; -extern float *CRendBin_Combined_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_Combined_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_Combined_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; /* Sample Rate = 16000 */ -extern int16_t CRendBin_Combined_HRIR_max_num_iterations_16kHz; -extern uint16_t CRendBin_Combined_HRIR_num_iterations_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1]; -extern uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_16kHz; -extern float CRendBin_Combined_HRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; +extern const int16_t CRendBin_Combined_HRIR_max_num_iterations_16kHz; +extern const uint16_t CRendBin_Combined_HRIR_num_iterations_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1]; +extern const uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_16kHz; +extern const float CRendBin_Combined_HRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_Q_16kHz_fx; -extern int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_16kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; +extern const int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_Q_16kHz_fx; +extern const int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_16kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; -extern float CRendBin_Combined_HRIR_coeff_re_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][80]; -extern float CRendBin_Combined_HRIR_coeff_im_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][80]; +extern const uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; +extern const float CRendBin_Combined_HRIR_coeff_re_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][80]; +extern const float CRendBin_Combined_HRIR_coeff_im_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][80]; #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_Combined_HRIR_coeff_Q_16kHz_fx; +extern const int16_t CRendBin_Combined_HRIR_coeff_Q_16kHz_fx; #endif -extern int16_t CRendBin_Combined_HRIR_coeff_re_16kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][80]; -extern int16_t CRendBin_Combined_HRIR_coeff_im_16kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][80]; -extern int16_t *CRendBin_Combined_HRIR_coeff_diffuse_re_16kHz_fx[BINAURAL_CHANNELS]; -extern int16_t *CRendBin_Combined_HRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t CRendBin_Combined_HRIR_coeff_re_16kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][80]; +extern const int16_t CRendBin_Combined_HRIR_coeff_im_16kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][80]; +extern const int16_t *CRendBin_Combined_HRIR_coeff_diffuse_re_16kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t *CRendBin_Combined_HRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern float *CRendBin_Combined_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; -extern float *CRendBin_Combined_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_Combined_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_Combined_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; /********************** CRendBin_FOA_HRIR **********************/ -extern float CRendBin_FOA_HRIR_latency_s; +extern const float CRendBin_FOA_HRIR_latency_s; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_FOA_HRIR_latency_s_Q_fx; -extern int32_t CRendBin_FOA_HRIR_latency_s_fx; +extern const int16_t CRendBin_FOA_HRIR_latency_s_Q_fx; +extern const int32_t CRendBin_FOA_HRIR_latency_s_fx; #endif // FIX_1123_CREND_16BIT_ROM /* Sample Rate = 48000 */ -extern int16_t CRendBin_FOA_HRIR_max_num_iterations_48kHz; -extern uint16_t CRendBin_FOA_HRIR_num_iterations_48kHz[FOA_CHANNELS][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_FOA_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_48kHz[FOA_CHANNELS][BINAURAL_CHANNELS][1]; -extern uint16_t CRendBin_FOA_HRIR_index_frequency_max_diffuse_48kHz; -extern float CRendBin_FOA_HRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][FOA_CHANNELS]; +extern const int16_t CRendBin_FOA_HRIR_max_num_iterations_48kHz; +extern const uint16_t CRendBin_FOA_HRIR_num_iterations_48kHz[FOA_CHANNELS][BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_FOA_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_48kHz[FOA_CHANNELS][BINAURAL_CHANNELS][1]; +extern const uint16_t CRendBin_FOA_HRIR_index_frequency_max_diffuse_48kHz; +extern const float CRendBin_FOA_HRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][FOA_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_Q_48kHz_fx; -extern int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_48kHz_fx[BINAURAL_CHANNELS][FOA_CHANNELS]; +extern const int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_Q_48kHz_fx; +extern const int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_48kHz_fx[BINAURAL_CHANNELS][FOA_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; -extern float CRendBin_FOA_HRIR_coeff_re_48kHz[FOA_CHANNELS][BINAURAL_CHANNELS][240]; -extern float CRendBin_FOA_HRIR_coeff_im_48kHz[FOA_CHANNELS][BINAURAL_CHANNELS][240]; +extern const uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; +extern const float CRendBin_FOA_HRIR_coeff_re_48kHz[FOA_CHANNELS][BINAURAL_CHANNELS][240]; +extern const float CRendBin_FOA_HRIR_coeff_im_48kHz[FOA_CHANNELS][BINAURAL_CHANNELS][240]; #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_FOA_HRIR_coeff_Q_48kHz_fx; +extern const int16_t CRendBin_FOA_HRIR_coeff_Q_48kHz_fx; #endif -extern int16_t CRendBin_FOA_HRIR_coeff_re_48kHz_fx[FOA_CHANNELS][BINAURAL_CHANNELS][240]; -extern int16_t CRendBin_FOA_HRIR_coeff_im_48kHz_fx[FOA_CHANNELS][BINAURAL_CHANNELS][240]; -extern int16_t *CRendBin_FOA_HRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS]; -extern int16_t *CRendBin_FOA_HRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t CRendBin_FOA_HRIR_coeff_re_48kHz_fx[FOA_CHANNELS][BINAURAL_CHANNELS][240]; +extern const int16_t CRendBin_FOA_HRIR_coeff_im_48kHz_fx[FOA_CHANNELS][BINAURAL_CHANNELS][240]; +extern const int16_t *CRendBin_FOA_HRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t *CRendBin_FOA_HRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern float *CRendBin_FOA_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; -extern float *CRendBin_FOA_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_FOA_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_FOA_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; /* Sample Rate = 32000 */ -extern int16_t CRendBin_FOA_HRIR_max_num_iterations_32kHz; -extern uint16_t CRendBin_FOA_HRIR_num_iterations_32kHz[FOA_CHANNELS][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_FOA_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_32kHz[FOA_CHANNELS][BINAURAL_CHANNELS][1]; -extern uint16_t CRendBin_FOA_HRIR_index_frequency_max_diffuse_32kHz; -extern float CRendBin_FOA_HRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][FOA_CHANNELS]; +extern const int16_t CRendBin_FOA_HRIR_max_num_iterations_32kHz; +extern const uint16_t CRendBin_FOA_HRIR_num_iterations_32kHz[FOA_CHANNELS][BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_FOA_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_32kHz[FOA_CHANNELS][BINAURAL_CHANNELS][1]; +extern const uint16_t CRendBin_FOA_HRIR_index_frequency_max_diffuse_32kHz; +extern const float CRendBin_FOA_HRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][FOA_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_Q_32kHz_fx; -extern int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_32kHz_fx[BINAURAL_CHANNELS][FOA_CHANNELS]; +extern const int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_Q_32kHz_fx; +extern const int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_32kHz_fx[BINAURAL_CHANNELS][FOA_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; -extern float CRendBin_FOA_HRIR_coeff_re_32kHz[FOA_CHANNELS][BINAURAL_CHANNELS][160]; -extern float CRendBin_FOA_HRIR_coeff_im_32kHz[FOA_CHANNELS][BINAURAL_CHANNELS][160]; +extern const uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; +extern const float CRendBin_FOA_HRIR_coeff_re_32kHz[FOA_CHANNELS][BINAURAL_CHANNELS][160]; +extern const float CRendBin_FOA_HRIR_coeff_im_32kHz[FOA_CHANNELS][BINAURAL_CHANNELS][160]; #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_FOA_HRIR_coeff_Q_32kHz_fx; +extern const int16_t CRendBin_FOA_HRIR_coeff_Q_32kHz_fx; #endif -extern int16_t CRendBin_FOA_HRIR_coeff_re_32kHz_fx[FOA_CHANNELS][BINAURAL_CHANNELS][160]; -extern int16_t CRendBin_FOA_HRIR_coeff_im_32kHz_fx[FOA_CHANNELS][BINAURAL_CHANNELS][160]; -extern int16_t *CRendBin_FOA_HRIR_coeff_diffuse_re_32kHz_fx[BINAURAL_CHANNELS]; -extern int16_t *CRendBin_FOA_HRIR_coeff_diffuse_im_32kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t CRendBin_FOA_HRIR_coeff_re_32kHz_fx[FOA_CHANNELS][BINAURAL_CHANNELS][160]; +extern const int16_t CRendBin_FOA_HRIR_coeff_im_32kHz_fx[FOA_CHANNELS][BINAURAL_CHANNELS][160]; +extern const int16_t *CRendBin_FOA_HRIR_coeff_diffuse_re_32kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t *CRendBin_FOA_HRIR_coeff_diffuse_im_32kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern float *CRendBin_FOA_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; -extern float *CRendBin_FOA_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_FOA_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_FOA_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; /* Sample Rate = 16000 */ -extern int16_t CRendBin_FOA_HRIR_max_num_iterations_16kHz; -extern uint16_t CRendBin_FOA_HRIR_num_iterations_16kHz[FOA_CHANNELS][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_FOA_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_16kHz[FOA_CHANNELS][BINAURAL_CHANNELS][1]; -extern uint16_t CRendBin_FOA_HRIR_index_frequency_max_diffuse_16kHz; -extern float CRendBin_FOA_HRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][FOA_CHANNELS]; +extern const int16_t CRendBin_FOA_HRIR_max_num_iterations_16kHz; +extern const uint16_t CRendBin_FOA_HRIR_num_iterations_16kHz[FOA_CHANNELS][BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_FOA_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_16kHz[FOA_CHANNELS][BINAURAL_CHANNELS][1]; +extern const uint16_t CRendBin_FOA_HRIR_index_frequency_max_diffuse_16kHz; +extern const float CRendBin_FOA_HRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][FOA_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_Q_16kHz_fx; -extern int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_16kHz_fx[BINAURAL_CHANNELS][FOA_CHANNELS]; +extern const int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_Q_16kHz_fx; +extern const int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_16kHz_fx[BINAURAL_CHANNELS][FOA_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; -extern float CRendBin_FOA_HRIR_coeff_re_16kHz[FOA_CHANNELS][BINAURAL_CHANNELS][80]; -extern float CRendBin_FOA_HRIR_coeff_im_16kHz[FOA_CHANNELS][BINAURAL_CHANNELS][80]; +extern const uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; +extern const float CRendBin_FOA_HRIR_coeff_re_16kHz[FOA_CHANNELS][BINAURAL_CHANNELS][80]; +extern const float CRendBin_FOA_HRIR_coeff_im_16kHz[FOA_CHANNELS][BINAURAL_CHANNELS][80]; #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_FOA_HRIR_coeff_Q_16kHz_fx; +extern const int16_t CRendBin_FOA_HRIR_coeff_Q_16kHz_fx; #endif -extern int16_t CRendBin_FOA_HRIR_coeff_re_16kHz_fx[FOA_CHANNELS][BINAURAL_CHANNELS][80]; -extern int16_t CRendBin_FOA_HRIR_coeff_im_16kHz_fx[FOA_CHANNELS][BINAURAL_CHANNELS][80]; -extern int16_t *CRendBin_FOA_HRIR_coeff_diffuse_re_16kHz_fx[BINAURAL_CHANNELS]; -extern int16_t *CRendBin_FOA_HRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t CRendBin_FOA_HRIR_coeff_re_16kHz_fx[FOA_CHANNELS][BINAURAL_CHANNELS][80]; +extern const int16_t CRendBin_FOA_HRIR_coeff_im_16kHz_fx[FOA_CHANNELS][BINAURAL_CHANNELS][80]; +extern const int16_t *CRendBin_FOA_HRIR_coeff_diffuse_re_16kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t *CRendBin_FOA_HRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern float *CRendBin_FOA_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; -extern float *CRendBin_FOA_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_FOA_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_FOA_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; /********************** CRendBin_HOA2_HRIR **********************/ -extern float CRendBin_HOA2_HRIR_latency_s; +extern const float CRendBin_HOA2_HRIR_latency_s; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_HOA2_HRIR_latency_s_Q_fx; -extern int32_t CRendBin_HOA2_HRIR_latency_s_fx; +extern const int16_t CRendBin_HOA2_HRIR_latency_s_Q_fx; +extern const int32_t CRendBin_HOA2_HRIR_latency_s_fx; #endif // FIX_1123_CREND_16BIT_ROM /* Sample Rate = 48000 */ -extern int16_t CRendBin_HOA2_HRIR_max_num_iterations_48kHz; -extern uint16_t CRendBin_HOA2_HRIR_num_iterations_48kHz[HOA2_CHANNELS][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_HOA2_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_48kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][1]; -extern uint16_t CRendBin_HOA2_HRIR_index_frequency_max_diffuse_48kHz; -extern float CRendBin_HOA2_HRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][HOA2_CHANNELS]; +extern const int16_t CRendBin_HOA2_HRIR_max_num_iterations_48kHz; +extern const uint16_t CRendBin_HOA2_HRIR_num_iterations_48kHz[HOA2_CHANNELS][BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_HOA2_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_48kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][1]; +extern const uint16_t CRendBin_HOA2_HRIR_index_frequency_max_diffuse_48kHz; +extern const float CRendBin_HOA2_HRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][HOA2_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_Q_48kHz_fx; -extern int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_48kHz_fx[BINAURAL_CHANNELS][HOA2_CHANNELS]; +extern const int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_Q_48kHz_fx; +extern const int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_48kHz_fx[BINAURAL_CHANNELS][HOA2_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; -extern float CRendBin_HOA2_HRIR_coeff_re_48kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][240]; -extern float CRendBin_HOA2_HRIR_coeff_im_48kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][240]; +extern const uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; +extern const float CRendBin_HOA2_HRIR_coeff_re_48kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][240]; +extern const float CRendBin_HOA2_HRIR_coeff_im_48kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][240]; #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_HOA2_HRIR_coeff_Q_48kHz_fx; +extern const int16_t CRendBin_HOA2_HRIR_coeff_Q_48kHz_fx; #endif -extern int16_t CRendBin_HOA2_HRIR_coeff_re_48kHz_fx[HOA2_CHANNELS][BINAURAL_CHANNELS][240]; -extern int16_t CRendBin_HOA2_HRIR_coeff_im_48kHz_fx[HOA2_CHANNELS][BINAURAL_CHANNELS][240]; -extern int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS]; -extern int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t CRendBin_HOA2_HRIR_coeff_re_48kHz_fx[HOA2_CHANNELS][BINAURAL_CHANNELS][240]; +extern const int16_t CRendBin_HOA2_HRIR_coeff_im_48kHz_fx[HOA2_CHANNELS][BINAURAL_CHANNELS][240]; +extern const int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern float *CRendBin_HOA2_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; -extern float *CRendBin_HOA2_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_HOA2_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_HOA2_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; /* Sample Rate = 32000 */ -extern int16_t CRendBin_HOA2_HRIR_max_num_iterations_32kHz; -extern uint16_t CRendBin_HOA2_HRIR_num_iterations_32kHz[HOA2_CHANNELS][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_HOA2_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_32kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][1]; -extern uint16_t CRendBin_HOA2_HRIR_index_frequency_max_diffuse_32kHz; -extern float CRendBin_HOA2_HRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][HOA2_CHANNELS]; +extern const int16_t CRendBin_HOA2_HRIR_max_num_iterations_32kHz; +extern const uint16_t CRendBin_HOA2_HRIR_num_iterations_32kHz[HOA2_CHANNELS][BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_HOA2_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_32kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][1]; +extern const uint16_t CRendBin_HOA2_HRIR_index_frequency_max_diffuse_32kHz; +extern const float CRendBin_HOA2_HRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][HOA2_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_Q_32kHz_fx; -extern int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_32kHz_fx[BINAURAL_CHANNELS][HOA2_CHANNELS]; +extern const int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_Q_32kHz_fx; +extern const int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_32kHz_fx[BINAURAL_CHANNELS][HOA2_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; -extern float CRendBin_HOA2_HRIR_coeff_re_32kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][160]; -extern float CRendBin_HOA2_HRIR_coeff_im_32kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][160]; +extern const uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; +extern const float CRendBin_HOA2_HRIR_coeff_re_32kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][160]; +extern const float CRendBin_HOA2_HRIR_coeff_im_32kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][160]; #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_HOA2_HRIR_coeff_Q_32kHz_fx; +extern const int16_t CRendBin_HOA2_HRIR_coeff_Q_32kHz_fx; #endif -extern int16_t CRendBin_HOA2_HRIR_coeff_re_32kHz_fx[HOA2_CHANNELS][BINAURAL_CHANNELS][160]; -extern int16_t CRendBin_HOA2_HRIR_coeff_im_32kHz_fx[HOA2_CHANNELS][BINAURAL_CHANNELS][160]; -extern int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_re_32kHz_fx[BINAURAL_CHANNELS]; -extern int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_im_32kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t CRendBin_HOA2_HRIR_coeff_re_32kHz_fx[HOA2_CHANNELS][BINAURAL_CHANNELS][160]; +extern const int16_t CRendBin_HOA2_HRIR_coeff_im_32kHz_fx[HOA2_CHANNELS][BINAURAL_CHANNELS][160]; +extern const int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_re_32kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_im_32kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern float *CRendBin_HOA2_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; -extern float *CRendBin_HOA2_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_HOA2_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_HOA2_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; /* Sample Rate = 16000 */ -extern int16_t CRendBin_HOA2_HRIR_max_num_iterations_16kHz; -extern uint16_t CRendBin_HOA2_HRIR_num_iterations_16kHz[HOA2_CHANNELS][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_HOA2_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_16kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][1]; -extern uint16_t CRendBin_HOA2_HRIR_index_frequency_max_diffuse_16kHz; -extern float CRendBin_HOA2_HRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][HOA2_CHANNELS]; +extern const int16_t CRendBin_HOA2_HRIR_max_num_iterations_16kHz; +extern const uint16_t CRendBin_HOA2_HRIR_num_iterations_16kHz[HOA2_CHANNELS][BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_HOA2_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_16kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][1]; +extern const uint16_t CRendBin_HOA2_HRIR_index_frequency_max_diffuse_16kHz; +extern const float CRendBin_HOA2_HRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][HOA2_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_Q_16kHz_fx; -extern int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_16kHz_fx[BINAURAL_CHANNELS][HOA2_CHANNELS]; +extern const int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_Q_16kHz_fx; +extern const int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_16kHz_fx[BINAURAL_CHANNELS][HOA2_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; -extern float CRendBin_HOA2_HRIR_coeff_re_16kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][80]; -extern float CRendBin_HOA2_HRIR_coeff_im_16kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][80]; +extern const uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; +extern const float CRendBin_HOA2_HRIR_coeff_re_16kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][80]; +extern const float CRendBin_HOA2_HRIR_coeff_im_16kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][80]; #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_HOA2_HRIR_coeff_Q_16kHz_fx; +extern const int16_t CRendBin_HOA2_HRIR_coeff_Q_16kHz_fx; #endif -extern int16_t CRendBin_HOA2_HRIR_coeff_re_16kHz_fx[HOA2_CHANNELS][BINAURAL_CHANNELS][80]; -extern int16_t CRendBin_HOA2_HRIR_coeff_im_16kHz_fx[HOA2_CHANNELS][BINAURAL_CHANNELS][80]; -extern int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_re_16kHz_fx[BINAURAL_CHANNELS]; -extern int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t CRendBin_HOA2_HRIR_coeff_re_16kHz_fx[HOA2_CHANNELS][BINAURAL_CHANNELS][80]; +extern const int16_t CRendBin_HOA2_HRIR_coeff_im_16kHz_fx[HOA2_CHANNELS][BINAURAL_CHANNELS][80]; +extern const int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_re_16kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern float *CRendBin_HOA2_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; -extern float *CRendBin_HOA2_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_HOA2_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_HOA2_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; @@ -332,208 +332,208 @@ extern int32_t CRendBin_HOA3_HRIR_latency_s_fx; /* Sample Rate = 48000 */ -extern int16_t CRendBin_HOA3_HRIR_max_num_iterations_48kHz; -extern uint16_t CRendBin_HOA3_HRIR_num_iterations_48kHz[HOA3_CHANNELS][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_48kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][1]; -extern uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_48kHz; +extern const int16_t CRendBin_HOA3_HRIR_max_num_iterations_48kHz; +extern const uint16_t CRendBin_HOA3_HRIR_num_iterations_48kHz[HOA3_CHANNELS][BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_48kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][1]; +extern const uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_48kHz; extern float CRendBin_HOA3_HRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][HOA3_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_Q_48kHz_fx; -extern int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_48kHz_fx[BINAURAL_CHANNELS][HOA3_CHANNELS]; +extern const int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_Q_48kHz_fx; +extern const int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_48kHz_fx[BINAURAL_CHANNELS][HOA3_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; -extern float CRendBin_HOA3_HRIR_coeff_re_48kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][240]; -extern float CRendBin_HOA3_HRIR_coeff_im_48kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][240]; +extern const uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; +extern const float CRendBin_HOA3_HRIR_coeff_re_48kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][240]; +extern const float CRendBin_HOA3_HRIR_coeff_im_48kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][240]; #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_HOA3_HRIR_coeff_Q_48kHz_fx; +extern const int16_t CRendBin_HOA3_HRIR_coeff_Q_48kHz_fx; #endif -extern int16_t CRendBin_HOA3_HRIR_coeff_re_48kHz_fx[HOA3_CHANNELS][BINAURAL_CHANNELS][240]; -extern int16_t CRendBin_HOA3_HRIR_coeff_im_48kHz_fx[HOA3_CHANNELS][BINAURAL_CHANNELS][240]; -extern int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS]; -extern int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t CRendBin_HOA3_HRIR_coeff_re_48kHz_fx[HOA3_CHANNELS][BINAURAL_CHANNELS][240]; +extern const int16_t CRendBin_HOA3_HRIR_coeff_im_48kHz_fx[HOA3_CHANNELS][BINAURAL_CHANNELS][240]; +extern const int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern float *CRendBin_HOA3_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; -extern float *CRendBin_HOA3_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_HOA3_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_HOA3_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; /* Sample Rate = 32000 */ -extern int16_t CRendBin_HOA3_HRIR_max_num_iterations_32kHz; -extern uint16_t CRendBin_HOA3_HRIR_num_iterations_32kHz[HOA3_CHANNELS][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_32kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][1]; -extern uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_32kHz; -extern float CRendBin_HOA3_HRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][HOA3_CHANNELS]; +extern const int16_t CRendBin_HOA3_HRIR_max_num_iterations_32kHz; +extern const uint16_t CRendBin_HOA3_HRIR_num_iterations_32kHz[HOA3_CHANNELS][BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_32kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][1]; +extern const uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_32kHz; +extern const float CRendBin_HOA3_HRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][HOA3_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_Q_32kHz_fx; -extern int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_32kHz_fx[BINAURAL_CHANNELS][HOA3_CHANNELS]; +extern const int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_Q_32kHz_fx; +extern const int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_32kHz_fx[BINAURAL_CHANNELS][HOA3_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; -extern float CRendBin_HOA3_HRIR_coeff_re_32kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][160]; -extern float CRendBin_HOA3_HRIR_coeff_im_32kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][160]; +extern const uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; +extern const float CRendBin_HOA3_HRIR_coeff_re_32kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][160]; +extern const float CRendBin_HOA3_HRIR_coeff_im_32kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][160]; #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_HOA3_HRIR_coeff_Q_32kHz_fx; +extern const int16_t CRendBin_HOA3_HRIR_coeff_Q_32kHz_fx; #endif -extern int16_t CRendBin_HOA3_HRIR_coeff_re_32kHz_fx[HOA3_CHANNELS][BINAURAL_CHANNELS][160]; -extern int16_t CRendBin_HOA3_HRIR_coeff_im_32kHz_fx[HOA3_CHANNELS][BINAURAL_CHANNELS][160]; -extern int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_re_32kHz_fx[BINAURAL_CHANNELS]; -extern int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_im_32kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t CRendBin_HOA3_HRIR_coeff_re_32kHz_fx[HOA3_CHANNELS][BINAURAL_CHANNELS][160]; +extern const int16_t CRendBin_HOA3_HRIR_coeff_im_32kHz_fx[HOA3_CHANNELS][BINAURAL_CHANNELS][160]; +extern const int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_re_32kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_im_32kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern float *CRendBin_HOA3_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; -extern float *CRendBin_HOA3_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_HOA3_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_HOA3_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; /* Sample Rate = 16000 */ -extern int16_t CRendBin_HOA3_HRIR_max_num_iterations_16kHz; -extern uint16_t CRendBin_HOA3_HRIR_num_iterations_16kHz[HOA3_CHANNELS][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_16kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][1]; -extern uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_16kHz; -extern float CRendBin_HOA3_HRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][HOA3_CHANNELS]; +extern const int16_t CRendBin_HOA3_HRIR_max_num_iterations_16kHz; +extern const uint16_t CRendBin_HOA3_HRIR_num_iterations_16kHz[HOA3_CHANNELS][BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_16kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][1]; +extern const uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_16kHz; +extern const float CRendBin_HOA3_HRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][HOA3_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_Q_16kHz_fx; -extern int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_16kHz_fx[BINAURAL_CHANNELS][HOA3_CHANNELS]; +extern const int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_Q_16kHz_fx; +extern const int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_16kHz_fx[BINAURAL_CHANNELS][HOA3_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; -extern float CRendBin_HOA3_HRIR_coeff_re_16kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][80]; -extern float CRendBin_HOA3_HRIR_coeff_im_16kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][80]; +extern const uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; +extern const float CRendBin_HOA3_HRIR_coeff_re_16kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][80]; +extern const float CRendBin_HOA3_HRIR_coeff_im_16kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][80]; #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_HOA3_HRIR_coeff_Q_16kHz_fx; +extern const int16_t CRendBin_HOA3_HRIR_coeff_Q_16kHz_fx; #endif -extern int16_t CRendBin_HOA3_HRIR_coeff_re_16kHz_fx[HOA3_CHANNELS][BINAURAL_CHANNELS][80]; -extern int16_t CRendBin_HOA3_HRIR_coeff_im_16kHz_fx[HOA3_CHANNELS][BINAURAL_CHANNELS][80]; -extern int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz_fx[BINAURAL_CHANNELS]; -extern int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t CRendBin_HOA3_HRIR_coeff_re_16kHz_fx[HOA3_CHANNELS][BINAURAL_CHANNELS][80]; +extern const int16_t CRendBin_HOA3_HRIR_coeff_im_16kHz_fx[HOA3_CHANNELS][BINAURAL_CHANNELS][80]; +extern const int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz_fx[BINAURAL_CHANNELS]; +extern const int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern float *CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; -extern float *CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; +extern const float *CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; /********************** CRendBin_Combined_BRIR **********************/ -extern float CRendBin_Combined_BRIR_latency_s; +extern const float CRendBin_Combined_BRIR_latency_s; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_Combined_BRIR_latency_s_Q_fx; -extern int32_t CRendBin_Combined_BRIR_latency_s_fx; +extern const int16_t CRendBin_Combined_BRIR_latency_s_Q_fx; +extern const int32_t CRendBin_Combined_BRIR_latency_s_fx; #endif // FIX_1123_CREND_16BIT_ROM /* Sample Rate = 48000 */ -extern int16_t CRendBin_Combined_BRIR_max_num_iterations_48kHz; -extern uint16_t CRendBin_Combined_BRIR_num_iterations_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][22]; -extern uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_48kHz; -extern float CRendBin_Combined_BRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; +extern const int16_t CRendBin_Combined_BRIR_max_num_iterations_48kHz; +extern const uint16_t CRendBin_Combined_BRIR_num_iterations_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][22]; +extern const uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_48kHz; +extern const float CRendBin_Combined_BRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_Q_48kHz_fx; -extern int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_48kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; +extern const int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_Q_48kHz_fx; +extern const int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_48kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS][40]; -extern float CRendBin_Combined_BRIR_coeff_re_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2955]; -extern float CRendBin_Combined_BRIR_coeff_im_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2955]; +extern const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS][40]; +extern const float CRendBin_Combined_BRIR_coeff_re_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2955]; +extern const float CRendBin_Combined_BRIR_coeff_im_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2955]; #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_Combined_BRIR_coeff_Q_48kHz_fx; +extern const int16_t CRendBin_Combined_BRIR_coeff_Q_48kHz_fx; #endif -extern int16_t CRendBin_Combined_BRIR_coeff_re_48kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2955]; -extern int16_t CRendBin_Combined_BRIR_coeff_im_48kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2955]; -extern int16_t CRendBin_Combined_BRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS][2885]; -extern int16_t CRendBin_Combined_BRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS][2885]; +extern const int16_t CRendBin_Combined_BRIR_coeff_re_48kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2955]; +extern const int16_t CRendBin_Combined_BRIR_coeff_im_48kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2955]; +extern const int16_t CRendBin_Combined_BRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS][2885]; +extern const int16_t CRendBin_Combined_BRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS][2885]; #endif // FIX_1123_CREND_16BIT_ROM -extern float CRendBin_Combined_BRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS][2885]; -extern float CRendBin_Combined_BRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS][2885]; +extern const float CRendBin_Combined_BRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS][2885]; +extern const float CRendBin_Combined_BRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS][2885]; /* Sample Rate = 32000 */ -extern int16_t CRendBin_Combined_BRIR_max_num_iterations_32kHz; -extern uint16_t CRendBin_Combined_BRIR_num_iterations_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][22]; -extern uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_32kHz; -extern float CRendBin_Combined_BRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; +extern const int16_t CRendBin_Combined_BRIR_max_num_iterations_32kHz; +extern const uint16_t CRendBin_Combined_BRIR_num_iterations_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][22]; +extern const uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_32kHz; +extern const float CRendBin_Combined_BRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_Q_32kHz_fx; -extern int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_32kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; +extern const int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_Q_32kHz_fx; +extern const int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_32kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS][40]; -extern float CRendBin_Combined_BRIR_coeff_re_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2818]; -extern float CRendBin_Combined_BRIR_coeff_im_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2818]; +extern const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS][40]; +extern const float CRendBin_Combined_BRIR_coeff_re_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2818]; +extern const float CRendBin_Combined_BRIR_coeff_im_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2818]; #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_Combined_BRIR_coeff_Q_32kHz_fx; +extern const int16_t CRendBin_Combined_BRIR_coeff_Q_32kHz_fx; #endif -extern int16_t CRendBin_Combined_BRIR_coeff_re_32kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2818]; -extern int16_t CRendBin_Combined_BRIR_coeff_im_32kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2818]; -extern int16_t CRendBin_Combined_BRIR_coeff_diffuse_re_32kHz_fx[BINAURAL_CHANNELS][2868]; -extern int16_t CRendBin_Combined_BRIR_coeff_diffuse_im_32kHz_fx[BINAURAL_CHANNELS][2868]; +extern const int16_t CRendBin_Combined_BRIR_coeff_re_32kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2818]; +extern const int16_t CRendBin_Combined_BRIR_coeff_im_32kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2818]; +extern const int16_t CRendBin_Combined_BRIR_coeff_diffuse_re_32kHz_fx[BINAURAL_CHANNELS][2868]; +extern const int16_t CRendBin_Combined_BRIR_coeff_diffuse_im_32kHz_fx[BINAURAL_CHANNELS][2868]; #endif // FIX_1123_CREND_16BIT_ROM -extern float CRendBin_Combined_BRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS][2868]; -extern float CRendBin_Combined_BRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS][2868]; +extern const float CRendBin_Combined_BRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS][2868]; +extern const float CRendBin_Combined_BRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS][2868]; /* Sample Rate = 16000 */ -extern int16_t CRendBin_Combined_BRIR_max_num_iterations_16kHz; -extern uint16_t CRendBin_Combined_BRIR_num_iterations_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][23]; -extern uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_16kHz; -extern float CRendBin_Combined_BRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; +extern const int16_t CRendBin_Combined_BRIR_max_num_iterations_16kHz; +extern const uint16_t CRendBin_Combined_BRIR_num_iterations_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; +extern const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][23]; +extern const uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_16kHz; +extern const float CRendBin_Combined_BRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_Q_16kHz_fx; -extern int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_16kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; +extern const int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_Q_16kHz_fx; +extern const int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_16kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS][40]; -extern float CRendBin_Combined_BRIR_coeff_re_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1799]; -extern float CRendBin_Combined_BRIR_coeff_im_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1799]; +extern const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS][40]; +extern const float CRendBin_Combined_BRIR_coeff_re_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1799]; +extern const float CRendBin_Combined_BRIR_coeff_im_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1799]; #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t CRendBin_Combined_BRIR_coeff_Q_16kHz_fx; +extern const int16_t CRendBin_Combined_BRIR_coeff_Q_16kHz_fx; #endif -extern int16_t CRendBin_Combined_BRIR_coeff_re_16kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1799]; -extern int16_t CRendBin_Combined_BRIR_coeff_im_16kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1799]; -extern int16_t CRendBin_Combined_BRIR_coeff_diffuse_re_16kHz_fx[BINAURAL_CHANNELS][2474]; -extern int16_t CRendBin_Combined_BRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS][2474]; +extern const int16_t CRendBin_Combined_BRIR_coeff_re_16kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1799]; +extern const int16_t CRendBin_Combined_BRIR_coeff_im_16kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1799]; +extern const int16_t CRendBin_Combined_BRIR_coeff_diffuse_re_16kHz_fx[BINAURAL_CHANNELS][2474]; +extern const int16_t CRendBin_Combined_BRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS][2474]; #endif // FIX_1123_CREND_16BIT_ROM -extern float CRendBin_Combined_BRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS][2474]; -extern float CRendBin_Combined_BRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS][2474]; +extern const float CRendBin_Combined_BRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS][2474]; +extern const float CRendBin_Combined_BRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS][2474]; /********************** default HRIR reverb rom tables **********************/ /* Sample Rate = 48000 */ -extern float defaultHRIR_coherence_48kHz[LR_IAC_LENGTH_NR_FC]; -extern float defaultHRIR_left_avg_power_48kHz[LR_IAC_LENGTH_NR_FC]; -extern float defaultHRIR_right_avg_power_48kHz[LR_IAC_LENGTH_NR_FC]; +extern const float defaultHRIR_coherence_48kHz[LR_IAC_LENGTH_NR_FC]; +extern const float defaultHRIR_left_avg_power_48kHz[LR_IAC_LENGTH_NR_FC]; +extern const float defaultHRIR_right_avg_power_48kHz[LR_IAC_LENGTH_NR_FC]; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t defaultHRIR_coherence_48kHz_fx[LR_IAC_LENGTH_NR_FC]; -extern int16_t defaultHRIR_left_avg_power_48kHz_fx[LR_IAC_LENGTH_NR_FC]; -extern int16_t defaultHRIR_right_avg_power_48kHz_fx[LR_IAC_LENGTH_NR_FC]; +extern const int16_t defaultHRIR_coherence_48kHz_fx[LR_IAC_LENGTH_NR_FC]; +extern const int16_t defaultHRIR_left_avg_power_48kHz_fx[LR_IAC_LENGTH_NR_FC]; +extern const int16_t defaultHRIR_right_avg_power_48kHz_fx[LR_IAC_LENGTH_NR_FC]; #endif /* FIX_1123_CREND_16BIT_ROM */ /* Sample Rate = 32000 */ -extern float defaultHRIR_coherence_32kHz[LR_IAC_LENGTH_NR_FC]; -extern float defaultHRIR_left_avg_power_32kHz[LR_IAC_LENGTH_NR_FC]; -extern float defaultHRIR_right_avg_power_32kHz[LR_IAC_LENGTH_NR_FC]; +extern const float defaultHRIR_coherence_32kHz[LR_IAC_LENGTH_NR_FC]; +extern const float defaultHRIR_left_avg_power_32kHz[LR_IAC_LENGTH_NR_FC]; +extern const float defaultHRIR_right_avg_power_32kHz[LR_IAC_LENGTH_NR_FC]; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t defaultHRIR_coherence_32kHz_fx[LR_IAC_LENGTH_NR_FC]; -extern int16_t defaultHRIR_left_avg_power_32kHz_fx[LR_IAC_LENGTH_NR_FC]; -extern int16_t defaultHRIR_right_avg_power_32kHz_fx[LR_IAC_LENGTH_NR_FC]; +extern const int16_t defaultHRIR_coherence_32kHz_fx[LR_IAC_LENGTH_NR_FC]; +extern const int16_t defaultHRIR_left_avg_power_32kHz_fx[LR_IAC_LENGTH_NR_FC]; +extern const int16_t defaultHRIR_right_avg_power_32kHz_fx[LR_IAC_LENGTH_NR_FC]; #endif /* FIX_1123_CREND_16BIT_ROM */ /* Sample Rate = 16000 */ -extern float defaultHRIR_coherence_16kHz[LR_IAC_LENGTH_NR_FC_16KHZ]; -extern float defaultHRIR_left_avg_power_16kHz[LR_IAC_LENGTH_NR_FC_16KHZ]; -extern float defaultHRIR_right_avg_power_16kHz[LR_IAC_LENGTH_NR_FC_16KHZ]; +extern const float defaultHRIR_coherence_16kHz[LR_IAC_LENGTH_NR_FC_16KHZ]; +extern const float defaultHRIR_left_avg_power_16kHz[LR_IAC_LENGTH_NR_FC_16KHZ]; +extern const float defaultHRIR_right_avg_power_16kHz[LR_IAC_LENGTH_NR_FC_16KHZ]; #ifdef FIX_1123_CREND_16BIT_ROM -extern int16_t defaultHRIR_coherence_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ]; -extern int16_t defaultHRIR_left_avg_power_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ]; -extern int16_t defaultHRIR_right_avg_power_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ]; +extern const int16_t defaultHRIR_coherence_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ]; +extern const int16_t defaultHRIR_left_avg_power_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ]; +extern const int16_t defaultHRIR_right_avg_power_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ]; #endif /* FIX_1123_CREND_16BIT_ROM */ #endif /* _IVAS_ROM_BINAURAL_CREND_HEAD_ */ -- GitLab From 31fd7cef55d8fd7cfc0a8b164ebd44e9578a6e95 Mon Sep 17 00:00:00 2001 From: vaclav Date: Mon, 29 Jul 2024 12:32:07 +0200 Subject: [PATCH 7/8] revert some changes --- lib_rend/ivas_crend.c | 76 +++++----- lib_rend/ivas_rom_binaural_crend_head.c | 130 +++++++++-------- lib_rend/ivas_rom_binaural_crend_head.h | 184 +++++++++++++++--------- 3 files changed, 219 insertions(+), 171 deletions(-) diff --git a/lib_rend/ivas_crend.c b/lib_rend/ivas_crend.c index 0a0641bd84..fda54fbab7 100644 --- a/lib_rend/ivas_crend.c +++ b/lib_rend/ivas_crend.c @@ -289,7 +289,7 @@ static ivas_error ivas_rend_initCrend( if ( outConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) { hHrtf->num_iterations_diffuse[j] = CRendBin_Combined_BRIR_num_iterations_diffuse_48kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_48kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_48kHz[j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_diffuse_re_48kHz_fx ) / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_diffuse_re[j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -314,7 +314,7 @@ static ivas_error ivas_rend_initCrend( else { hHrtf->num_iterations_diffuse[j] = CRendBin_Combined_HRIR_num_iterations_diffuse_48kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_48kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_48kHz[j]; #ifdef FIX_1123_CREND_16BIT_ROM hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_Combined_HRIR_coeff_diffuse_re_48kHz_fx[j]; hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_Combined_HRIR_coeff_diffuse_re_48kHz_fx[j]; @@ -353,7 +353,7 @@ static ivas_error ivas_rend_initCrend( if ( outConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) { hHrtf->num_iterations_diffuse[j] = CRendBin_Combined_BRIR_num_iterations_diffuse_32kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_32kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_32kHz[j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_diffuse_re_32kHz_fx ) / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_diffuse_re[j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -378,7 +378,7 @@ static ivas_error ivas_rend_initCrend( else { hHrtf->num_iterations_diffuse[j] = CRendBin_Combined_HRIR_num_iterations_diffuse_32kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_32kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_32kHz[j]; #ifdef FIX_1123_CREND_16BIT_ROM hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_Combined_HRIR_coeff_diffuse_re_32kHz_fx[j]; hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_Combined_HRIR_coeff_diffuse_re_32kHz_fx[j]; @@ -418,7 +418,7 @@ static ivas_error ivas_rend_initCrend( if ( outConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) { hHrtf->num_iterations_diffuse[j] = CRendBin_Combined_BRIR_num_iterations_diffuse_16kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_16kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_16kHz[j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_diffuse_re_16kHz_fx ) / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_diffuse_re[j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -443,7 +443,7 @@ static ivas_error ivas_rend_initCrend( else { hHrtf->num_iterations_diffuse[j] = CRendBin_Combined_HRIR_num_iterations_diffuse_16kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_16kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_16kHz[j]; #ifdef FIX_1123_CREND_16BIT_ROM hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_Combined_HRIR_coeff_diffuse_re_16kHz_fx[j]; hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_Combined_HRIR_coeff_diffuse_re_16kHz_fx[j]; @@ -494,7 +494,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_Combined_BRIR_inv_diffuse_weight_48kHz[j][tmp]; hHrtf->num_iterations[i][j] = CRendBin_Combined_BRIR_num_iterations_48kHz[tmp][j]; - hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_Combined_BRIR_pIndex_frequency_max_48kHz[tmp][j]; + hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_BRIR_pIndex_frequency_max_48kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_re_48kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -520,7 +520,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_Combined_HRIR_inv_diffuse_weight_48kHz[j][tmp]; hHrtf->num_iterations[i][j] = CRendBin_Combined_HRIR_num_iterations_48kHz[tmp][j]; - hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_Combined_HRIR_pIndex_frequency_max_48kHz[tmp][j]; + hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_HRIR_pIndex_frequency_max_48kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_HRIR_coeff_re_48kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -552,7 +552,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_Combined_BRIR_inv_diffuse_weight_32kHz[j][tmp]; hHrtf->num_iterations[i][j] = CRendBin_Combined_BRIR_num_iterations_32kHz[tmp][j]; - hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_Combined_BRIR_pIndex_frequency_max_32kHz[tmp][j]; + hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_BRIR_pIndex_frequency_max_32kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_re_32kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -578,7 +578,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_Combined_HRIR_inv_diffuse_weight_32kHz[j][tmp]; hHrtf->num_iterations[i][j] = CRendBin_Combined_HRIR_num_iterations_32kHz[tmp][j]; - hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_Combined_HRIR_pIndex_frequency_max_32kHz[tmp][j]; + hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_HRIR_pIndex_frequency_max_32kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_HRIR_coeff_re_32kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -610,7 +610,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_Combined_BRIR_inv_diffuse_weight_16kHz[j][tmp]; hHrtf->num_iterations[i][j] = CRendBin_Combined_BRIR_num_iterations_16kHz[tmp][j]; - hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_Combined_BRIR_pIndex_frequency_max_16kHz[tmp][j]; + hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_BRIR_pIndex_frequency_max_16kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_re_16kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -636,7 +636,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_Combined_HRIR_inv_diffuse_weight_16kHz[j][tmp]; hHrtf->num_iterations[i][j] = CRendBin_Combined_HRIR_num_iterations_16kHz[tmp][j]; - hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_Combined_HRIR_pIndex_frequency_max_16kHz[tmp][j]; + hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_HRIR_pIndex_frequency_max_16kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_HRIR_coeff_re_16kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -682,7 +682,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_HOA3_HRIR_inv_diffuse_weight_48kHz[j][i]; hHrtf->num_iterations[i][j] = CRendBin_HOA3_HRIR_num_iterations_48kHz[i][j]; - hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_HOA3_HRIR_pIndex_frequency_max_48kHz[i][j]; + hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_48kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA3_HRIR_coeff_re_48kHz_fx ) / HOA3_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -708,9 +708,9 @@ static ivas_error ivas_rend_initCrend( for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { hHrtf->num_iterations_diffuse[j] = CRendBin_HOA3_HRIR_num_iterations_diffuse_48kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_48kHz[j]; - hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_HOA3_HRIR_coeff_diffuse_re_48kHz[j]; - hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_HOA3_HRIR_coeff_diffuse_im_48kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_48kHz[j]; + hHrtf->pOut_to_bin_diffuse_re[j] = CRendBin_HOA3_HRIR_coeff_diffuse_re_48kHz[j]; + hHrtf->pOut_to_bin_diffuse_im[j] = CRendBin_HOA3_HRIR_coeff_diffuse_im_48kHz[j]; } } else if ( output_Fs == 32000 ) @@ -725,7 +725,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_HOA3_HRIR_inv_diffuse_weight_32kHz[j][i]; hHrtf->num_iterations[i][j] = CRendBin_HOA3_HRIR_num_iterations_32kHz[i][j]; - hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_HOA3_HRIR_pIndex_frequency_max_32kHz[i][j]; + hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_32kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA3_HRIR_coeff_re_32kHz_fx ) / HOA3_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -752,7 +752,7 @@ static ivas_error ivas_rend_initCrend( for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { hHrtf->num_iterations_diffuse[j] = CRendBin_HOA3_HRIR_num_iterations_diffuse_32kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_32kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_32kHz[j]; hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_HOA3_HRIR_coeff_diffuse_re_32kHz[j]; hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_HOA3_HRIR_coeff_diffuse_im_32kHz[j]; } @@ -769,7 +769,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_HOA3_HRIR_inv_diffuse_weight_16kHz[j][i]; hHrtf->num_iterations[i][j] = CRendBin_HOA3_HRIR_num_iterations_16kHz[i][j]; - hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_HOA3_HRIR_pIndex_frequency_max_16kHz[i][j]; + hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_16kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA3_HRIR_coeff_re_16kHz_fx ) / HOA3_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -796,7 +796,7 @@ static ivas_error ivas_rend_initCrend( for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { hHrtf->num_iterations_diffuse[j] = CRendBin_HOA3_HRIR_num_iterations_diffuse_16kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_16kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_16kHz[j]; hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz[j]; hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz[j]; } @@ -820,7 +820,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_HOA2_HRIR_inv_diffuse_weight_48kHz[j][i]; hHrtf->num_iterations[i][j] = CRendBin_HOA2_HRIR_num_iterations_48kHz[i][j]; - hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_HOA2_HRIR_pIndex_frequency_max_48kHz[i][j]; + hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_48kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA2_HRIR_coeff_re_48kHz_fx ) / HOA2_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -846,9 +846,9 @@ static ivas_error ivas_rend_initCrend( for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { hHrtf->num_iterations_diffuse[j] = CRendBin_HOA2_HRIR_num_iterations_diffuse_48kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_48kHz[j]; - hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_HOA2_HRIR_coeff_diffuse_re_48kHz[j]; - hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_HOA2_HRIR_coeff_diffuse_im_48kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_48kHz[j]; + hHrtf->pOut_to_bin_diffuse_re[j] = CRendBin_HOA2_HRIR_coeff_diffuse_re_48kHz[j]; + hHrtf->pOut_to_bin_diffuse_im[j] = CRendBin_HOA2_HRIR_coeff_diffuse_im_48kHz[j]; } } else if ( output_Fs == 32000 ) @@ -863,7 +863,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_HOA2_HRIR_inv_diffuse_weight_32kHz[j][i]; hHrtf->num_iterations[i][j] = CRendBin_HOA2_HRIR_num_iterations_32kHz[i][j]; - hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_HOA2_HRIR_pIndex_frequency_max_32kHz[i][j]; + hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_32kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA2_HRIR_coeff_re_32kHz_fx ) / HOA2_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -890,9 +890,9 @@ static ivas_error ivas_rend_initCrend( for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { hHrtf->num_iterations_diffuse[j] = CRendBin_HOA2_HRIR_num_iterations_diffuse_32kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_32kHz[j]; - hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_HOA2_HRIR_coeff_diffuse_re_32kHz[j]; - hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_HOA2_HRIR_coeff_diffuse_im_32kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_32kHz[j]; + hHrtf->pOut_to_bin_diffuse_re[j] = CRendBin_HOA2_HRIR_coeff_diffuse_re_32kHz[j]; + hHrtf->pOut_to_bin_diffuse_im[j] = CRendBin_HOA2_HRIR_coeff_diffuse_im_32kHz[j]; } } else if ( output_Fs == 16000 ) @@ -907,7 +907,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_HOA2_HRIR_inv_diffuse_weight_16kHz[j][i]; hHrtf->num_iterations[i][j] = CRendBin_HOA2_HRIR_num_iterations_16kHz[i][j]; - hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_HOA2_HRIR_pIndex_frequency_max_16kHz[i][j]; + hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_16kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA2_HRIR_coeff_re_16kHz_fx ) / HOA2_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -934,9 +934,9 @@ static ivas_error ivas_rend_initCrend( for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { hHrtf->num_iterations_diffuse[j] = CRendBin_HOA2_HRIR_num_iterations_diffuse_16kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_16kHz[j]; - hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_HOA2_HRIR_coeff_diffuse_re_16kHz[j]; - hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_HOA2_HRIR_coeff_diffuse_im_16kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_16kHz[j]; + hHrtf->pOut_to_bin_diffuse_re[j] = CRendBin_HOA2_HRIR_coeff_diffuse_re_16kHz[j]; + hHrtf->pOut_to_bin_diffuse_im[j] = CRendBin_HOA2_HRIR_coeff_diffuse_im_16kHz[j]; } } else @@ -958,7 +958,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_FOA_HRIR_inv_diffuse_weight_48kHz[j][i]; hHrtf->num_iterations[i][j] = CRendBin_FOA_HRIR_num_iterations_48kHz[i][j]; - hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_FOA_HRIR_pIndex_frequency_max_48kHz[i][j]; + hHrtf->pIndex_frequency_max[i][j] = CRendBin_FOA_HRIR_pIndex_frequency_max_48kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_FOA_HRIR_coeff_re_48kHz_fx ) / FOA_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -984,7 +984,7 @@ static ivas_error ivas_rend_initCrend( for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { hHrtf->num_iterations_diffuse[j] = CRendBin_FOA_HRIR_num_iterations_diffuse_48kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_48kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_48kHz[j]; hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_FOA_HRIR_coeff_diffuse_re_48kHz[j]; hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_FOA_HRIR_coeff_diffuse_im_48kHz[j]; } @@ -1001,7 +1001,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_FOA_HRIR_inv_diffuse_weight_32kHz[j][i]; hHrtf->num_iterations[i][j] = CRendBin_FOA_HRIR_num_iterations_32kHz[i][j]; - hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_FOA_HRIR_pIndex_frequency_max_32kHz[i][j]; + hHrtf->pIndex_frequency_max[i][j] = CRendBin_FOA_HRIR_pIndex_frequency_max_32kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_FOA_HRIR_coeff_re_32kHz_fx ) / FOA_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -1028,7 +1028,7 @@ static ivas_error ivas_rend_initCrend( for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { hHrtf->num_iterations_diffuse[j] = CRendBin_FOA_HRIR_num_iterations_diffuse_32kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_32kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_32kHz[j]; hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_FOA_HRIR_coeff_diffuse_re_32kHz[j]; hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_FOA_HRIR_coeff_diffuse_im_32kHz[j]; } @@ -1045,7 +1045,7 @@ static ivas_error ivas_rend_initCrend( { hHrtf->inv_diffuse_weight[j][i] = CRendBin_FOA_HRIR_inv_diffuse_weight_16kHz[j][i]; hHrtf->num_iterations[i][j] = CRendBin_FOA_HRIR_num_iterations_16kHz[i][j]; - hHrtf->pIndex_frequency_max[i][j] = (uint16_t *) CRendBin_FOA_HRIR_pIndex_frequency_max_16kHz[i][j]; + hHrtf->pIndex_frequency_max[i][j] = CRendBin_FOA_HRIR_pIndex_frequency_max_16kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_FOA_HRIR_coeff_re_16kHz_fx ) / FOA_CHANNELS / sizeof( int16_t ) / 2; if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) @@ -1072,7 +1072,7 @@ static ivas_error ivas_rend_initCrend( for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { hHrtf->num_iterations_diffuse[j] = CRendBin_FOA_HRIR_num_iterations_diffuse_16kHz[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = (uint16_t *) CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_16kHz[j]; + hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_16kHz[j]; hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_FOA_HRIR_coeff_diffuse_re_16kHz[j]; hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_FOA_HRIR_coeff_diffuse_im_16kHz[j]; } diff --git a/lib_rend/ivas_rom_binaural_crend_head.c b/lib_rend/ivas_rom_binaural_crend_head.c index 3f320b1ace..c5eb4d509c 100644 --- a/lib_rend/ivas_rom_binaural_crend_head.c +++ b/lib_rend/ivas_rom_binaural_crend_head.c @@ -53,7 +53,9 @@ /********************** CRendBin_Combined_HRIR **********************/ +#ifndef FIX_1123_CREND_16BIT_ROM const float CRendBin_Combined_HRIR_latency_s = 0x1.5d8ap-16; +#endif #ifdef FIX_1123_CREND_16BIT_ROM const int16_t CRendBin_Combined_HRIR_latency_s_Q_fx = 31; const int32_t CRendBin_Combined_HRIR_latency_s_fx = 44741;/*Q-31*/ @@ -64,14 +66,14 @@ const int32_t CRendBin_Combined_HRIR_latency_s_fx = 44741;/*Q-31*/ const int16_t CRendBin_Combined_HRIR_max_num_iterations_48kHz = 1; const uint16_t CRendBin_Combined_HRIR_num_iterations_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]={{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1} }; const uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS] = {0, 0}; -const uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1]={{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}}}; +uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1]={{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}}}; const uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_48kHz = 0; -const float CRendBin_Combined_HRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]={{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0},{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0}}; +float CRendBin_Combined_HRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]={{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0},{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0}}; #ifdef FIX_1123_CREND_16BIT_ROM const int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_Q_48kHz_fx = 0; const int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_48kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]={{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}; #endif // FIX_1123_CREND_16BIT_ROM -const uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; +uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; const float CRendBin_Combined_HRIR_coeff_re_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][240]={ { {0x1.19f8p+0, 0x1.1f28p+0, 0x1.2a4p+0, 0x1.397p+0, 0x1.42p+0, 0x1.387p+0, 0x1.2638p+0, 0x1.241p+0, 0x1.2f88p+0, 0x1.20c8p+0, 0x1.cep-1, 0x1.6a7p-1, 0x1.938p-1, 0x1.1978p+0, 0x1.6008p+0, 0x1.7c28p+0, 0x1.8cc8p+0, 0x1.b21p+0, 0x1.e06p+0, 0x1.feep+0, 0x1.054cp+1, 0x1.03b4p+1, 0x1.ebe8p+0, 0x1.b37p+0, 0x1.72cp+0, 0x1.4708p+0, 0x1.3958p+0, 0x1.3eap+0, 0x1.4c48p+0, 0x1.61fp+0, 0x1.83fp+0, 0x1.b378p+0, 0x1.eb3p+0, 0x1.0fb4p+1, 0x1.220cp+1, 0x1.2a3p+1, 0x1.2a3p+1, 0x1.25acp+1, 0x1.1ef4p+1, 0x1.1634p+1, 0x1.0ad4p+1, 0x1.fa68p+0, 0x1.df2p+0, 0x1.c96p+0, 0x1.bb58p+0, 0x1.b34p+0, 0x1.add8p+0, 0x1.a828p+0, 0x1.9f58p+0, 0x1.91cp+0, 0x1.809p+0, 0x1.6eb8p+0, 0x1.5e68p+0, 0x1.506p+0, 0x1.44bp+0, 0x1.3b38p+0, 0x1.33c8p+0, 0x1.2e38p+0, 0x1.29e8p+0, 0x1.2568p+0, 0x1.1f28p+0, 0x1.168p+0, 0x1.0b28p+0, 0x1.f7ap-1, 0x1.cdcp-1, 0x1.991p-1, 0x1.5dep-1, 0x1.223p-1, 0x1.d82p-2, 0x1.81cp-2, 0x1.47p-2, 0x1.264p-2, 0x1.1a8p-2, 0x1.1eep-2, 0x1.2ecp-2, 0x1.438p-2, 0x1.57p-2, 0x1.658p-2, 0x1.6dep-2, 0x1.71ap-2, 0x1.738p-2, 0x1.75cp-2, 0x1.798p-2, 0x1.806p-2, 0x1.8cep-2, 0x1.a08p-2, 0x1.ba4p-2, 0x1.d9ep-2, 0x1.ffcp-2, 0x1.15ap-1, 0x1.2c3p-1, 0x1.417p-1, 0x1.53ep-1, 0x1.625p-1, 0x1.6bdp-1, 0x1.6f9p-1, @@ -564,25 +566,25 @@ const int16_t CRendBin_Combined_HRIR_coeff_im_48kHz_fx[HRTF_LS_CHANNELS][BINAURA }; #endif // FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM -const int16_t *CRendBin_Combined_HRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; -const int16_t *CRendBin_Combined_HRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; +int16_t *CRendBin_Combined_HRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; +int16_t *CRendBin_Combined_HRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; #endif // FIX_1123_CREND_16BIT_ROM -const float *CRendBin_Combined_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float *CRendBin_Combined_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; +float *CRendBin_Combined_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; +float *CRendBin_Combined_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; /* Sample Rate = 32000 */ const int16_t CRendBin_Combined_HRIR_max_num_iterations_32kHz = 1; const uint16_t CRendBin_Combined_HRIR_num_iterations_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]={{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1} }; const uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS] = {0, 0}; -const uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1]={{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}}}; +uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1]={{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}}}; const uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_32kHz = 0; -const float CRendBin_Combined_HRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]={{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0},{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0}}; +float CRendBin_Combined_HRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]={{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0},{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0}}; #ifdef FIX_1123_CREND_16BIT_ROM const int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_Q_32kHz_fx = 0; const int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_32kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]={{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}; #endif // FIX_1123_CREND_16BIT_ROM -const uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; +uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; const float CRendBin_Combined_HRIR_coeff_re_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][160]={ { {0x1.391p+0, 0x1.3e48p+0, 0x1.4968p+0, 0x1.58ap+0, 0x1.6148p+0, 0x1.57c8p+0, 0x1.45ap+0, 0x1.4388p+0, 0x1.4f18p+0, 0x1.4058p+0, 0x1.0688p+0, 0x1.a96p-1, 0x1.d27p-1, 0x1.38f8p+0, 0x1.7f88p+0, 0x1.9b9p+0, 0x1.ac28p+0, 0x1.d15p+0, 0x1.ff88p+0, 0x1.0efcp+1, 0x1.14c8p+1, 0x1.131cp+1, 0x1.0548p+1, 0x1.d2p+0, 0x1.914p+0, 0x1.657p+0, 0x1.57b8p+0, 0x1.5dp+0, 0x1.6aap+0, 0x1.8048p+0, 0x1.a24p+0, 0x1.d1cp+0, 0x1.04bp+1, 0x1.1ecp+1, 0x1.310cp+1, 0x1.3924p+1, 0x1.3914p+1, 0x1.3484p+1, 0x1.2dcp+1, 0x1.24f8p+1, 0x1.199p+1, 0x1.0be8p+1, 0x1.fc68p+0, 0x1.e678p+0, 0x1.d838p+0, 0x1.cffp+0, 0x1.ca68p+0, 0x1.c49p+0, 0x1.bb88p+0, 0x1.adcp+0, 0x1.9c6p+0, 0x1.8a48p+0, 0x1.79cp+0, 0x1.6b88p+0, 0x1.5fap+0, 0x1.55fp+0, 0x1.4e48p+0, 0x1.4888p+0, 0x1.4408p+0, 0x1.3f5p+0, 0x1.38d8p+0, 0x1.3008p+0, 0x1.248p+0, 0x1.14fp+0, 0x1.ffap-1, 0x1.ca9p-1, 0x1.8efp-1, 0x1.52bp-1, 0x1.1c1p-1, 0x1.e0ap-2, 0x1.a4cp-2, 0x1.82cp-2, 0x1.75ep-2, 0x1.79p-2, 0x1.878p-2, 0x1.9aep-2, 0x1.ad2p-2, 0x1.ba4p-2, 0x1.c12p-2, 0x1.c36p-2, 0x1.c3cp-2, 0x1.c46p-2, 0x1.c68p-2, 0x1.cbcp-2, 0x1.d6ap-2, 0x1.e88p-2, 0x1.005p-1, 0x1.0f4p-1, 0x1.214p-1, 0x1.361p-1, 0x1.4bbp-1, 0x1.6p-1, 0x1.716p-1, 0x1.7eep-1, 0x1.876p-1, 0x1.8a1p-1, @@ -955,25 +957,25 @@ const int16_t CRendBin_Combined_HRIR_coeff_im_32kHz_fx[HRTF_LS_CHANNELS][BINAURA }; #endif // FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM -const int16_t *CRendBin_Combined_HRIR_coeff_diffuse_re_32kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; -const int16_t *CRendBin_Combined_HRIR_coeff_diffuse_im_32kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; +int16_t *CRendBin_Combined_HRIR_coeff_diffuse_re_32kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; +int16_t *CRendBin_Combined_HRIR_coeff_diffuse_im_32kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; #endif // FIX_1123_CREND_16BIT_ROM -const float *CRendBin_Combined_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float *CRendBin_Combined_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; +float *CRendBin_Combined_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; +float *CRendBin_Combined_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; /* Sample Rate = 16000 */ const int16_t CRendBin_Combined_HRIR_max_num_iterations_16kHz = 1; const uint16_t CRendBin_Combined_HRIR_num_iterations_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]={{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1} }; const uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS] = {0, 0}; -const uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1]={{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}}}; +uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1]={{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}}}; const uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_16kHz = 0; -const float CRendBin_Combined_HRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]={{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0},{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0}}; +float CRendBin_Combined_HRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]={{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0},{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0}}; #ifdef FIX_1123_CREND_16BIT_ROM const int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_Q_16kHz_fx = 0; const int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_16kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]={{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}; #endif // FIX_1123_CREND_16BIT_ROM -const uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; +uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; const float CRendBin_Combined_HRIR_coeff_re_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][80]={ { { 0x1.3ep+0, 0x1.4338p+0, 0x1.4e58p+0, 0x1.5d9p+0, 0x1.663p+0, 0x1.5c98p+0, 0x1.4a48p+0, 0x1.48p+0, 0x1.535p+0, 0x1.445p+0, 0x1.0a38p+0, 0x1.b05p-1, 0x1.d9p-1, 0x1.3c08p+0, 0x1.8258p+0, 0x1.9e38p+0, 0x1.aebp+0, 0x1.d3cp+0, 0x1.00e8p+1, 0x1.100cp+1, 0x1.15c4p+1, 0x1.13f8p+1, 0x1.05f8p+1, 0x1.d2f8p+0, 0x1.91b8p+0, 0x1.6568p+0, 0x1.573p+0, 0x1.5cp+0, 0x1.692p+0, 0x1.7e4p+0, 0x1.9fbp+0, 0x1.cea8p+0, 0x1.02dcp+1, 0x1.1ca4p+1, 0x1.2ea8p+1, 0x1.3674p+1, 0x1.360cp+1, 0x1.311cp+1, 0x1.29f4p+1, 0x1.20cp+1, 0x1.14dcp+1, 0x1.06acp+1, 0x1.f0fp+0, 0x1.dap+0, 0x1.cacp+0, 0x1.c178p+0, 0x1.bae8p+0, 0x1.b3f8p+0, 0x1.a9dp+0, 0x1.9ad8p+0, 0x1.882p+0, 0x1.749p+0, 0x1.6268p+0, 0x1.527p+0, 0x1.44a8p+0, 0x1.38fp+0, 0x1.2f3p+0, 0x1.2748p+0, 0x1.209p+0, 0x1.1978p+0, 0x1.1078p+0, 0x1.04e8p+0, 0x1.ec7p-1, 0x1.c6p-1, 0x1.935p-1, 0x1.547p-1, 0x1.0dap-1, 0x1.8a4p-2, 0x1.032p-2, 0x1.21cp-3, 0x1.cbp-5, -0x1.3p-8, -0x1.73p-5, -0x1.238p-4, -0x1.638p-4, -0x1.8d8p-4, -0x1.b2p-4, -0x1.d78p-4, -0x1.f98p-4, -0x1.06cp-3}, @@ -1226,11 +1228,11 @@ const int16_t CRendBin_Combined_HRIR_coeff_im_16kHz_fx[HRTF_LS_CHANNELS][BINAURA }; #endif // FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM -const int16_t *CRendBin_Combined_HRIR_coeff_diffuse_re_16kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; -const int16_t *CRendBin_Combined_HRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; +int16_t *CRendBin_Combined_HRIR_coeff_diffuse_re_16kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; +int16_t *CRendBin_Combined_HRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; #endif // FIX_1123_CREND_16BIT_ROM -const float *CRendBin_Combined_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float *CRendBin_Combined_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; +float *CRendBin_Combined_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; +float *CRendBin_Combined_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; @@ -1247,14 +1249,14 @@ const int32_t CRendBin_FOA_HRIR_latency_s_fx = 2;/*Q-31*/ const int16_t CRendBin_FOA_HRIR_max_num_iterations_48kHz = 1; const uint16_t CRendBin_FOA_HRIR_num_iterations_48kHz[FOA_CHANNELS][BINAURAL_CHANNELS]={{1, 1}, {1, 1}, {1, 1}, {1, 1} }; const uint16_t CRendBin_FOA_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS] = {0, 0}; -const uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_48kHz[FOA_CHANNELS][BINAURAL_CHANNELS][1]={{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}}}; +uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_48kHz[FOA_CHANNELS][BINAURAL_CHANNELS][1]={{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}}}; const uint16_t CRendBin_FOA_HRIR_index_frequency_max_diffuse_48kHz = 0; const float CRendBin_FOA_HRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][FOA_CHANNELS]={{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0},{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0}}; #ifdef FIX_1123_CREND_16BIT_ROM const int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_Q_48kHz_fx = 0; const int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_48kHz_fx[BINAURAL_CHANNELS][FOA_CHANNELS]={{0, 0, 0, 0},{0, 0, 0, 0}}; #endif // FIX_1123_CREND_16BIT_ROM -const uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; +uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; const float CRendBin_FOA_HRIR_coeff_re_48kHz[FOA_CHANNELS][BINAURAL_CHANNELS][240]={ { {0x1.eeb8p-1, 0x1.7778p-1, 0x1.7c1p-2, 0x1.c8p-7, -0x1.056p-2, -0x1.b81p-2, -0x1.165p-1, -0x1.3e2p-1, -0x1.51ep-1, -0x1.49b8p-1, -0x1.22d8p-1, -0x1.c52p-2, -0x1.24cp-2, -0x1.df8p-4, 0x1.8b8p-5, 0x1.95ep-3, 0x1.4d5p-2, 0x1.b7bp-2, 0x1.06bp-1, 0x1.28f8p-1, 0x1.42d8p-1, 0x1.53ap-1, 0x1.5bcp-1, 0x1.5d88p-1, 0x1.5b5p-1, 0x1.55ap-1, 0x1.4bap-1, 0x1.3d48p-1, 0x1.2bf8p-1, 0x1.195p-1, 0x1.0618p-1, 0x1.e56p-2, 0x1.bf4p-2, 0x1.9abp-2, 0x1.77ap-2, 0x1.554p-2, 0x1.337p-2, 0x1.12bp-2, 0x1.e76p-3, 0x1.accp-3, 0x1.74p-3, 0x1.3bep-3, 0x1.03cp-3, 0x1.984p-4, 0x1.2ap-4, 0x1.7a8p-5, 0x1.4dp-6, -0x1.3cp-8, -0x1.ep-6, -0x1.b48p-5, -0x1.3a4p-4, -0x1.978p-4, -0x1.f1cp-4, -0x1.248p-3, -0x1.4e4p-3, -0x1.76p-3, -0x1.9bap-3, -0x1.bf4p-3, -0x1.e14p-3, -0x1.00cp-2, -0x1.102p-2, -0x1.1eap-2, -0x1.2c8p-2, -0x1.39bp-2, -0x1.462p-2, -0x1.51bp-2, -0x1.5c9p-2, -0x1.66dp-2, -0x1.70bp-2, -0x1.7a3p-2, -0x1.838p-2, -0x1.8cdp-2, -0x1.962p-2, -0x1.9f8p-2, -0x1.a9p-2, -0x1.b2fp-2, -0x1.bd5p-2, -0x1.c82p-2, -0x1.d38p-2, -0x1.dfap-2, -0x1.ec5p-2, -0x1.f96p-2, -0x1.0358p-1, -0x1.0a2p-1, -0x1.10d8p-1, -0x1.175p-1, -0x1.1d68p-1, -0x1.2328p-1, -0x1.28ap-1, -0x1.2dep-1, -0x1.32ep-1, -0x1.3778p-1, -0x1.3b9p-1, -0x1.3f1p-1, -0x1.421p-1, -0x1.44bp-1, @@ -1398,22 +1400,22 @@ const int16_t CRendBin_FOA_HRIR_coeff_im_48kHz_fx[FOA_CHANNELS][BINAURAL_CHANNEL const int16_t *CRendBin_FOA_HRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; const int16_t *CRendBin_FOA_HRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; #endif // FIX_1123_CREND_16BIT_ROM -const float *CRendBin_FOA_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float *CRendBin_FOA_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; +float *CRendBin_FOA_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; +float *CRendBin_FOA_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; /* Sample Rate = 32000 */ const int16_t CRendBin_FOA_HRIR_max_num_iterations_32kHz = 1; const uint16_t CRendBin_FOA_HRIR_num_iterations_32kHz[FOA_CHANNELS][BINAURAL_CHANNELS]={{1, 1}, {1, 1}, {1, 1}, {1, 1} }; const uint16_t CRendBin_FOA_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS] = {0, 0}; -const uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_32kHz[FOA_CHANNELS][BINAURAL_CHANNELS][1]={{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}}}; +uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_32kHz[FOA_CHANNELS][BINAURAL_CHANNELS][1]={{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}}}; const uint16_t CRendBin_FOA_HRIR_index_frequency_max_diffuse_32kHz = 0; const float CRendBin_FOA_HRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][FOA_CHANNELS]={{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0},{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0}}; #ifdef FIX_1123_CREND_16BIT_ROM const int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_Q_32kHz_fx = 0; const int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_32kHz_fx[BINAURAL_CHANNELS][FOA_CHANNELS]={{0, 0, 0, 0},{0, 0, 0, 0}}; #endif // FIX_1123_CREND_16BIT_ROM -const uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; +uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; const float CRendBin_FOA_HRIR_coeff_re_32kHz[FOA_CHANNELS][BINAURAL_CHANNELS][160]={ { {0x1.ffbp-1, 0x1.8878p-1, 0x1.9e1p-2, 0x1.82p-5, -0x1.c6ep-3, -0x1.962p-2, -0x1.056p-1, -0x1.2d4p-1, -0x1.4108p-1, -0x1.38e8p-1, -0x1.1208p-1, -0x1.a36p-2, -0x1.02ep-2, -0x1.578p-4, 0x1.4e8p-4, 0x1.da8p-3, 0x1.6fcp-2, 0x1.da2p-2, 0x1.17e8p-1, 0x1.3a28p-1, 0x1.53f8p-1, 0x1.64a8p-1, 0x1.6cbp-1, 0x1.6e6p-1, 0x1.6c1p-1, 0x1.664p-1, 0x1.5c28p-1, 0x1.4db8p-1, 0x1.3c58p-1, 0x1.2998p-1, 0x1.165p-1, 0x1.02ep-1, 0x1.df9p-2, 0x1.bafp-2, 0x1.97cp-2, 0x1.756p-2, 0x1.538p-2, 0x1.32bp-2, 0x1.13ap-2, 0x1.ec6p-3, 0x1.b36p-3, 0x1.7bp-3, 0x1.42ap-3, 0x1.0a8p-3, 0x1.a6p-4, 0x1.384p-4, 0x1.9a8p-5, 0x1.94p-6, -0x1p-14, -0x1.8fp-6, -0x1.8ap-5, -0x1.23cp-4, -0x1.7f4p-4, -0x1.d78p-4, -0x1.16p-3, -0x1.3e6p-3, -0x1.648p-3, -0x1.88cp-3, -0x1.ab4p-3, -0x1.ccp-3, -0x1.eb2p-3, -0x1.045p-2, -0x1.126p-2, -0x1.1fdp-2, -0x1.2c8p-2, -0x1.385p-2, -0x1.436p-2, -0x1.4dfp-2, -0x1.582p-2, -0x1.61ep-2, -0x1.6b8p-2, -0x1.752p-2, -0x1.7edp-2, -0x1.889p-2, -0x1.928p-2, -0x1.9cep-2, -0x1.a7bp-2, -0x1.b3p-2, -0x1.beep-2, -0x1.cb9p-2, -0x1.d8cp-2, -0x1.e66p-2, -0x1.f44p-2, -0x1.0128p-1, -0x1.0828p-1, -0x1.0ee8p-1, -0x1.154p-1, -0x1.1b48p-1, -0x1.21p-1, -0x1.268p-1, -0x1.2bcp-1, -0x1.3098p-1, -0x1.34e8p-1, -0x1.38a8p-1, -0x1.3bfp-1, -0x1.3ed8p-1, @@ -1525,22 +1527,22 @@ const int16_t CRendBin_FOA_HRIR_coeff_im_32kHz_fx[FOA_CHANNELS][BINAURAL_CHANNEL const int16_t *CRendBin_FOA_HRIR_coeff_diffuse_re_32kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; const int16_t *CRendBin_FOA_HRIR_coeff_diffuse_im_32kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; #endif // FIX_1123_CREND_16BIT_ROM -const float *CRendBin_FOA_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float *CRendBin_FOA_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; +float *CRendBin_FOA_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; +float *CRendBin_FOA_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; /* Sample Rate = 16000 */ const int16_t CRendBin_FOA_HRIR_max_num_iterations_16kHz = 1; const uint16_t CRendBin_FOA_HRIR_num_iterations_16kHz[FOA_CHANNELS][BINAURAL_CHANNELS]={{1, 1}, {1, 1}, {1, 1}, {1, 1} }; const uint16_t CRendBin_FOA_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS] = {0, 0}; -const uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_16kHz[FOA_CHANNELS][BINAURAL_CHANNELS][1]={{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}}}; +uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_16kHz[FOA_CHANNELS][BINAURAL_CHANNELS][1]={{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}}}; const uint16_t CRendBin_FOA_HRIR_index_frequency_max_diffuse_16kHz = 0; const float CRendBin_FOA_HRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][FOA_CHANNELS]={{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0},{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0}}; #ifdef FIX_1123_CREND_16BIT_ROM const int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_Q_16kHz_fx = 0; const int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_16kHz_fx[BINAURAL_CHANNELS][FOA_CHANNELS]={{0, 0, 0, 0},{0, 0, 0, 0}}; #endif // FIX_1123_CREND_16BIT_ROM -const uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; +uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; const float CRendBin_FOA_HRIR_coeff_re_16kHz[FOA_CHANNELS][BINAURAL_CHANNELS][80]={ { { 0x1.0ec8p+0, 0x1.a66p-1, 0x1.d9ep-2, 0x1.af8p-4, -0x1.5p-3, -0x1.5bp-2, -0x1.cffp-2, -0x1.1p-1, -0x1.23fp-1, -0x1.1bfp-1, -0x1.ea7p-2, -0x1.6a3p-2, -0x1.948p-3, -0x1.dep-6, 0x1.158p-3, 0x1.239p-2, 0x1.a55p-2, 0x1.078p-1, 0x1.321p-1, 0x1.5408p-1, 0x1.6d98p-1, 0x1.7ep-1, 0x1.85bp-1, 0x1.86f8p-1, 0x1.8428p-1, 0x1.7dc8p-1, 0x1.731p-1, 0x1.63f8p-1, 0x1.51ep-1, 0x1.3e7p-1, 0x1.2a8p-1, 0x1.166p-1, 0x1.0298p-1, 0x1.df1p-2, 0x1.ba5p-2, 0x1.964p-2, 0x1.727p-2, 0x1.4f9p-2, 0x1.2e4p-2, 0x1.0e6p-2, 0x1.decp-3, 0x1.a1p-3, 0x1.634p-3, 0x1.25cp-3, 0x1.d18p-4, 0x1.594p-4, 0x1.c6p-5, 0x1.bdp-6, -0x1.4p-11, -0x1.cdp-6, -0x1.c68p-5, -0x1.52p-4, -0x1.bf4p-4, -0x1.156p-3, -0x1.4a2p-3, -0x1.7d8p-3, -0x1.af4p-3, -0x1.df6p-3, -0x1.074p-2, -0x1.1e5p-2, -0x1.35p-2, -0x1.4b9p-2, -0x1.628p-2, -0x1.7a1p-2, -0x1.928p-2, -0x1.ac1p-2, -0x1.c72p-2, -0x1.e41p-2, -0x1.018p-1, -0x1.11e8p-1, -0x1.2328p-1, -0x1.34f8p-1, -0x1.46f8p-1, -0x1.58a8p-1, -0x1.696p-1, -0x1.7898p-1, -0x1.85a8p-1, -0x1.9p-1, -0x1.973p-1, -0x1.9aep-1}, @@ -1620,8 +1622,8 @@ const int16_t CRendBin_FOA_HRIR_coeff_im_16kHz_fx[FOA_CHANNELS][BINAURAL_CHANNEL const int16_t *CRendBin_FOA_HRIR_coeff_diffuse_re_16kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; const int16_t *CRendBin_FOA_HRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; #endif // FIX_1123_CREND_16BIT_ROM -const float *CRendBin_FOA_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float *CRendBin_FOA_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; +float *CRendBin_FOA_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; +float *CRendBin_FOA_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; @@ -1638,14 +1640,14 @@ const int32_t CRendBin_HOA2_HRIR_latency_s_fx = 44741;/*Q-31*/ const int16_t CRendBin_HOA2_HRIR_max_num_iterations_48kHz = 1; const uint16_t CRendBin_HOA2_HRIR_num_iterations_48kHz[HOA2_CHANNELS][BINAURAL_CHANNELS]={{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1} }; const uint16_t CRendBin_HOA2_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS] = {0, 0}; -const uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_48kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][1]={{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}}}; +uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_48kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][1]={{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}}}; const uint16_t CRendBin_HOA2_HRIR_index_frequency_max_diffuse_48kHz = 0; const float CRendBin_HOA2_HRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][HOA2_CHANNELS]={{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0},{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0}}; #ifdef FIX_1123_CREND_16BIT_ROM const int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_Q_48kHz_fx = 0; const int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_48kHz_fx[BINAURAL_CHANNELS][HOA2_CHANNELS]={{0, 0, 0, 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0, 0, 0}}; #endif // FIX_1123_CREND_16BIT_ROM -const uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; +uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; const float CRendBin_HOA2_HRIR_coeff_re_48kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][240]={ { {0x1.e93p-1, 0x1.4578p-1, 0x1.554p-3, -0x1.fd4p-3, -0x1.047p-1, -0x1.409p-1, -0x1.4cfp-1, -0x1.3588p-1, -0x1.f42p-2, -0x1.3bfp-2, -0x1.70cp-4, 0x1.112p-3, 0x1.53ep-2, 0x1.f03p-2, 0x1.29ap-1, 0x1.3f18p-1, 0x1.3d08p-1, 0x1.28cp-1, 0x1.0638p-1, 0x1.b07p-2, 0x1.435p-2, 0x1.9b4p-3, 0x1.634p-4, -0x1.5dp-6, -0x1.f94p-4, -0x1.c46p-3, -0x1.3fp-2, -0x1.8fcp-2, -0x1.d1bp-2, -0x1.02dp-1, -0x1.16dp-1, -0x1.2568p-1, -0x1.2f48p-1, -0x1.358p-1, -0x1.3928p-1, -0x1.3adp-1, -0x1.3ab8p-1, -0x1.3978p-1, -0x1.37a8p-1, -0x1.35ap-1, -0x1.3348p-1, -0x1.305p-1, -0x1.2c7p-1, -0x1.279p-1, -0x1.21b8p-1, -0x1.1bp-1, -0x1.1378p-1, -0x1.0b38p-1, -0x1.024p-1, -0x1.f13p-2, -0x1.dc8p-2, -0x1.c6ap-2, -0x1.bp-2, -0x1.98fp-2, -0x1.81cp-2, -0x1.6aap-2, -0x1.542p-2, -0x1.3e6p-2, -0x1.295p-2, -0x1.14bp-2, -0x1.009p-2, -0x1.d9cp-3, -0x1.b32p-3, -0x1.8cep-3, -0x1.674p-3, -0x1.42ap-3, -0x1.1fp-3, -0x1.f84p-4, -0x1.b4p-4, -0x1.72p-4, -0x1.318p-4, -0x1.e28p-5, -0x1.628p-5, -0x1.c8p-6, -0x1.98p-7, 0x1.a8p-9, 0x1.3bp-6, 0x1.2p-5, 0x1.a4p-5, 0x1.168p-4, 0x1.5dp-4, 0x1.a3cp-4, 0x1.e9p-4, 0x1.16ep-3, 0x1.398p-3, 0x1.5bep-3, 0x1.7cap-3, 0x1.9bcp-3, 0x1.ba2p-3, 0x1.d86p-3, 0x1.f62p-3, 0x1.08dp-2, 0x1.152p-2, 0x1.206p-2, 0x1.2afp-2, 0x1.34dp-2, @@ -1946,8 +1948,8 @@ const int16_t CRendBin_HOA2_HRIR_coeff_im_48kHz_fx[HOA2_CHANNELS][BINAURAL_CHANN }; #endif // FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM -const int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; -const int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; +int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; +int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; #endif // FIX_1123_CREND_16BIT_ROM const float *CRendBin_HOA2_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; const float *CRendBin_HOA2_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; @@ -1957,14 +1959,14 @@ const float *CRendBin_HOA2_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]={NULL, const int16_t CRendBin_HOA2_HRIR_max_num_iterations_32kHz = 1; const uint16_t CRendBin_HOA2_HRIR_num_iterations_32kHz[HOA2_CHANNELS][BINAURAL_CHANNELS]={{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1} }; const uint16_t CRendBin_HOA2_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS] = {0, 0}; -const uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_32kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][1]={{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}}}; +uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_32kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][1]={{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}}}; const uint16_t CRendBin_HOA2_HRIR_index_frequency_max_diffuse_32kHz = 0; const float CRendBin_HOA2_HRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][HOA2_CHANNELS]={{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0},{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0}}; #ifdef FIX_1123_CREND_16BIT_ROM const int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_Q_32kHz_fx = 0; const int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_32kHz_fx[BINAURAL_CHANNELS][HOA2_CHANNELS]={{0, 0, 0, 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0, 0, 0}}; #endif // FIX_1123_CREND_16BIT_ROM -const uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; +uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; const float CRendBin_HOA2_HRIR_coeff_re_32kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][160]={ { {0x1.d098p-1, 0x1.2cd8p-1, 0x1.e5cp-4, -0x1.2ffp-2, -0x1.1d2p-1, -0x1.595p-1, -0x1.65c8p-1, -0x1.4e6p-1, -0x1.12fp-1, -0x1.6d9p-2, -0x1.1b6p-3, 0x1.5d8p-4, 0x1.22fp-2, 0x1.bf7p-2, 0x1.1158p-1, 0x1.26ep-1, 0x1.24d8p-1, 0x1.109p-1, 0x1.dc1p-2, 0x1.801p-2, 0x1.12fp-2, 0x1.3aap-3, 0x1.44p-5, -0x1.18p-4, -0x1.5cep-3, -0x1.122p-2, -0x1.6ecp-2, -0x1.bf5p-2, -0x1.0088p-1, -0x1.1a68p-1, -0x1.2e5p-1, -0x1.3cd8p-1, -0x1.46ap-1, -0x1.4cc8p-1, -0x1.5068p-1, -0x1.51f8p-1, -0x1.51ep-1, -0x1.509p-1, -0x1.4eb8p-1, -0x1.4cap-1, -0x1.4a38p-1, -0x1.473p-1, -0x1.434p-1, -0x1.3e48p-1, -0x1.385p-1, -0x1.3178p-1, -0x1.29c8p-1, -0x1.2158p-1, -0x1.1838p-1, -0x1.0e6p-1, -0x1.03dp-1, -0x1.f16p-2, -0x1.da5p-2, -0x1.c2dp-2, -0x1.ab3p-2, -0x1.93bp-2, -0x1.7ccp-2, -0x1.66ap-2, -0x1.513p-2, -0x1.3c3p-2, -0x1.27bp-2, -0x1.13bp-2, -0x1.001p-2, -0x1.d92p-3, -0x1.b2ep-3, -0x1.8dap-3, -0x1.696p-3, -0x1.45cp-3, -0x1.23p-3, -0x1.012p-3, -0x1.c04p-4, -0x1.7e4p-4, -0x1.3c4p-4, -0x1.f6p-5, -0x1.73p-5, -0x1.dbp-6, -0x1.98p-7, 0x1.1p-8, 0x1.57p-6, 0x1.3a8p-5, 0x1.cd8p-5, 0x1.308p-4, 0x1.78cp-4, 0x1.c08p-4, 0x1.048p-3, 0x1.286p-3, 0x1.4aap-3, 0x1.6b4p-3, 0x1.8bp-3, 0x1.aaep-3, 0x1.cap-3, 0x1.e7p-3, 0x1.008p-2, 0x1.0c7p-2, 0x1.17cp-2, 0x1.227p-2, @@ -2204,14 +2206,14 @@ const float *CRendBin_HOA2_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]={NULL, const int16_t CRendBin_HOA2_HRIR_max_num_iterations_16kHz = 1; const uint16_t CRendBin_HOA2_HRIR_num_iterations_16kHz[HOA2_CHANNELS][BINAURAL_CHANNELS]={{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1} }; const uint16_t CRendBin_HOA2_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS] = {0, 0}; -const uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_16kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][1]={{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}}}; +uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_16kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][1]={{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}}}; const uint16_t CRendBin_HOA2_HRIR_index_frequency_max_diffuse_16kHz = 0; const float CRendBin_HOA2_HRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][HOA2_CHANNELS]={{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0},{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0}}; #ifdef FIX_1123_CREND_16BIT_ROM const int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_Q_16kHz_fx = 0; const int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_16kHz_fx[BINAURAL_CHANNELS][HOA2_CHANNELS]={{0, 0, 0, 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0, 0, 0}}; #endif // FIX_1123_CREND_16BIT_ROM -const uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; +uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; const float CRendBin_HOA2_HRIR_coeff_re_16kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][80]={ { { 0x1.b798p-1, 0x1.13ep-1, 0x1.1ep-4, -0x1.61fp-2, -0x1.3628p-1, -0x1.725p-1, -0x1.7ea8p-1, -0x1.6718p-1, -0x1.2b6p-1, -0x1.9dep-2, -0x1.7acp-3, 0x1.41p-5, 0x1.e82p-3, 0x1.90fp-2, 0x1.f49p-2, 0x1.1018p-1, 0x1.0e6p-1, 0x1.f4fp-2, 0x1.b0bp-2, 0x1.559p-2, 0x1.d28p-3, 0x1.d1cp-4, 0x1.cp-12, -0x1.b5p-4, -0x1.a98p-3, -0x1.377p-2, -0x1.93p-2, -0x1.e25p-2, -0x1.1158p-1, -0x1.2a8p-1, -0x1.3dbp-1, -0x1.4b8p-1, -0x1.549p-1, -0x1.59f8p-1, -0x1.5cc8p-1, -0x1.5d8p-1, -0x1.5c78p-1, -0x1.5a2p-1, -0x1.5728p-1, -0x1.53d8p-1, -0x1.5028p-1, -0x1.4bcp-1, -0x1.466p-1, -0x1.3ffp-1, -0x1.3888p-1, -0x1.3038p-1, -0x1.271p-1, -0x1.1d18p-1, -0x1.126p-1, -0x1.06dp-1, -0x1.f4dp-2, -0x1.da7p-2, -0x1.bedp-2, -0x1.a27p-2, -0x1.856p-2, -0x1.682p-2, -0x1.4b2p-2, -0x1.2ebp-2, -0x1.129p-2, -0x1.ed2p-3, -0x1.b5p-3, -0x1.7c6p-3, -0x1.428p-3, -0x1.06p-3, -0x1.8d4p-4, -0x1.078p-4, -0x1.e5p-6, 0x1.ecp-8, 0x1.808p-5, 0x1.6a4p-4, 0x1.0dap-3, 0x1.68ap-3, 0x1.c42p-3, 0x1.0ebp-2, 0x1.38dp-2, 0x1.5f1p-2, 0x1.7fep-2, 0x1.99ep-2, 0x1.abep-2, 0x1.b5p-2}, @@ -2371,8 +2373,8 @@ const int16_t CRendBin_HOA2_HRIR_coeff_im_16kHz_fx[HOA2_CHANNELS][BINAURAL_CHANN const int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_re_16kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; const int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; #endif // FIX_1123_CREND_16BIT_ROM -const float *CRendBin_HOA2_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float *CRendBin_HOA2_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; +float *CRendBin_HOA2_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; +float *CRendBin_HOA2_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; @@ -2389,14 +2391,14 @@ const int32_t CRendBin_HOA3_HRIR_latency_s_fx = 44741;/*Q-31*/ const int16_t CRendBin_HOA3_HRIR_max_num_iterations_48kHz = 1; const uint16_t CRendBin_HOA3_HRIR_num_iterations_48kHz[HOA3_CHANNELS][BINAURAL_CHANNELS]={{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1} }; const uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS] = {0, 0}; -const uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_48kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][1]={{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}}}; +uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_48kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][1]={{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}}}; const uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_48kHz = 0; const float CRendBin_HOA3_HRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][HOA3_CHANNELS]={{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0},{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0}}; #ifdef FIX_1123_CREND_16BIT_ROM const int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_Q_48kHz_fx = 0; const int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_48kHz_fx[BINAURAL_CHANNELS][HOA3_CHANNELS]={{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}; #endif // FIX_1123_CREND_16BIT_ROM -const uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; +uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; const float CRendBin_HOA3_HRIR_coeff_re_48kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][240]={ { {0x1.f37p-1, 0x1.a5ap-1, 0x1.285p-1, 0x1.3eep-2, 0x1.248p-4, -0x1.e08p-4, -0x1.103p-2, -0x1.a03p-2, -0x1.12ep-1, -0x1.3508p-1, -0x1.235p-1, -0x1.c8cp-2, -0x1.db2p-3, 0x1.938p-4, 0x1.c8cp-2, 0x1.1408p-1, 0x1.c18p-3, -0x1.057p-2, -0x1.98ap-2, -0x1.53p-5, 0x1.e3ap-2, 0x1.63p-1, 0x1.1108p-1, 0x1.c12p-3, -0x1.e38p-5, -0x1.2a4p-2, -0x1.02fp-1, -0x1.5718p-1, -0x1.82f8p-1, -0x1.94e8p-1, -0x1.9e2p-1, -0x1.9d4p-1, -0x1.8e18p-1, -0x1.77a8p-1, -0x1.6178p-1, -0x1.4a48p-1, -0x1.3038p-1, -0x1.1628p-1, -0x1.fc4p-2, -0x1.cd7p-2, -0x1.9ebp-2, -0x1.728p-2, -0x1.48p-2, -0x1.1c7p-2, -0x1.e2ep-3, -0x1.932p-3, -0x1.46cp-3, -0x1.f3cp-4, -0x1.604p-4, -0x1.b3p-5, -0x1.6p-6, 0x1.5p-7, 0x1.4dp-5, 0x1.19cp-4, 0x1.884p-4, 0x1.f3p-4, 0x1.2ap-3, 0x1.55ap-3, 0x1.7f2p-3, 0x1.a66p-3, 0x1.c98p-3, 0x1.eap-3, 0x1.052p-2, 0x1.149p-2, 0x1.227p-2, 0x1.2f8p-2, 0x1.3c9p-2, 0x1.491p-2, 0x1.549p-2, 0x1.5fcp-2, 0x1.6b3p-2, 0x1.766p-2, 0x1.812p-2, 0x1.8bfp-2, 0x1.972p-2, 0x1.a25p-2, 0x1.ad5p-2, 0x1.b87p-2, 0x1.c39p-2, 0x1.cecp-2, 0x1.dap-2, 0x1.e5p-2, 0x1.eefp-2, 0x1.f81p-2, 0x1.0098p-1, 0x1.04f8p-1, 0x1.08a8p-1, 0x1.0bbp-1, 0x1.0e9p-1, 0x1.117p-1, 0x1.13c8p-1, 0x1.1548p-1, 0x1.1628p-1, 0x1.16bp-1, 0x1.1708p-1, 0x1.1738p-1, @@ -2924,8 +2926,8 @@ const int16_t CRendBin_HOA3_HRIR_coeff_im_48kHz_fx[HOA3_CHANNELS][BINAURAL_CHANN const int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; const int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; #endif // FIX_1123_CREND_16BIT_ROM -const float *CRendBin_HOA3_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float *CRendBin_HOA3_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; +float *CRendBin_HOA3_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; +float *CRendBin_HOA3_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; /* Sample Rate = 32000 */ @@ -2939,7 +2941,7 @@ const float CRendBin_HOA3_HRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][HOA3_ const int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_Q_32kHz_fx = 0; const int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_32kHz_fx[BINAURAL_CHANNELS][HOA3_CHANNELS]={{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}; #endif // FIX_1123_CREND_16BIT_ROM -const uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; +uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; const float CRendBin_HOA3_HRIR_coeff_re_32kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][160]={ { {0x1.e1e8p-1, 0x1.9418p-1, 0x1.16c8p-1, 0x1.1bdp-2, 0x1.3p-5, -0x1.36ap-3, -0x1.338p-2, -0x1.c3bp-2, -0x1.24bp-1, -0x1.46fp-1, -0x1.354p-1, -0x1.ec8p-2, -0x1.112p-2, 0x1.07p-4, 0x1.a61p-2, 0x1.02c8p-1, 0x1.7bcp-3, -0x1.28dp-2, -0x1.bc1p-2, -0x1.35p-4, 0x1.c15p-2, 0x1.51f8p-1, 0x1.fffp-2, 0x1.7cap-3, -0x1.7acp-4, -0x1.4c8p-2, -0x1.14p-1, -0x1.681p-1, -0x1.93ep-1, -0x1.a5cp-1, -0x1.aeep-1, -0x1.adf8p-1, -0x1.9ecp-1, -0x1.885p-1, -0x1.721p-1, -0x1.5aep-1, -0x1.40c8p-1, -0x1.26b8p-1, -0x1.0ea8p-1, -0x1.ee6p-2, -0x1.bf9p-2, -0x1.934p-2, -0x1.689p-2, -0x1.3cdp-2, -0x1.119p-2, -0x1.d2ep-3, -0x1.86p-3, -0x1.388p-3, -0x1.dc4p-4, -0x1.544p-4, -0x1.a3p-5, -0x1.38p-6, 0x1.7ep-7, 0x1.48p-5, 0x1.14p-4, 0x1.7fcp-4, 0x1.e1cp-4, 0x1.1dp-3, 0x1.472p-3, 0x1.6ecp-3, 0x1.926p-3, 0x1.b36p-3, 0x1.d4p-3, 0x1.f34p-3, 0x1.07dp-2, 0x1.151p-2, 0x1.226p-2, 0x1.2f3p-2, 0x1.3bp-2, 0x1.467p-2, 0x1.523p-2, 0x1.5dbp-2, 0x1.68dp-2, 0x1.741p-2, 0x1.7fbp-2, 0x1.8b4p-2, 0x1.96dp-2, 0x1.a26p-2, 0x1.aep-2, 0x1.b9cp-2, 0x1.c59p-2, 0x1.d11p-2, 0x1.db8p-2, 0x1.e53p-2, 0x1.eeep-2, 0x1.f82p-2, 0x1.0008p-1, 0x1.0358p-1, 0x1.068p-1, 0x1.0998p-1, 0x1.0c38p-1, 0x1.0ep-1, 0x1.0f18p-1, 0x1.0fep-1, 0x1.108p-1, 0x1.10f8p-1, @@ -3339,22 +3341,22 @@ const int16_t CRendBin_HOA3_HRIR_coeff_im_32kHz_fx[HOA3_CHANNELS][BINAURAL_CHANN const int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_re_32kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; const int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_im_32kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; #endif // FIX_1123_CREND_16BIT_ROM -const float *CRendBin_HOA3_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float *CRendBin_HOA3_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; +float *CRendBin_HOA3_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; +float *CRendBin_HOA3_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; /* Sample Rate = 16000 */ const int16_t CRendBin_HOA3_HRIR_max_num_iterations_16kHz = 1; const uint16_t CRendBin_HOA3_HRIR_num_iterations_16kHz[HOA3_CHANNELS][BINAURAL_CHANNELS]={{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1} }; const uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS] = {0, 0}; -const uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_16kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][1]={{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}}}; +uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_16kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][1]={{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}}}; const uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_16kHz = 0; const float CRendBin_HOA3_HRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][HOA3_CHANNELS]={{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0},{0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0}}; #ifdef FIX_1123_CREND_16BIT_ROM const int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_Q_16kHz_fx = 0; const int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_16kHz_fx[BINAURAL_CHANNELS][HOA3_CHANNELS]={{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}; #endif // FIX_1123_CREND_16BIT_ROM -const uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; +uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; const float CRendBin_HOA3_HRIR_coeff_re_16kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][80]={ { { 0x1.c8d8p-1, 0x1.7b1p-1, 0x1.fb9p-2, 0x1.d3ap-3, -0x1.8p-7, -0x1.9a8p-3, -0x1.656p-2, -0x1.f56p-2, -0x1.3d68p-1, -0x1.5f6p-1, -0x1.4d6p-1, -0x1.0e1p-1, -0x1.404p-2, 0x1.2ep-6, 0x1.774p-2, 0x1.d73p-2, 0x1.20ep-3, -0x1.554p-2, -0x1.e7dp-2, -0x1.e3p-4, 0x1.965p-2, 0x1.3cfp-1, 0x1.d6cp-2, 0x1.2b8p-3, -0x1.0d4p-3, -0x1.738p-2, -0x1.2708p-1, -0x1.7a9p-1, -0x1.a5cp-1, -0x1.b6e8p-1, -0x1.bf68p-1, -0x1.bdep-1, -0x1.ae08p-1, -0x1.96e8p-1, -0x1.8p-1, -0x1.681p-1, -0x1.4d2p-1, -0x1.3218p-1, -0x1.19p-1, -0x1.0068p-1, -0x1.cf9p-2, -0x1.a0dp-2, -0x1.73bp-2, -0x1.458p-2, -0x1.17cp-2, -0x1.da6p-3, -0x1.888p-3, -0x1.35ep-3, -0x1.cbcp-4, -0x1.38p-4, -0x1.4f8p-5, -0x1.5cp-8, 0x1.e1p-6, 0x1.fcp-5, 0x1.81p-4, 0x1.006p-3, 0x1.3bep-3, 0x1.72ep-3, 0x1.a86p-3, 0x1.dc2p-3, 0x1.066p-2, 0x1.1ep-2, 0x1.366p-2, 0x1.4f4p-2, 0x1.682p-2, 0x1.81ep-2, 0x1.9dcp-2, 0x1.bb3p-2, 0x1.d9dp-2, 0x1.fa3p-2, 0x1.0e3p-1, 0x1.1fbp-1, 0x1.313p-1, 0x1.427p-1, 0x1.52ep-1, 0x1.61cp-1, 0x1.6e88p-1, 0x1.78c8p-1, 0x1.7ffp-1, 0x1.8388p-1}, @@ -3626,14 +3628,16 @@ const int16_t CRendBin_HOA3_HRIR_coeff_im_16kHz_fx[HOA3_CHANNELS][BINAURAL_CHANN const int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; const int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS]={NULL,NULL}; #endif // FIX_1123_CREND_16BIT_ROM -const float *CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float *CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; +float *CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; +float *CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; /********************** CRendBin_Combined_BRIR **********************/ +#ifndef FIX_1123_CREND_16BIT_ROM const float CRendBin_Combined_BRIR_latency_s = 0x1.31d64p-13; +#endif #ifdef FIX_1123_CREND_16BIT_ROM const int16_t CRendBin_Combined_BRIR_latency_s_Q_fx = 31; const int32_t CRendBin_Combined_BRIR_latency_s_fx = 313177;/*Q-31*/ @@ -3644,14 +3648,14 @@ const int32_t CRendBin_Combined_BRIR_latency_s_fx = 313177;/*Q-31*/ const int16_t CRendBin_Combined_BRIR_max_num_iterations_48kHz = 22; const uint16_t CRendBin_Combined_BRIR_num_iterations_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]={{22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22} }; const uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS] = {40, 40}; -const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][22]={{{116, 118, 117, 121, 112, 119, 121, 131, 134, 131, 137, 127, 134, 135, 134, 135, 129, 139, 135, 130, 128, 240},{116, 118, 117, 121, 112, 119, 121, 131, 134, 131, 137, 127, 134, 135, 134, 135, 129, 139, 135, 130, 128, 240}},{{122, 106, 121, 114, 121, 123, 119, 126, 123, 126, 127, 130, 128, 136, 132, 131, 129, 141, 137, 131, 129, 240},{122, 106, 121, 114, 121, 123, 119, 126, 123, 126, 127, 130, 128, 136, 132, 131, 129, 141, 137, 131, 129, 240}},{{118, 104, 116, 104, 123, 123, 122, 125, 130, 128, 132, 135, 131, 132, 131, 132, 135, 137, 144, 129, 129, 240},{118, 104, 116, 104, 123, 123, 122, 125, 130, 128, 132, 135, 131, 132, 131, 132, 135, 137, 144, 129, 129, 240}},{{102, 117, 116, 121, 117, 114, 115, 125, 126, 124, 125, 142, 133, 124, 129, 132, 134, 137, 143, 125, 125, 240},{102, 117, 116, 121, 117, 114, 115, 125, 126, 124, 125, 142, 133, 124, 129, 132, 134, 137, 143, 125, 125, 240}},{{116, 115, 117, 120, 121, 119, 125, 129, 123, 129, 124, 127, 128, 143, 133, 131, 136, 141, 158, 127, 131, 240},{116, 115, 117, 120, 121, 119, 125, 129, 123, 129, 124, 127, 128, 143, 133, 131, 136, 141, 158, 127, 131, 240}},{{112, 106, 118, 123, 115, 120, 129, 123, 130, 127, 130, 130, 131, 131, 131, 135, 134, 153, 138, 132, 127, 240},{112, 106, 118, 123, 115, 120, 129, 123, 130, 127, 130, 130, 131, 131, 131, 135, 134, 153, 138, 132, 127, 240}},{{107, 112, 111, 120, 115, 125, 122, 123, 132, 123, 133, 138, 125, 134, 130, 131, 135, 137, 136, 127, 121, 240},{107, 112, 111, 120, 115, 125, 122, 123, 132, 123, 133, 138, 125, 134, 130, 131, 135, 137, 136, 127, 121, 240}},{{111, 113, 132, 115, 121, 123, 121, 127, 135, 128, 129, 128, 133, 130, 133, 138, 134, 137, 152, 138, 124, 240},{111, 113, 132, 115, 121, 123, 121, 127, 135, 128, 129, 128, 133, 130, 133, 138, 134, 137, 152, 138, 124, 240}},{{114, 104, 114, 117, 125, 127, 123, 129, 123, 127, 144, 131, 138, 132, 129, 129, 132, 134, 136, 127, 121, 240},{114, 104, 114, 117, 125, 127, 123, 129, 123, 127, 144, 131, 138, 132, 129, 129, 132, 134, 136, 127, 121, 240}},{{100, 102, 112, 118, 115, 116, 118, 116, 121, 124, 125, 121, 125, 130, 127, 132, 133, 134, 134, 129, 132, 240},{100, 102, 112, 118, 115, 116, 118, 116, 121, 124, 125, 121, 125, 130, 127, 132, 133, 134, 134, 129, 132, 240}},{{106, 93, 103, 108, 124, 111, 114, 115, 120, 121, 119, 123, 131, 130, 132, 132, 132, 131, 140, 129, 131, 240},{106, 93, 103, 108, 124, 111, 114, 115, 120, 121, 119, 123, 131, 130, 132, 132, 132, 131, 140, 129, 131, 240}},{{108, 101, 115, 115, 115, 110, 121, 124, 124, 120, 122, 129, 124, 128, 125, 132, 135, 133, 138, 160, 119, 240},{108, 101, 115, 115, 115, 110, 121, 124, 124, 120, 122, 129, 124, 128, 125, 132, 135, 133, 138, 160, 119, 240}},{{112, 106, 114, 110, 128, 117, 120, 126, 124, 128, 126, 132, 129, 127, 133, 134, 136, 133, 154, 197, 129, 240},{112, 106, 114, 110, 128, 117, 120, 126, 124, 128, 126, 132, 129, 127, 133, 134, 136, 133, 154, 197, 129, 240}},{{102, 107, 111, 116, 116, 120, 118, 115, 120, 119, 128, 131, 131, 130, 128, 126, 126, 132, 145, 136, 133, 240},{102, 107, 111, 116, 116, 120, 118, 115, 120, 119, 128, 131, 131, 130, 128, 126, 126, 132, 145, 136, 133, 240}},{{111, 117, 106, 120, 123, 121, 125, 125, 130, 125, 123, 123, 127, 131, 125, 131, 135, 134, 148, 134, 132, 240},{111, 117, 106, 120, 123, 121, 125, 125, 130, 125, 123, 123, 127, 131, 125, 131, 135, 134, 148, 134, 132, 240}}}; +uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][22]={{{116, 118, 117, 121, 112, 119, 121, 131, 134, 131, 137, 127, 134, 135, 134, 135, 129, 139, 135, 130, 128, 240},{116, 118, 117, 121, 112, 119, 121, 131, 134, 131, 137, 127, 134, 135, 134, 135, 129, 139, 135, 130, 128, 240}},{{122, 106, 121, 114, 121, 123, 119, 126, 123, 126, 127, 130, 128, 136, 132, 131, 129, 141, 137, 131, 129, 240},{122, 106, 121, 114, 121, 123, 119, 126, 123, 126, 127, 130, 128, 136, 132, 131, 129, 141, 137, 131, 129, 240}},{{118, 104, 116, 104, 123, 123, 122, 125, 130, 128, 132, 135, 131, 132, 131, 132, 135, 137, 144, 129, 129, 240},{118, 104, 116, 104, 123, 123, 122, 125, 130, 128, 132, 135, 131, 132, 131, 132, 135, 137, 144, 129, 129, 240}},{{102, 117, 116, 121, 117, 114, 115, 125, 126, 124, 125, 142, 133, 124, 129, 132, 134, 137, 143, 125, 125, 240},{102, 117, 116, 121, 117, 114, 115, 125, 126, 124, 125, 142, 133, 124, 129, 132, 134, 137, 143, 125, 125, 240}},{{116, 115, 117, 120, 121, 119, 125, 129, 123, 129, 124, 127, 128, 143, 133, 131, 136, 141, 158, 127, 131, 240},{116, 115, 117, 120, 121, 119, 125, 129, 123, 129, 124, 127, 128, 143, 133, 131, 136, 141, 158, 127, 131, 240}},{{112, 106, 118, 123, 115, 120, 129, 123, 130, 127, 130, 130, 131, 131, 131, 135, 134, 153, 138, 132, 127, 240},{112, 106, 118, 123, 115, 120, 129, 123, 130, 127, 130, 130, 131, 131, 131, 135, 134, 153, 138, 132, 127, 240}},{{107, 112, 111, 120, 115, 125, 122, 123, 132, 123, 133, 138, 125, 134, 130, 131, 135, 137, 136, 127, 121, 240},{107, 112, 111, 120, 115, 125, 122, 123, 132, 123, 133, 138, 125, 134, 130, 131, 135, 137, 136, 127, 121, 240}},{{111, 113, 132, 115, 121, 123, 121, 127, 135, 128, 129, 128, 133, 130, 133, 138, 134, 137, 152, 138, 124, 240},{111, 113, 132, 115, 121, 123, 121, 127, 135, 128, 129, 128, 133, 130, 133, 138, 134, 137, 152, 138, 124, 240}},{{114, 104, 114, 117, 125, 127, 123, 129, 123, 127, 144, 131, 138, 132, 129, 129, 132, 134, 136, 127, 121, 240},{114, 104, 114, 117, 125, 127, 123, 129, 123, 127, 144, 131, 138, 132, 129, 129, 132, 134, 136, 127, 121, 240}},{{100, 102, 112, 118, 115, 116, 118, 116, 121, 124, 125, 121, 125, 130, 127, 132, 133, 134, 134, 129, 132, 240},{100, 102, 112, 118, 115, 116, 118, 116, 121, 124, 125, 121, 125, 130, 127, 132, 133, 134, 134, 129, 132, 240}},{{106, 93, 103, 108, 124, 111, 114, 115, 120, 121, 119, 123, 131, 130, 132, 132, 132, 131, 140, 129, 131, 240},{106, 93, 103, 108, 124, 111, 114, 115, 120, 121, 119, 123, 131, 130, 132, 132, 132, 131, 140, 129, 131, 240}},{{108, 101, 115, 115, 115, 110, 121, 124, 124, 120, 122, 129, 124, 128, 125, 132, 135, 133, 138, 160, 119, 240},{108, 101, 115, 115, 115, 110, 121, 124, 124, 120, 122, 129, 124, 128, 125, 132, 135, 133, 138, 160, 119, 240}},{{112, 106, 114, 110, 128, 117, 120, 126, 124, 128, 126, 132, 129, 127, 133, 134, 136, 133, 154, 197, 129, 240},{112, 106, 114, 110, 128, 117, 120, 126, 124, 128, 126, 132, 129, 127, 133, 134, 136, 133, 154, 197, 129, 240}},{{102, 107, 111, 116, 116, 120, 118, 115, 120, 119, 128, 131, 131, 130, 128, 126, 126, 132, 145, 136, 133, 240},{102, 107, 111, 116, 116, 120, 118, 115, 120, 119, 128, 131, 131, 130, 128, 126, 126, 132, 145, 136, 133, 240}},{{111, 117, 106, 120, 123, 121, 125, 125, 130, 125, 123, 123, 127, 131, 125, 131, 135, 134, 148, 134, 132, 240},{111, 117, 106, 120, 123, 121, 125, 125, 130, 125, 123, 123, 127, 131, 125, 131, 135, 134, 148, 134, 132, 240}}}; const uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_48kHz = 98; const float CRendBin_Combined_BRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]={{0x1.cb2p-3, 0x1.d1dp-3, 0x1.ef4p-3, 0x1.a84p-3, 0x1.beap-3, 0x1.c89p-3, 0x1.db7p-3, 0x1.fc5p-3, 0x1.fe8p-3, 0x1.0bep-2, 0x1.f86p-3, 0x1.1dep-2, 0x1.249p-2, 0x1.0cd8p-2, 0x1.166p-2},{0x1.cb2p-3, 0x1.d1dp-3, 0x1.ef4p-3, 0x1.a84p-3, 0x1.beap-3, 0x1.c89p-3, 0x1.db7p-3, 0x1.fc5p-3, 0x1.fe8p-3, 0x1.0bep-2, 0x1.f86p-3, 0x1.1dep-2, 0x1.249p-2, 0x1.0cd8p-2, 0x1.166p-2}}; #ifdef FIX_1123_CREND_16BIT_ROM const int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_Q_48kHz_fx = 15; const int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_48kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]={{7346, 7453, 7924, 6788, 7146, 7305, 7607, 8133, 8168, 8572, 8070, 9148, 9362, 8603, 8908},{7346, 7453, 7924, 6788, 7146, 7305, 7607, 8133, 8168, 8572, 8070, 9148, 9362, 8603, 8908}}; #endif // FIX_1123_CREND_16BIT_ROM -const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS][40]={{47, 47, 47, 47, 47, 47, 51, 51, 58, 58, 58, 65, 65, 65, 65, 65, 72, 72, 72, 74, 74, 77, 77, 79, 81, 81, 81, 81, 87, 87, 87, 87, 87, 87, 91, 91, 93, 93, 93, 98},{47, 47, 47, 47, 47, 47, 51, 51, 58, 58, 58, 65, 65, 65, 65, 65, 72, 72, 72, 74, 74, 77, 77, 79, 81, 81, 81, 81, 87, 87, 87, 87, 87, 87, 91, 91, 93, 93, 93, 98}}; +uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS][40]={{47, 47, 47, 47, 47, 47, 51, 51, 58, 58, 58, 65, 65, 65, 65, 65, 72, 72, 72, 74, 74, 77, 77, 79, 81, 81, 81, 81, 87, 87, 87, 87, 87, 87, 91, 91, 93, 93, 93, 98},{47, 47, 47, 47, 47, 47, 51, 51, 58, 58, 58, 65, 65, 65, 65, 65, 72, 72, 72, 74, 74, 77, 77, 79, 81, 81, 81, 81, 87, 87, 87, 87, 87, 87, 91, 91, 93, 93, 93, 98}}; const float CRendBin_Combined_BRIR_coeff_re_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2955]={ { {-0x1.2ap-7, 0x1.32p-7, -0x1.c8p-9, 0x0p+0, 0x1.1ep-7, -0x1.48p-8, 0x1.cp-9, -0x1.4p-11, 0x1.4p-10, -0x1.84p-8, -0x1.98p-7, -0x1.5p-9, 0x1.4p-8, -0x1.ap-9, 0x1.88p-9, 0x1.1cp-8, 0x1.ep-9, -0x1.68p-9, 0x1.1p-9, -0x1.f8p-8, -0x1.7p-10, 0x1p-9, 0x1.ap-9, -0x1p-12, -0x1.8p-13, 0x1p-10, 0x1.fp-10, -0x1.a4p-8, -0x1.6p-8, 0x1.28p-9, 0x1.24p-8, -0x1.2p-9, 0x1.3p-8, 0x1.24p-7, -0x1.88p-7, 0x1.cp-10, -0x1.78p-8, -0x1.f8p-9, 0x1.6p-9, -0x1.8p-10, 0x1.ep-8, -0x1.28p-9, 0x1.bp-8, 0x1.c8p-9, 0x1.1p-10, -0x1.cp-12, 0x1.dp-9, 0x1p-12, -0x1.8p-11, -0x1.e8p-9, 0x1.6p-7, -0x1.e8p-8, -0x1.28p-9, 0x1.fp-9, 0x1.1p-8, -0x1.8p-13, -0x1.ep-9, 0x1.1p-9, -0x1.08p-8, 0x1.14p-8, 0x1.ap-11, 0x1.9p-10, -0x1p-13, -0x1.7p-10, -0x1.6p-10, 0x1.7p-8, -0x1.d6p-7, 0x1.cp-9, -0x1.fp-10, -0x1.1p-7, -0x1.8p-10, 0x1.ccp-8, 0x1.b8p-9, 0x1.2p-8, -0x1.9cp-8, 0x1.4cp-8, -0x1.2p-9, 0x1.a8p-9, 0x1.fp-10, 0x1.48p-9, -0x1.6p-9, 0x1.2p-10, 0x1.e8p-9, -0x1.4p-9, -0x1.7p-8, 0x1.3p-9, -0x1.58p-8, 0x1.1p-10, 0x1.fp-9, 0x1p-14, -0x1.fp-10, -0x1.18p-9, 0x1p-10, 0x1.1p-9, -0x1.ep-11, 0x1.48p-9, @@ -7715,14 +7719,14 @@ const float CRendBin_Combined_BRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS][288 const int16_t CRendBin_Combined_BRIR_max_num_iterations_32kHz = 22; const uint16_t CRendBin_Combined_BRIR_num_iterations_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]={{22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22} }; const uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS] = {40, 40}; -const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][22]={{{115, 117, 117, 120, 112, 118, 121, 130, 126, 130, 136, 127, 133, 135, 132, 133, 129, 136, 134, 129, 128, 160},{115, 117, 117, 120, 112, 118, 121, 130, 126, 130, 136, 127, 133, 135, 132, 133, 129, 136, 134, 129, 128, 160}},{{121, 106, 119, 113, 120, 123, 114, 126, 123, 125, 127, 128, 127, 134, 132, 130, 129, 138, 132, 131, 128, 160},{121, 106, 119, 113, 120, 123, 114, 126, 123, 125, 127, 128, 127, 134, 132, 130, 129, 138, 132, 131, 128, 160}},{{113, 103, 116, 104, 123, 123, 122, 124, 130, 128, 132, 131, 131, 132, 130, 132, 130, 135, 137, 128, 127, 160},{113, 103, 116, 104, 123, 123, 122, 124, 130, 128, 132, 131, 131, 132, 130, 132, 130, 135, 137, 128, 127, 160}},{{102, 116, 116, 121, 116, 114, 115, 121, 125, 122, 124, 130, 132, 122, 127, 131, 131, 135, 133, 124, 124, 160},{102, 116, 116, 121, 116, 114, 115, 121, 125, 122, 124, 130, 132, 122, 127, 131, 131, 135, 133, 124, 124, 160}},{{115, 115, 115, 119, 121, 119, 124, 127, 123, 129, 122, 126, 128, 134, 130, 130, 131, 139, 146, 127, 131, 160},{115, 115, 115, 119, 121, 119, 124, 127, 123, 129, 122, 126, 128, 134, 130, 130, 131, 139, 146, 127, 131, 160}},{{112, 106, 118, 121, 115, 117, 128, 123, 128, 125, 130, 129, 131, 131, 130, 134, 133, 148, 130, 132, 126, 160},{112, 106, 118, 121, 115, 117, 128, 123, 128, 125, 130, 129, 131, 131, 130, 134, 133, 148, 130, 132, 126, 160}},{{107, 112, 110, 119, 114, 124, 121, 121, 132, 122, 131, 134, 123, 133, 130, 129, 134, 134, 135, 127, 120, 160},{107, 112, 110, 119, 114, 124, 121, 121, 132, 122, 131, 134, 123, 133, 130, 129, 134, 134, 135, 127, 120, 160}},{{110, 113, 123, 113, 121, 120, 120, 125, 131, 122, 127, 128, 132, 130, 132, 136, 133, 136, 135, 128, 124, 160},{110, 113, 123, 113, 121, 120, 120, 125, 131, 122, 127, 128, 132, 130, 132, 136, 133, 136, 135, 128, 124, 160}},{{114, 101, 113, 113, 124, 126, 123, 128, 122, 127, 132, 126, 136, 128, 126, 127, 132, 132, 129, 125, 121, 160},{114, 101, 113, 113, 124, 126, 123, 128, 122, 127, 132, 126, 136, 128, 126, 127, 132, 132, 129, 125, 121, 160}},{{99, 100, 111, 117, 114, 113, 118, 116, 121, 123, 124, 121, 125, 130, 127, 132, 132, 129, 133, 128, 131, 160},{99, 100, 111, 117, 114, 113, 118, 116, 121, 123, 124, 121, 125, 130, 127, 132, 132, 129, 133, 128, 131, 160}},{{105, 93, 103, 108, 119, 110, 111, 114, 120, 121, 119, 122, 130, 128, 130, 131, 132, 131, 135, 127, 129, 160},{105, 93, 103, 108, 119, 110, 111, 114, 120, 121, 119, 122, 130, 128, 130, 131, 132, 131, 135, 127, 129, 160}},{{105, 100, 112, 114, 115, 108, 116, 120, 123, 117, 122, 129, 124, 128, 124, 132, 135, 131, 138, 154, 116, 160},{105, 100, 112, 114, 115, 108, 116, 120, 123, 117, 122, 129, 124, 128, 124, 132, 135, 131, 138, 154, 116, 160}},{{110, 106, 113, 110, 122, 116, 118, 125, 123, 127, 125, 127, 128, 127, 133, 129, 132, 132, 142, 147, 127, 160},{110, 106, 113, 110, 122, 116, 118, 125, 123, 127, 125, 127, 128, 127, 133, 129, 132, 132, 142, 147, 127, 160}},{{102, 107, 110, 112, 115, 117, 117, 115, 120, 118, 127, 130, 130, 129, 126, 126, 125, 130, 141, 134, 126, 160},{102, 107, 110, 112, 115, 117, 117, 115, 120, 118, 127, 130, 130, 129, 126, 126, 125, 130, 141, 134, 126, 160}},{{110, 117, 106, 118, 118, 115, 121, 124, 128, 125, 122, 121, 126, 130, 124, 130, 133, 131, 137, 133, 131, 160},{110, 117, 106, 118, 118, 115, 121, 124, 128, 125, 122, 121, 126, 130, 124, 130, 133, 131, 137, 133, 131, 160}}}; +uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][22]={{{115, 117, 117, 120, 112, 118, 121, 130, 126, 130, 136, 127, 133, 135, 132, 133, 129, 136, 134, 129, 128, 160},{115, 117, 117, 120, 112, 118, 121, 130, 126, 130, 136, 127, 133, 135, 132, 133, 129, 136, 134, 129, 128, 160}},{{121, 106, 119, 113, 120, 123, 114, 126, 123, 125, 127, 128, 127, 134, 132, 130, 129, 138, 132, 131, 128, 160},{121, 106, 119, 113, 120, 123, 114, 126, 123, 125, 127, 128, 127, 134, 132, 130, 129, 138, 132, 131, 128, 160}},{{113, 103, 116, 104, 123, 123, 122, 124, 130, 128, 132, 131, 131, 132, 130, 132, 130, 135, 137, 128, 127, 160},{113, 103, 116, 104, 123, 123, 122, 124, 130, 128, 132, 131, 131, 132, 130, 132, 130, 135, 137, 128, 127, 160}},{{102, 116, 116, 121, 116, 114, 115, 121, 125, 122, 124, 130, 132, 122, 127, 131, 131, 135, 133, 124, 124, 160},{102, 116, 116, 121, 116, 114, 115, 121, 125, 122, 124, 130, 132, 122, 127, 131, 131, 135, 133, 124, 124, 160}},{{115, 115, 115, 119, 121, 119, 124, 127, 123, 129, 122, 126, 128, 134, 130, 130, 131, 139, 146, 127, 131, 160},{115, 115, 115, 119, 121, 119, 124, 127, 123, 129, 122, 126, 128, 134, 130, 130, 131, 139, 146, 127, 131, 160}},{{112, 106, 118, 121, 115, 117, 128, 123, 128, 125, 130, 129, 131, 131, 130, 134, 133, 148, 130, 132, 126, 160},{112, 106, 118, 121, 115, 117, 128, 123, 128, 125, 130, 129, 131, 131, 130, 134, 133, 148, 130, 132, 126, 160}},{{107, 112, 110, 119, 114, 124, 121, 121, 132, 122, 131, 134, 123, 133, 130, 129, 134, 134, 135, 127, 120, 160},{107, 112, 110, 119, 114, 124, 121, 121, 132, 122, 131, 134, 123, 133, 130, 129, 134, 134, 135, 127, 120, 160}},{{110, 113, 123, 113, 121, 120, 120, 125, 131, 122, 127, 128, 132, 130, 132, 136, 133, 136, 135, 128, 124, 160},{110, 113, 123, 113, 121, 120, 120, 125, 131, 122, 127, 128, 132, 130, 132, 136, 133, 136, 135, 128, 124, 160}},{{114, 101, 113, 113, 124, 126, 123, 128, 122, 127, 132, 126, 136, 128, 126, 127, 132, 132, 129, 125, 121, 160},{114, 101, 113, 113, 124, 126, 123, 128, 122, 127, 132, 126, 136, 128, 126, 127, 132, 132, 129, 125, 121, 160}},{{99, 100, 111, 117, 114, 113, 118, 116, 121, 123, 124, 121, 125, 130, 127, 132, 132, 129, 133, 128, 131, 160},{99, 100, 111, 117, 114, 113, 118, 116, 121, 123, 124, 121, 125, 130, 127, 132, 132, 129, 133, 128, 131, 160}},{{105, 93, 103, 108, 119, 110, 111, 114, 120, 121, 119, 122, 130, 128, 130, 131, 132, 131, 135, 127, 129, 160},{105, 93, 103, 108, 119, 110, 111, 114, 120, 121, 119, 122, 130, 128, 130, 131, 132, 131, 135, 127, 129, 160}},{{105, 100, 112, 114, 115, 108, 116, 120, 123, 117, 122, 129, 124, 128, 124, 132, 135, 131, 138, 154, 116, 160},{105, 100, 112, 114, 115, 108, 116, 120, 123, 117, 122, 129, 124, 128, 124, 132, 135, 131, 138, 154, 116, 160}},{{110, 106, 113, 110, 122, 116, 118, 125, 123, 127, 125, 127, 128, 127, 133, 129, 132, 132, 142, 147, 127, 160},{110, 106, 113, 110, 122, 116, 118, 125, 123, 127, 125, 127, 128, 127, 133, 129, 132, 132, 142, 147, 127, 160}},{{102, 107, 110, 112, 115, 117, 117, 115, 120, 118, 127, 130, 130, 129, 126, 126, 125, 130, 141, 134, 126, 160},{102, 107, 110, 112, 115, 117, 117, 115, 120, 118, 127, 130, 130, 129, 126, 126, 125, 130, 141, 134, 126, 160}},{{110, 117, 106, 118, 118, 115, 121, 124, 128, 125, 122, 121, 126, 130, 124, 130, 133, 131, 137, 133, 131, 160},{110, 117, 106, 118, 118, 115, 121, 124, 128, 125, 122, 121, 126, 130, 124, 130, 133, 131, 137, 133, 131, 160}}}; const uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_32kHz = 97; const float CRendBin_Combined_BRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]={{0x1.cb2p-3, 0x1.d1dp-3, 0x1.ef4p-3, 0x1.a84p-3, 0x1.becp-3, 0x1.c8ap-3, 0x1.db7p-3, 0x1.fc4p-3, 0x1.fe7p-3, 0x1.0bep-2, 0x1.f88p-3, 0x1.1dd8p-2, 0x1.24a8p-2, 0x1.0cd8p-2, 0x1.1668p-2},{0x1.cb2p-3, 0x1.d1dp-3, 0x1.ef4p-3, 0x1.a84p-3, 0x1.becp-3, 0x1.c8ap-3, 0x1.db7p-3, 0x1.fc4p-3, 0x1.fe7p-3, 0x1.0bep-2, 0x1.f88p-3, 0x1.1dd8p-2, 0x1.24a8p-2, 0x1.0cd8p-2, 0x1.1668p-2}}; #ifdef FIX_1123_CREND_16BIT_ROM const int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_Q_32kHz_fx = 15; const int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_32kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]={{7346, 7453, 7924, 6788, 7148, 7306, 7607, 8132, 8167, 8572, 8072, 9147, 9365, 8603, 8909},{7346, 7453, 7924, 6788, 7148, 7306, 7607, 8132, 8167, 8572, 8072, 9147, 9365, 8603, 8909}}; #endif // FIX_1123_CREND_16BIT_ROM -const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS][40]={{47, 47, 47, 47, 47, 47, 50, 50, 56, 56, 56, 62, 62, 63, 63, 63, 72, 72, 72, 74, 74, 77, 77, 79, 81, 81, 81, 81, 87, 87, 87, 87, 87, 87, 93, 93, 93, 93, 93, 97},{47, 47, 47, 47, 47, 47, 50, 50, 56, 56, 56, 62, 62, 63, 63, 63, 72, 72, 72, 74, 74, 77, 77, 79, 81, 81, 81, 81, 87, 87, 87, 87, 87, 87, 93, 93, 93, 93, 93, 97}}; +uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS][40]={{47, 47, 47, 47, 47, 47, 50, 50, 56, 56, 56, 62, 62, 63, 63, 63, 72, 72, 72, 74, 74, 77, 77, 79, 81, 81, 81, 81, 87, 87, 87, 87, 87, 87, 93, 93, 93, 93, 93, 97},{47, 47, 47, 47, 47, 47, 50, 50, 56, 56, 56, 62, 62, 63, 63, 63, 72, 72, 72, 74, 74, 77, 77, 79, 81, 81, 81, 81, 87, 87, 87, 87, 87, 87, 93, 93, 93, 93, 93, 97}}; const float CRendBin_Combined_BRIR_coeff_re_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2818]={ { {-0x1.2ap-7, 0x1.32p-7, -0x1.c8p-9, 0x0p+0, 0x1.1ep-7, -0x1.48p-8, 0x1.cp-9, -0x1.6p-11, 0x1.4p-10, -0x1.88p-8, -0x1.98p-7, -0x1.5p-9, 0x1.4p-8, -0x1.ap-9, 0x1.88p-9, 0x1.1cp-8, 0x1.ep-9, -0x1.68p-9, 0x1.1p-9, -0x1.f8p-8, -0x1.7p-10, 0x1.fp-10, 0x1.ap-9, -0x1p-12, -0x1.8p-13, 0x1p-10, 0x1.fp-10, -0x1.a8p-8, -0x1.6p-8, 0x1.28p-9, 0x1.24p-8, -0x1.28p-9, 0x1.3p-8, 0x1.24p-7, -0x1.88p-7, 0x1.cp-10, -0x1.78p-8, -0x1p-8, 0x1.6p-9, -0x1.8p-10, 0x1.e4p-8, -0x1.28p-9, 0x1.b4p-8, 0x1.c8p-9, 0x1.2p-10, -0x1p-11, 0x1.dp-9, 0x1.8p-13, -0x1.8p-11, -0x1.e8p-9, 0x1.6p-7, -0x1.e8p-8, -0x1.28p-9, 0x1.fp-9, 0x1.1p-8, -0x1.8p-13, -0x1.ep-9, 0x1.1p-9, -0x1.08p-8, 0x1.1p-8, 0x1.ap-11, 0x1.9p-10, -0x1p-14, -0x1.7p-10, -0x1.6p-10, 0x1.6cp-8, -0x1.d6p-7, 0x1.b8p-9, -0x1.ep-10, -0x1.1p-7, -0x1.7p-10, 0x1.ccp-8, 0x1.cp-9, 0x1.1cp-8, -0x1.9cp-8, 0x1.4cp-8, -0x1.2p-9, 0x1.ap-9, 0x1p-9, 0x1.4p-9, -0x1.58p-9, 0x1.1p-10, 0x1.fp-9, -0x1.48p-9, -0x1.7p-8, 0x1.28p-9, -0x1.54p-8, 0x1p-10, 0x1.f8p-9, 0x0p+0, -0x1.fp-10, -0x1.2p-9, 0x1.1p-10, 0x1.08p-9, -0x1.cp-11, 0x1.4p-9, @@ -11626,14 +11630,14 @@ const float CRendBin_Combined_BRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS][286 const int16_t CRendBin_Combined_BRIR_max_num_iterations_16kHz = 23; const uint16_t CRendBin_Combined_BRIR_num_iterations_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]={{23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23} }; const uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS] = {40, 40}; -const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][23]={{{77, 77, 77, 79, 77, 78, 79, 79, 79, 77, 78, 77, 78, 78, 77, 79, 79, 79, 79, 78, 79, 77, 80},{77, 77, 77, 79, 77, 78, 79, 79, 79, 77, 78, 77, 78, 78, 77, 79, 79, 79, 79, 78, 79, 77, 80}},{{78, 77, 78, 78, 79, 79, 78, 78, 79, 79, 77, 79, 78, 79, 76, 79, 78, 78, 76, 79, 79, 78, 80},{78, 77, 78, 78, 79, 79, 78, 78, 79, 79, 77, 79, 78, 79, 76, 79, 78, 78, 76, 79, 79, 78, 80}},{{77, 76, 74, 79, 74, 77, 77, 77, 76, 79, 77, 78, 76, 78, 76, 78, 79, 78, 79, 79, 78, 78, 80},{77, 76, 74, 79, 74, 77, 77, 77, 76, 79, 77, 78, 76, 78, 76, 78, 79, 78, 79, 79, 78, 78, 80}},{{76, 78, 78, 78, 78, 79, 76, 77, 79, 78, 77, 79, 79, 79, 78, 79, 78, 77, 78, 79, 78, 78, 80},{76, 78, 78, 78, 78, 79, 76, 77, 79, 78, 77, 79, 79, 79, 78, 79, 78, 77, 78, 79, 78, 78, 80}},{{78, 77, 77, 76, 79, 77, 79, 78, 76, 78, 78, 78, 79, 79, 78, 78, 79, 78, 78, 79, 78, 77, 80},{78, 77, 77, 76, 79, 77, 79, 78, 76, 78, 78, 78, 79, 79, 78, 78, 79, 78, 78, 79, 78, 77, 80}},{{78, 76, 78, 77, 78, 78, 78, 78, 79, 78, 79, 79, 78, 78, 78, 77, 79, 77, 78, 79, 78, 78, 80},{78, 76, 78, 77, 78, 78, 78, 78, 79, 78, 79, 79, 78, 78, 78, 77, 79, 77, 78, 79, 78, 78, 80}},{{78, 76, 75, 78, 76, 78, 79, 77, 79, 78, 77, 77, 79, 79, 78, 77, 78, 79, 78, 79, 76, 78, 80},{78, 76, 75, 78, 76, 78, 79, 77, 79, 78, 77, 77, 79, 79, 78, 77, 78, 79, 78, 79, 76, 78, 80}},{{78, 76, 78, 77, 75, 77, 77, 79, 79, 79, 78, 79, 78, 79, 79, 78, 78, 79, 79, 79, 79, 76, 80},{78, 76, 78, 77, 75, 77, 77, 79, 79, 79, 78, 79, 78, 79, 79, 78, 78, 79, 79, 79, 79, 76, 80}},{{78, 79, 78, 76, 77, 78, 77, 77, 78, 78, 79, 79, 76, 78, 78, 79, 79, 79, 78, 79, 78, 77, 80},{78, 79, 78, 76, 77, 78, 77, 77, 78, 78, 79, 79, 76, 78, 78, 79, 79, 79, 78, 79, 78, 77, 80}},{{75, 75, 78, 78, 78, 79, 78, 78, 78, 78, 78, 79, 76, 78, 78, 78, 79, 79, 78, 79, 79, 76, 80},{75, 75, 78, 78, 78, 79, 78, 78, 78, 78, 78, 79, 76, 78, 78, 78, 79, 79, 78, 79, 79, 76, 80}},{{76, 76, 77, 76, 79, 79, 76, 79, 76, 77, 79, 77, 79, 77, 78, 75, 78, 79, 78, 79, 78, 79, 80},{76, 76, 77, 76, 79, 79, 76, 79, 76, 77, 79, 77, 79, 77, 78, 75, 78, 79, 78, 79, 78, 79, 80}},{{76, 79, 76, 74, 78, 78, 77, 77, 78, 79, 78, 78, 77, 77, 79, 77, 79, 78, 79, 79, 77, 78, 80},{76, 79, 76, 74, 78, 78, 77, 77, 78, 79, 78, 78, 77, 77, 79, 77, 79, 78, 79, 79, 77, 78, 80}},{{76, 78, 79, 78, 76, 78, 78, 78, 77, 78, 74, 77, 79, 78, 78, 79, 79, 79, 79, 79, 77, 79, 80},{76, 78, 79, 78, 76, 78, 78, 78, 77, 78, 74, 77, 79, 78, 78, 79, 79, 79, 79, 79, 77, 79, 80}},{{75, 78, 78, 76, 78, 77, 78, 78, 77, 78, 78, 79, 79, 79, 75, 77, 79, 79, 79, 76, 79, 77, 80},{75, 78, 78, 76, 78, 77, 78, 78, 77, 78, 78, 79, 79, 79, 75, 77, 79, 79, 79, 76, 79, 77, 80}},{{78, 77, 77, 78, 76, 78, 78, 76, 78, 79, 79, 79, 79, 79, 76, 79, 79, 79, 79, 76, 78, 79, 80},{78, 77, 77, 78, 76, 78, 78, 76, 78, 79, 79, 79, 79, 79, 76, 79, 79, 79, 79, 76, 78, 79, 80}}}; +uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][23]={{{77, 77, 77, 79, 77, 78, 79, 79, 79, 77, 78, 77, 78, 78, 77, 79, 79, 79, 79, 78, 79, 77, 80},{77, 77, 77, 79, 77, 78, 79, 79, 79, 77, 78, 77, 78, 78, 77, 79, 79, 79, 79, 78, 79, 77, 80}},{{78, 77, 78, 78, 79, 79, 78, 78, 79, 79, 77, 79, 78, 79, 76, 79, 78, 78, 76, 79, 79, 78, 80},{78, 77, 78, 78, 79, 79, 78, 78, 79, 79, 77, 79, 78, 79, 76, 79, 78, 78, 76, 79, 79, 78, 80}},{{77, 76, 74, 79, 74, 77, 77, 77, 76, 79, 77, 78, 76, 78, 76, 78, 79, 78, 79, 79, 78, 78, 80},{77, 76, 74, 79, 74, 77, 77, 77, 76, 79, 77, 78, 76, 78, 76, 78, 79, 78, 79, 79, 78, 78, 80}},{{76, 78, 78, 78, 78, 79, 76, 77, 79, 78, 77, 79, 79, 79, 78, 79, 78, 77, 78, 79, 78, 78, 80},{76, 78, 78, 78, 78, 79, 76, 77, 79, 78, 77, 79, 79, 79, 78, 79, 78, 77, 78, 79, 78, 78, 80}},{{78, 77, 77, 76, 79, 77, 79, 78, 76, 78, 78, 78, 79, 79, 78, 78, 79, 78, 78, 79, 78, 77, 80},{78, 77, 77, 76, 79, 77, 79, 78, 76, 78, 78, 78, 79, 79, 78, 78, 79, 78, 78, 79, 78, 77, 80}},{{78, 76, 78, 77, 78, 78, 78, 78, 79, 78, 79, 79, 78, 78, 78, 77, 79, 77, 78, 79, 78, 78, 80},{78, 76, 78, 77, 78, 78, 78, 78, 79, 78, 79, 79, 78, 78, 78, 77, 79, 77, 78, 79, 78, 78, 80}},{{78, 76, 75, 78, 76, 78, 79, 77, 79, 78, 77, 77, 79, 79, 78, 77, 78, 79, 78, 79, 76, 78, 80},{78, 76, 75, 78, 76, 78, 79, 77, 79, 78, 77, 77, 79, 79, 78, 77, 78, 79, 78, 79, 76, 78, 80}},{{78, 76, 78, 77, 75, 77, 77, 79, 79, 79, 78, 79, 78, 79, 79, 78, 78, 79, 79, 79, 79, 76, 80},{78, 76, 78, 77, 75, 77, 77, 79, 79, 79, 78, 79, 78, 79, 79, 78, 78, 79, 79, 79, 79, 76, 80}},{{78, 79, 78, 76, 77, 78, 77, 77, 78, 78, 79, 79, 76, 78, 78, 79, 79, 79, 78, 79, 78, 77, 80},{78, 79, 78, 76, 77, 78, 77, 77, 78, 78, 79, 79, 76, 78, 78, 79, 79, 79, 78, 79, 78, 77, 80}},{{75, 75, 78, 78, 78, 79, 78, 78, 78, 78, 78, 79, 76, 78, 78, 78, 79, 79, 78, 79, 79, 76, 80},{75, 75, 78, 78, 78, 79, 78, 78, 78, 78, 78, 79, 76, 78, 78, 78, 79, 79, 78, 79, 79, 76, 80}},{{76, 76, 77, 76, 79, 79, 76, 79, 76, 77, 79, 77, 79, 77, 78, 75, 78, 79, 78, 79, 78, 79, 80},{76, 76, 77, 76, 79, 79, 76, 79, 76, 77, 79, 77, 79, 77, 78, 75, 78, 79, 78, 79, 78, 79, 80}},{{76, 79, 76, 74, 78, 78, 77, 77, 78, 79, 78, 78, 77, 77, 79, 77, 79, 78, 79, 79, 77, 78, 80},{76, 79, 76, 74, 78, 78, 77, 77, 78, 79, 78, 78, 77, 77, 79, 77, 79, 78, 79, 79, 77, 78, 80}},{{76, 78, 79, 78, 76, 78, 78, 78, 77, 78, 74, 77, 79, 78, 78, 79, 79, 79, 79, 79, 77, 79, 80},{76, 78, 79, 78, 76, 78, 78, 78, 77, 78, 74, 77, 79, 78, 78, 79, 79, 79, 79, 79, 77, 79, 80}},{{75, 78, 78, 76, 78, 77, 78, 78, 77, 78, 78, 79, 79, 79, 75, 77, 79, 79, 79, 76, 79, 77, 80},{75, 78, 78, 76, 78, 77, 78, 78, 77, 78, 78, 79, 79, 79, 75, 77, 79, 79, 79, 76, 79, 77, 80}},{{78, 77, 77, 78, 76, 78, 78, 76, 78, 79, 79, 79, 79, 79, 76, 79, 79, 79, 79, 76, 78, 79, 80},{78, 77, 77, 78, 76, 78, 78, 76, 78, 79, 79, 79, 79, 79, 76, 79, 79, 79, 79, 76, 78, 79, 80}}}; const uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_16kHz = 77; const float CRendBin_Combined_BRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]={{0x1.c86p-3, 0x1.cffp-3, 0x1.fe7p-3, 0x1.ab6p-3, 0x1.c24p-3, 0x1.c19p-3, 0x1.d84p-3, 0x1.fd3p-3, 0x1.015p-2, 0x1.0e38p-2, 0x1.f34p-3, 0x1.1ffp-2, 0x1.2188p-2, 0x1.0bfp-2, 0x1.17f8p-2},{0x1.c86p-3, 0x1.cffp-3, 0x1.fe7p-3, 0x1.ab6p-3, 0x1.c24p-3, 0x1.c19p-3, 0x1.d84p-3, 0x1.fd3p-3, 0x1.015p-2, 0x1.0e38p-2, 0x1.f34p-3, 0x1.1ffp-2, 0x1.2188p-2, 0x1.0bfp-2, 0x1.17f8p-2}}; #ifdef FIX_1123_CREND_16BIT_ROM const int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_Q_16kHz_fx = 15; const int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_16kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]={{7302, 7423, 8167, 6838, 7204, 7193, 7556, 8147, 8234, 8647, 7988, 9214, 9265, 8574, 8959},{7302, 7423, 8167, 6838, 7204, 7193, 7556, 8147, 8234, 8647, 7988, 9214, 9265, 8574, 8959}}; #endif // FIX_1123_CREND_16BIT_ROM -const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS][40]={{46, 46, 46, 46, 46, 46, 46, 49, 49, 53, 53, 53, 54, 54, 59, 59, 59, 65, 65, 65, 65, 65, 65, 65, 65, 71, 71, 71, 71, 72, 73, 73, 73, 73, 73, 73, 73, 73, 73, 77},{46, 46, 46, 46, 46, 46, 46, 49, 49, 53, 53, 53, 54, 54, 59, 59, 59, 65, 65, 65, 65, 65, 65, 65, 65, 71, 71, 71, 71, 72, 73, 73, 73, 73, 73, 73, 73, 73, 73, 77}}; +uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS][40]={{46, 46, 46, 46, 46, 46, 46, 49, 49, 53, 53, 53, 54, 54, 59, 59, 59, 65, 65, 65, 65, 65, 65, 65, 65, 71, 71, 71, 71, 72, 73, 73, 73, 73, 73, 73, 73, 73, 73, 77},{46, 46, 46, 46, 46, 46, 46, 49, 49, 53, 53, 53, 54, 54, 59, 59, 59, 65, 65, 65, 65, 65, 65, 65, 65, 71, 71, 71, 71, 72, 73, 73, 73, 73, 73, 73, 73, 73, 73, 77}}; const float CRendBin_Combined_BRIR_coeff_re_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1799]={ { {0x1.62p-7, 0x1.6p-9, -0x1.14p-8, 0x1.8p-13, -0x1.18p-9, 0x1.6p-9, 0x1.64p-7, -0x1.ep-11, -0x1.d4p-8, -0x1.62p-7, 0x1.3p-10, -0x1.0ap-7, -0x1.3p-9, -0x1.4p-9, 0x1.ep-10, 0x1.78p-8, -0x1.1p-7, -0x1.0cp-8, -0x1.5p-9, 0x1.cp-12, -0x1.44p-8, -0x1.1cp-7, -0x1.b8p-9, -0x1.ep-8, -0x1p-8, 0x1.9p-10, -0x1.8p-12, -0x1.b8p-9, -0x1.6p-11, -0x1p-10, 0x1.ep-11, -0x1.fcp-8, -0x1p-9, 0x1.98p-9, 0x1.b4p-8, 0x1.b8p-9, -0x1p-10, -0x1p-10, 0x1.4p-12, -0x1.e4p-8, -0x1.48p-8, 0x1.ap-10, 0x1p-11, 0x1.fp-10, -0x1p-9, 0x1.ap-10, -0x1.ap-10, 0x1.78p-9, -0x1.9p-10, 0x1.64p-8, 0x1.6cp-8, -0x1.2p-11, -0x1p-13, 0x1.14p-8, 0x1.bp-10, -0x1.8p-12, 0x1.cp-12, -0x1.28p-7, -0x1.7p-8, -0x1.8p-10, 0x1.b8p-9, -0x1.fp-9, -0x1.02p-7, -0x1.4cp-8, -0x1.e8p-9, -0x1.74p-8, 0x1.cp-9, -0x1.52p-7, 0x1.98p-9, 0x1.48p-7, -0x1.5cp-8, -0x1.6p-9, -0x1.3cp-8, 0x1.24p-8, -0x1.fp-10, -0x1.8p-8, 0x1.cp-11, -0x1.2ep-7, 0x1.2ep-7, -0x1.dp-9, -0x1p-13, 0x1.1cp-7, -0x1.5p-8, 0x1.b8p-9, -0x1.ap-11, 0x1.3p-10, -0x1.9p-8, -0x1.9ap-7, -0x1.68p-9, 0x1.3cp-8, -0x1.b8p-9, 0x1.8p-9, 0x1.1p-8, 0x1.d8p-9, -0x1.8p-9, 0x1.1p-9, @@ -14265,7 +14269,7 @@ const float CRendBin_Combined_BRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS][247 /* Sample Rate = 48000 */ -const float defaultHRIR_coherence_48kHz[LR_IAC_LENGTH_NR_FC] = +float defaultHRIR_coherence_48kHz[LR_IAC_LENGTH_NR_FC] = {0x1.fe84p-1, 0x1.e51p-1, 0x1.9934p-1, 0x1.2684p-1, 0x1.5718p-2, 0x1.1b5p-3, 0x1.04p-7, 0x0p+0, 0x0p+0, 0x0p+0, 0x1.15p-7, 0x1.34p-5, 0x1.6c8p-5, 0x1.594p-5, 0x1.57p-5, 0x1.468p-5, 0x1.e18p-6, 0x1.048p-6, 0x1.52p-7, 0x1.cdp-7, 0x1.48p-6, 0x1.918p-6, 0x1.ep-6, 0x1.128p-5, 0x1.11cp-5, 0x1.e58p-6, 0x1.be8p-6, @@ -14296,7 +14300,7 @@ const float defaultHRIR_coherence_48kHz[LR_IAC_LENGTH_NR_FC] = 0x1.82p-8, 0x0p+0, 0x0p+0, 0x1.5cp-8, 0x1.04p-8, 0x0p+0, 0x0p+0, 0x1.cp-9, 0x1.0cp-9, 0x0p+0, 0x0p+0, 0x1.18p-9, 0x1p-12, 0x0p+0}; -const float defaultHRIR_left_avg_power_48kHz[LR_IAC_LENGTH_NR_FC] = +float defaultHRIR_left_avg_power_48kHz[LR_IAC_LENGTH_NR_FC] = {0x1.f648p-1, 0x1.f25cp-1, 0x1.eabcp-1, 0x1.e6b8p-1, 0x1.e7f4p-1, 0x1.e964p-1, 0x1.e6bcp-1, 0x1.e298p-1, 0x1.e33cp-1, 0x1.ea8p-1, 0x1.f33p-1, 0x1.f6d4p-1, 0x1.f45cp-1, 0x1.efbcp-1, 0x1.ec64p-1, 0x1.ea2cp-1, 0x1.e7a8p-1, 0x1.e544p-1, 0x1.e40cp-1, 0x1.e33p-1, 0x1.e09p-1, 0x1.dc24p-1, 0x1.d88cp-1, 0x1.d7a8p-1, 0x1.d824p-1, 0x1.d784p-1, 0x1.d594p-1, @@ -14327,7 +14331,7 @@ const float defaultHRIR_left_avg_power_48kHz[LR_IAC_LENGTH_NR_FC] = 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0}; -const float defaultHRIR_right_avg_power_48kHz[LR_IAC_LENGTH_NR_FC] = +float defaultHRIR_right_avg_power_48kHz[LR_IAC_LENGTH_NR_FC] = {0x1.f648p-1, 0x1.f25cp-1, 0x1.eacp-1, 0x1.e6b8p-1, 0x1.e7f4p-1, 0x1.e964p-1, 0x1.e6bcp-1, 0x1.e298p-1, 0x1.e33cp-1, 0x1.ea8p-1, 0x1.f33p-1, 0x1.f6d4p-1, 0x1.f45cp-1, 0x1.efbcp-1, 0x1.ec64p-1, 0x1.ea2cp-1, 0x1.e7a8p-1, 0x1.e544p-1, 0x1.e40cp-1, 0x1.e32cp-1, 0x1.e09p-1, 0x1.dc24p-1, 0x1.d88cp-1, 0x1.d7a8p-1, 0x1.d824p-1, 0x1.d784p-1, 0x1.d594p-1, diff --git a/lib_rend/ivas_rom_binaural_crend_head.h b/lib_rend/ivas_rom_binaural_crend_head.h index 3e98f6f3a8..43f2ad3f0a 100644 --- a/lib_rend/ivas_rom_binaural_crend_head.h +++ b/lib_rend/ivas_rom_binaural_crend_head.h @@ -51,7 +51,9 @@ /********************** CRendBin_Combined_HRIR **********************/ +#ifndef FIX_1123_CREND_16BIT_ROM extern const float CRendBin_Combined_HRIR_latency_s; +#endif #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_Combined_HRIR_latency_s_Q_fx; extern const int32_t CRendBin_Combined_HRIR_latency_s_fx; @@ -62,81 +64,93 @@ extern const int32_t CRendBin_Combined_HRIR_latency_s_fx; extern const int16_t CRendBin_Combined_HRIR_max_num_iterations_48kHz; extern const uint16_t CRendBin_Combined_HRIR_num_iterations_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]; extern const uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; -extern const uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1]; +extern uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1]; extern const uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_48kHz; -extern const float CRendBin_Combined_HRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; +extern float CRendBin_Combined_HRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_Q_48kHz_fx; extern const int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_48kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; +extern uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; +#ifndef FIX_1123_CREND_16BIT_ROM extern const float CRendBin_Combined_HRIR_coeff_re_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][240]; extern const float CRendBin_Combined_HRIR_coeff_im_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][240]; +#endif #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_Combined_HRIR_coeff_Q_48kHz_fx; #endif extern const int16_t CRendBin_Combined_HRIR_coeff_re_48kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][240]; extern const int16_t CRendBin_Combined_HRIR_coeff_im_48kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][240]; -extern const int16_t *CRendBin_Combined_HRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS]; -extern const int16_t *CRendBin_Combined_HRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS]; +extern int16_t *CRendBin_Combined_HRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS]; +extern int16_t *CRendBin_Combined_HRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM +#ifndef FIX_1123_CREND_16BIT_ROM extern const float *CRendBin_Combined_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; extern const float *CRendBin_Combined_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; +#endif /* Sample Rate = 32000 */ extern const int16_t CRendBin_Combined_HRIR_max_num_iterations_32kHz; extern const uint16_t CRendBin_Combined_HRIR_num_iterations_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]; extern const uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; -extern const uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1]; +extern uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1]; extern const uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_32kHz; -extern const float CRendBin_Combined_HRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; +extern float CRendBin_Combined_HRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_Q_32kHz_fx; extern const int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_32kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; +extern uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; +#ifndef FIX_1123_CREND_16BIT_ROM extern const float CRendBin_Combined_HRIR_coeff_re_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][160]; extern const float CRendBin_Combined_HRIR_coeff_im_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][160]; +#endif #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_Combined_HRIR_coeff_Q_32kHz_fx; #endif extern const int16_t CRendBin_Combined_HRIR_coeff_re_32kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][160]; extern const int16_t CRendBin_Combined_HRIR_coeff_im_32kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][160]; -extern const int16_t *CRendBin_Combined_HRIR_coeff_diffuse_re_32kHz_fx[BINAURAL_CHANNELS]; -extern const int16_t *CRendBin_Combined_HRIR_coeff_diffuse_im_32kHz_fx[BINAURAL_CHANNELS]; +extern int16_t *CRendBin_Combined_HRIR_coeff_diffuse_re_32kHz_fx[BINAURAL_CHANNELS]; +extern int16_t *CRendBin_Combined_HRIR_coeff_diffuse_im_32kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM +#ifndef FIX_1123_CREND_16BIT_ROM extern const float *CRendBin_Combined_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; extern const float *CRendBin_Combined_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; +#endif /* Sample Rate = 16000 */ extern const int16_t CRendBin_Combined_HRIR_max_num_iterations_16kHz; extern const uint16_t CRendBin_Combined_HRIR_num_iterations_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]; extern const uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; -extern const uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1]; +extern uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1]; extern const uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_16kHz; -extern const float CRendBin_Combined_HRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; +extern float CRendBin_Combined_HRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_Q_16kHz_fx; extern const int16_t CRendBin_Combined_HRIR_inv_diffuse_weight_16kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; +extern uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; +#ifndef FIX_1123_CREND_16BIT_ROM extern const float CRendBin_Combined_HRIR_coeff_re_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][80]; extern const float CRendBin_Combined_HRIR_coeff_im_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][80]; +#endif #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_Combined_HRIR_coeff_Q_16kHz_fx; #endif extern const int16_t CRendBin_Combined_HRIR_coeff_re_16kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][80]; extern const int16_t CRendBin_Combined_HRIR_coeff_im_16kHz_fx[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][80]; -extern const int16_t *CRendBin_Combined_HRIR_coeff_diffuse_re_16kHz_fx[BINAURAL_CHANNELS]; -extern const int16_t *CRendBin_Combined_HRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS]; +extern int16_t *CRendBin_Combined_HRIR_coeff_diffuse_re_16kHz_fx[BINAURAL_CHANNELS]; +extern int16_t *CRendBin_Combined_HRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM +#ifndef FIX_1123_CREND_16BIT_ROM extern const float *CRendBin_Combined_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; extern const float *CRendBin_Combined_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; +#endif @@ -153,16 +167,18 @@ extern const int32_t CRendBin_FOA_HRIR_latency_s_fx; extern const int16_t CRendBin_FOA_HRIR_max_num_iterations_48kHz; extern const uint16_t CRendBin_FOA_HRIR_num_iterations_48kHz[FOA_CHANNELS][BINAURAL_CHANNELS]; extern const uint16_t CRendBin_FOA_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; -extern const uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_48kHz[FOA_CHANNELS][BINAURAL_CHANNELS][1]; +extern uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_48kHz[FOA_CHANNELS][BINAURAL_CHANNELS][1]; extern const uint16_t CRendBin_FOA_HRIR_index_frequency_max_diffuse_48kHz; extern const float CRendBin_FOA_HRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][FOA_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_Q_48kHz_fx; extern const int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_48kHz_fx[BINAURAL_CHANNELS][FOA_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; +extern uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; +#ifndef FIX_1123_CREND_16BIT_ROM extern const float CRendBin_FOA_HRIR_coeff_re_48kHz[FOA_CHANNELS][BINAURAL_CHANNELS][240]; extern const float CRendBin_FOA_HRIR_coeff_im_48kHz[FOA_CHANNELS][BINAURAL_CHANNELS][240]; +#endif #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_FOA_HRIR_coeff_Q_48kHz_fx; @@ -172,24 +188,26 @@ extern const int16_t CRendBin_FOA_HRIR_coeff_im_48kHz_fx[FOA_CHANNELS][BINAURAL_ extern const int16_t *CRendBin_FOA_HRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS]; extern const int16_t *CRendBin_FOA_HRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const float *CRendBin_FOA_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; -extern const float *CRendBin_FOA_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; +extern float *CRendBin_FOA_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; +extern float *CRendBin_FOA_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; /* Sample Rate = 32000 */ extern const int16_t CRendBin_FOA_HRIR_max_num_iterations_32kHz; extern const uint16_t CRendBin_FOA_HRIR_num_iterations_32kHz[FOA_CHANNELS][BINAURAL_CHANNELS]; extern const uint16_t CRendBin_FOA_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; -extern const uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_32kHz[FOA_CHANNELS][BINAURAL_CHANNELS][1]; +extern uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_32kHz[FOA_CHANNELS][BINAURAL_CHANNELS][1]; extern const uint16_t CRendBin_FOA_HRIR_index_frequency_max_diffuse_32kHz; extern const float CRendBin_FOA_HRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][FOA_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_Q_32kHz_fx; extern const int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_32kHz_fx[BINAURAL_CHANNELS][FOA_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; +extern uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; +#ifndef FIX_1123_CREND_16BIT_ROM extern const float CRendBin_FOA_HRIR_coeff_re_32kHz[FOA_CHANNELS][BINAURAL_CHANNELS][160]; extern const float CRendBin_FOA_HRIR_coeff_im_32kHz[FOA_CHANNELS][BINAURAL_CHANNELS][160]; +#endif #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_FOA_HRIR_coeff_Q_32kHz_fx; @@ -199,24 +217,27 @@ extern const int16_t CRendBin_FOA_HRIR_coeff_im_32kHz_fx[FOA_CHANNELS][BINAURAL_ extern const int16_t *CRendBin_FOA_HRIR_coeff_diffuse_re_32kHz_fx[BINAURAL_CHANNELS]; extern const int16_t *CRendBin_FOA_HRIR_coeff_diffuse_im_32kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const float *CRendBin_FOA_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; -extern const float *CRendBin_FOA_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; +extern float *CRendBin_FOA_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; +extern float *CRendBin_FOA_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; + /* Sample Rate = 16000 */ extern const int16_t CRendBin_FOA_HRIR_max_num_iterations_16kHz; extern const uint16_t CRendBin_FOA_HRIR_num_iterations_16kHz[FOA_CHANNELS][BINAURAL_CHANNELS]; extern const uint16_t CRendBin_FOA_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; -extern const uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_16kHz[FOA_CHANNELS][BINAURAL_CHANNELS][1]; +extern uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_16kHz[FOA_CHANNELS][BINAURAL_CHANNELS][1]; extern const uint16_t CRendBin_FOA_HRIR_index_frequency_max_diffuse_16kHz; extern const float CRendBin_FOA_HRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][FOA_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_Q_16kHz_fx; extern const int16_t CRendBin_FOA_HRIR_inv_diffuse_weight_16kHz_fx[BINAURAL_CHANNELS][FOA_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; +extern uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; +#ifndef FIX_1123_CREND_16BIT_ROM extern const float CRendBin_FOA_HRIR_coeff_re_16kHz[FOA_CHANNELS][BINAURAL_CHANNELS][80]; extern const float CRendBin_FOA_HRIR_coeff_im_16kHz[FOA_CHANNELS][BINAURAL_CHANNELS][80]; +#endif #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_FOA_HRIR_coeff_Q_16kHz_fx; @@ -226,9 +247,8 @@ extern const int16_t CRendBin_FOA_HRIR_coeff_im_16kHz_fx[FOA_CHANNELS][BINAURAL_ extern const int16_t *CRendBin_FOA_HRIR_coeff_diffuse_re_16kHz_fx[BINAURAL_CHANNELS]; extern const int16_t *CRendBin_FOA_HRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const float *CRendBin_FOA_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; -extern const float *CRendBin_FOA_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; - +extern float *CRendBin_FOA_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; +extern float *CRendBin_FOA_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; /********************** CRendBin_HOA2_HRIR **********************/ @@ -244,16 +264,18 @@ extern const int32_t CRendBin_HOA2_HRIR_latency_s_fx; extern const int16_t CRendBin_HOA2_HRIR_max_num_iterations_48kHz; extern const uint16_t CRendBin_HOA2_HRIR_num_iterations_48kHz[HOA2_CHANNELS][BINAURAL_CHANNELS]; extern const uint16_t CRendBin_HOA2_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; -extern const uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_48kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][1]; +extern uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_48kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][1]; extern const uint16_t CRendBin_HOA2_HRIR_index_frequency_max_diffuse_48kHz; extern const float CRendBin_HOA2_HRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][HOA2_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_Q_48kHz_fx; extern const int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_48kHz_fx[BINAURAL_CHANNELS][HOA2_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; +extern uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; +#ifndef FIX_1123_CREND_16BIT_ROM extern const float CRendBin_HOA2_HRIR_coeff_re_48kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][240]; extern const float CRendBin_HOA2_HRIR_coeff_im_48kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][240]; +#endif #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_HOA2_HRIR_coeff_Q_48kHz_fx; @@ -263,24 +285,26 @@ extern const int16_t CRendBin_HOA2_HRIR_coeff_im_48kHz_fx[HOA2_CHANNELS][BINAURA extern const int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS]; extern const int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const float *CRendBin_HOA2_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; -extern const float *CRendBin_HOA2_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; +extern float *CRendBin_HOA2_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; +extern float *CRendBin_HOA2_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; /* Sample Rate = 32000 */ extern const int16_t CRendBin_HOA2_HRIR_max_num_iterations_32kHz; extern const uint16_t CRendBin_HOA2_HRIR_num_iterations_32kHz[HOA2_CHANNELS][BINAURAL_CHANNELS]; extern const uint16_t CRendBin_HOA2_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; -extern const uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_32kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][1]; +extern uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_32kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][1]; extern const uint16_t CRendBin_HOA2_HRIR_index_frequency_max_diffuse_32kHz; extern const float CRendBin_HOA2_HRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][HOA2_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_Q_32kHz_fx; extern const int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_32kHz_fx[BINAURAL_CHANNELS][HOA2_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; +extern uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; +#ifndef FIX_1123_CREND_16BIT_ROM extern const float CRendBin_HOA2_HRIR_coeff_re_32kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][160]; extern const float CRendBin_HOA2_HRIR_coeff_im_32kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][160]; +#endif #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_HOA2_HRIR_coeff_Q_32kHz_fx; @@ -290,24 +314,26 @@ extern const int16_t CRendBin_HOA2_HRIR_coeff_im_32kHz_fx[HOA2_CHANNELS][BINAURA extern const int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_re_32kHz_fx[BINAURAL_CHANNELS]; extern const int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_im_32kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const float *CRendBin_HOA2_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; -extern const float *CRendBin_HOA2_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; +extern float *CRendBin_HOA2_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; +extern float *CRendBin_HOA2_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; /* Sample Rate = 16000 */ extern const int16_t CRendBin_HOA2_HRIR_max_num_iterations_16kHz; extern const uint16_t CRendBin_HOA2_HRIR_num_iterations_16kHz[HOA2_CHANNELS][BINAURAL_CHANNELS]; extern const uint16_t CRendBin_HOA2_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; -extern const uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_16kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][1]; +extern uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_16kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][1]; extern const uint16_t CRendBin_HOA2_HRIR_index_frequency_max_diffuse_16kHz; extern const float CRendBin_HOA2_HRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][HOA2_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_Q_16kHz_fx; extern const int16_t CRendBin_HOA2_HRIR_inv_diffuse_weight_16kHz_fx[BINAURAL_CHANNELS][HOA2_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; +extern uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; +#ifndef FIX_1123_CREND_16BIT_ROM extern const float CRendBin_HOA2_HRIR_coeff_re_16kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][80]; extern const float CRendBin_HOA2_HRIR_coeff_im_16kHz[HOA2_CHANNELS][BINAURAL_CHANNELS][80]; +#endif #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_HOA2_HRIR_coeff_Q_16kHz_fx; @@ -317,9 +343,8 @@ extern const int16_t CRendBin_HOA2_HRIR_coeff_im_16kHz_fx[HOA2_CHANNELS][BINAURA extern const int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_re_16kHz_fx[BINAURAL_CHANNELS]; extern const int16_t *CRendBin_HOA2_HRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const float *CRendBin_HOA2_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; -extern const float *CRendBin_HOA2_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; - +extern float *CRendBin_HOA2_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; +extern float *CRendBin_HOA2_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; /********************** CRendBin_HOA3_HRIR **********************/ @@ -335,16 +360,18 @@ extern int32_t CRendBin_HOA3_HRIR_latency_s_fx; extern const int16_t CRendBin_HOA3_HRIR_max_num_iterations_48kHz; extern const uint16_t CRendBin_HOA3_HRIR_num_iterations_48kHz[HOA3_CHANNELS][BINAURAL_CHANNELS]; extern const uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; -extern const uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_48kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][1]; +extern uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_48kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][1]; extern const uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_48kHz; extern float CRendBin_HOA3_HRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][HOA3_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_Q_48kHz_fx; extern const int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_48kHz_fx[BINAURAL_CHANNELS][HOA3_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; +extern uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; +#ifndef FIX_1123_CREND_16BIT_ROM extern const float CRendBin_HOA3_HRIR_coeff_re_48kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][240]; extern const float CRendBin_HOA3_HRIR_coeff_im_48kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][240]; +#endif #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_HOA3_HRIR_coeff_Q_48kHz_fx; @@ -354,24 +381,26 @@ extern const int16_t CRendBin_HOA3_HRIR_coeff_im_48kHz_fx[HOA3_CHANNELS][BINAURA extern const int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS]; extern const int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const float *CRendBin_HOA3_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; -extern const float *CRendBin_HOA3_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; +extern float *CRendBin_HOA3_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; +extern float *CRendBin_HOA3_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; /* Sample Rate = 32000 */ extern const int16_t CRendBin_HOA3_HRIR_max_num_iterations_32kHz; extern const uint16_t CRendBin_HOA3_HRIR_num_iterations_32kHz[HOA3_CHANNELS][BINAURAL_CHANNELS]; extern const uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; -extern const uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_32kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][1]; +extern uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_32kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][1]; extern const uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_32kHz; extern const float CRendBin_HOA3_HRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][HOA3_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_Q_32kHz_fx; extern const int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_32kHz_fx[BINAURAL_CHANNELS][HOA3_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; +extern uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; +#ifndef FIX_1123_CREND_16BIT_ROM extern const float CRendBin_HOA3_HRIR_coeff_re_32kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][160]; extern const float CRendBin_HOA3_HRIR_coeff_im_32kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][160]; +#endif #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_HOA3_HRIR_coeff_Q_32kHz_fx; @@ -381,24 +410,26 @@ extern const int16_t CRendBin_HOA3_HRIR_coeff_im_32kHz_fx[HOA3_CHANNELS][BINAURA extern const int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_re_32kHz_fx[BINAURAL_CHANNELS]; extern const int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_im_32kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const float *CRendBin_HOA3_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; -extern const float *CRendBin_HOA3_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; +extern float *CRendBin_HOA3_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; +extern float *CRendBin_HOA3_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; /* Sample Rate = 16000 */ extern const int16_t CRendBin_HOA3_HRIR_max_num_iterations_16kHz; extern const uint16_t CRendBin_HOA3_HRIR_num_iterations_16kHz[HOA3_CHANNELS][BINAURAL_CHANNELS]; extern const uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; -extern const uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_16kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][1]; -extern const uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_16kHz; +extern uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_16kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][1]; +extern uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_16kHz; extern const float CRendBin_HOA3_HRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][HOA3_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_Q_16kHz_fx; extern const int16_t CRendBin_HOA3_HRIR_inv_diffuse_weight_16kHz_fx[BINAURAL_CHANNELS][HOA3_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; +extern uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; +#ifndef FIX_1123_CREND_16BIT_ROM extern const float CRendBin_HOA3_HRIR_coeff_re_16kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][80]; extern const float CRendBin_HOA3_HRIR_coeff_im_16kHz[HOA3_CHANNELS][BINAURAL_CHANNELS][80]; +#endif #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_HOA3_HRIR_coeff_Q_16kHz_fx; @@ -408,14 +439,15 @@ extern const int16_t CRendBin_HOA3_HRIR_coeff_im_16kHz_fx[HOA3_CHANNELS][BINAURA extern const int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz_fx[BINAURAL_CHANNELS]; extern const int16_t *CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const float *CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; -extern const float *CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; - +extern float *CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; +extern float *CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; /********************** CRendBin_Combined_BRIR **********************/ +#ifndef FIX_1123_CREND_16BIT_ROM extern const float CRendBin_Combined_BRIR_latency_s; +#endif #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_Combined_BRIR_latency_s_Q_fx; extern const int32_t CRendBin_Combined_BRIR_latency_s_fx; @@ -426,16 +458,18 @@ extern const int32_t CRendBin_Combined_BRIR_latency_s_fx; extern const int16_t CRendBin_Combined_BRIR_max_num_iterations_48kHz; extern const uint16_t CRendBin_Combined_BRIR_num_iterations_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]; extern const uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; -extern const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][22]; +extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][22]; extern const uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_48kHz; extern const float CRendBin_Combined_BRIR_inv_diffuse_weight_48kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_Q_48kHz_fx; extern const int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_48kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS][40]; +extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS][40]; +#ifndef FIX_1123_CREND_16BIT_ROM extern const float CRendBin_Combined_BRIR_coeff_re_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2955]; extern const float CRendBin_Combined_BRIR_coeff_im_48kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2955]; +#endif #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_Combined_BRIR_coeff_Q_48kHz_fx; @@ -445,24 +479,28 @@ extern const int16_t CRendBin_Combined_BRIR_coeff_im_48kHz_fx[HRTF_LS_CHANNELS][ extern const int16_t CRendBin_Combined_BRIR_coeff_diffuse_re_48kHz_fx[BINAURAL_CHANNELS][2885]; extern const int16_t CRendBin_Combined_BRIR_coeff_diffuse_im_48kHz_fx[BINAURAL_CHANNELS][2885]; #endif // FIX_1123_CREND_16BIT_ROM +#ifndef FIX_1123_CREND_16BIT_ROM extern const float CRendBin_Combined_BRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS][2885]; extern const float CRendBin_Combined_BRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS][2885]; +#endif /* Sample Rate = 32000 */ extern const int16_t CRendBin_Combined_BRIR_max_num_iterations_32kHz; extern const uint16_t CRendBin_Combined_BRIR_num_iterations_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]; extern const uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; -extern const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][22]; +extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][22]; extern const uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_32kHz; extern const float CRendBin_Combined_BRIR_inv_diffuse_weight_32kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_Q_32kHz_fx; extern const int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_32kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS][40]; +extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS][40]; +#ifndef FIX_1123_CREND_16BIT_ROM extern const float CRendBin_Combined_BRIR_coeff_re_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2818]; extern const float CRendBin_Combined_BRIR_coeff_im_32kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][2818]; +#endif #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_Combined_BRIR_coeff_Q_32kHz_fx; @@ -472,24 +510,28 @@ extern const int16_t CRendBin_Combined_BRIR_coeff_im_32kHz_fx[HRTF_LS_CHANNELS][ extern const int16_t CRendBin_Combined_BRIR_coeff_diffuse_re_32kHz_fx[BINAURAL_CHANNELS][2868]; extern const int16_t CRendBin_Combined_BRIR_coeff_diffuse_im_32kHz_fx[BINAURAL_CHANNELS][2868]; #endif // FIX_1123_CREND_16BIT_ROM +#ifndef FIX_1123_CREND_16BIT_ROM extern const float CRendBin_Combined_BRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS][2868]; extern const float CRendBin_Combined_BRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS][2868]; +#endif /* Sample Rate = 16000 */ extern const int16_t CRendBin_Combined_BRIR_max_num_iterations_16kHz; extern const uint16_t CRendBin_Combined_BRIR_num_iterations_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS]; extern const uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; -extern const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][23]; +extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][23]; extern const uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_16kHz; extern const float CRendBin_Combined_BRIR_inv_diffuse_weight_16kHz[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_Q_16kHz_fx; extern const int16_t CRendBin_Combined_BRIR_inv_diffuse_weight_16kHz_fx[BINAURAL_CHANNELS][HRTF_LS_CHANNELS]; #endif // FIX_1123_CREND_16BIT_ROM -extern const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS][40]; +extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS][40]; +#ifndef FIX_1123_CREND_16BIT_ROM extern const float CRendBin_Combined_BRIR_coeff_re_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1799]; extern const float CRendBin_Combined_BRIR_coeff_im_16kHz[HRTF_LS_CHANNELS][BINAURAL_CHANNELS][1799]; +#endif #ifdef FIX_1123_CREND_16BIT_ROM #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t CRendBin_Combined_BRIR_coeff_Q_16kHz_fx; @@ -499,17 +541,19 @@ extern const int16_t CRendBin_Combined_BRIR_coeff_im_16kHz_fx[HRTF_LS_CHANNELS][ extern const int16_t CRendBin_Combined_BRIR_coeff_diffuse_re_16kHz_fx[BINAURAL_CHANNELS][2474]; extern const int16_t CRendBin_Combined_BRIR_coeff_diffuse_im_16kHz_fx[BINAURAL_CHANNELS][2474]; #endif // FIX_1123_CREND_16BIT_ROM +#ifndef FIX_1123_CREND_16BIT_ROM extern const float CRendBin_Combined_BRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS][2474]; extern const float CRendBin_Combined_BRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS][2474]; +#endif /********************** default HRIR reverb rom tables **********************/ /* Sample Rate = 48000 */ -extern const float defaultHRIR_coherence_48kHz[LR_IAC_LENGTH_NR_FC]; -extern const float defaultHRIR_left_avg_power_48kHz[LR_IAC_LENGTH_NR_FC]; -extern const float defaultHRIR_right_avg_power_48kHz[LR_IAC_LENGTH_NR_FC]; +extern float defaultHRIR_coherence_48kHz[LR_IAC_LENGTH_NR_FC]; +extern float defaultHRIR_left_avg_power_48kHz[LR_IAC_LENGTH_NR_FC]; +extern float defaultHRIR_right_avg_power_48kHz[LR_IAC_LENGTH_NR_FC]; #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t defaultHRIR_coherence_48kHz_fx[LR_IAC_LENGTH_NR_FC]; extern const int16_t defaultHRIR_left_avg_power_48kHz_fx[LR_IAC_LENGTH_NR_FC]; @@ -517,9 +561,9 @@ extern const int16_t defaultHRIR_right_avg_power_48kHz_fx[LR_IAC_LENGTH_NR_FC]; #endif /* FIX_1123_CREND_16BIT_ROM */ /* Sample Rate = 32000 */ -extern const float defaultHRIR_coherence_32kHz[LR_IAC_LENGTH_NR_FC]; -extern const float defaultHRIR_left_avg_power_32kHz[LR_IAC_LENGTH_NR_FC]; -extern const float defaultHRIR_right_avg_power_32kHz[LR_IAC_LENGTH_NR_FC]; +extern float defaultHRIR_coherence_32kHz[LR_IAC_LENGTH_NR_FC]; +extern float defaultHRIR_left_avg_power_32kHz[LR_IAC_LENGTH_NR_FC]; +extern float defaultHRIR_right_avg_power_32kHz[LR_IAC_LENGTH_NR_FC]; #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t defaultHRIR_coherence_32kHz_fx[LR_IAC_LENGTH_NR_FC]; extern const int16_t defaultHRIR_left_avg_power_32kHz_fx[LR_IAC_LENGTH_NR_FC]; @@ -527,9 +571,9 @@ extern const int16_t defaultHRIR_right_avg_power_32kHz_fx[LR_IAC_LENGTH_NR_FC]; #endif /* FIX_1123_CREND_16BIT_ROM */ /* Sample Rate = 16000 */ -extern const float defaultHRIR_coherence_16kHz[LR_IAC_LENGTH_NR_FC_16KHZ]; -extern const float defaultHRIR_left_avg_power_16kHz[LR_IAC_LENGTH_NR_FC_16KHZ]; -extern const float defaultHRIR_right_avg_power_16kHz[LR_IAC_LENGTH_NR_FC_16KHZ]; +extern float defaultHRIR_coherence_16kHz[LR_IAC_LENGTH_NR_FC_16KHZ]; +extern float defaultHRIR_left_avg_power_16kHz[LR_IAC_LENGTH_NR_FC_16KHZ]; +extern float defaultHRIR_right_avg_power_16kHz[LR_IAC_LENGTH_NR_FC_16KHZ]; #ifdef FIX_1123_CREND_16BIT_ROM extern const int16_t defaultHRIR_coherence_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ]; extern const int16_t defaultHRIR_left_avg_power_16kHz_fx[LR_IAC_LENGTH_NR_FC_16KHZ]; -- GitLab From bc49baffb1d2c061cd55e21231cc3917871adb66 Mon Sep 17 00:00:00 2001 From: vaclav Date: Mon, 29 Jul 2024 12:42:57 +0200 Subject: [PATCH 8/8] revert some changes --- lib_rend/ivas_crend.c | 20 ++++++++++---------- lib_rend/ivas_hrtf.c | 18 +++++++++--------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lib_rend/ivas_crend.c b/lib_rend/ivas_crend.c index fda54fbab7..0a811f541a 100644 --- a/lib_rend/ivas_crend.c +++ b/lib_rend/ivas_crend.c @@ -753,8 +753,8 @@ static ivas_error ivas_rend_initCrend( { hHrtf->num_iterations_diffuse[j] = CRendBin_HOA3_HRIR_num_iterations_diffuse_32kHz[j]; hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_32kHz[j]; - hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_HOA3_HRIR_coeff_diffuse_re_32kHz[j]; - hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_HOA3_HRIR_coeff_diffuse_im_32kHz[j]; + hHrtf->pOut_to_bin_diffuse_re[j] = CRendBin_HOA3_HRIR_coeff_diffuse_re_32kHz[j]; + hHrtf->pOut_to_bin_diffuse_im[j] = CRendBin_HOA3_HRIR_coeff_diffuse_im_32kHz[j]; } } else if ( output_Fs == 16000 ) @@ -797,8 +797,8 @@ static ivas_error ivas_rend_initCrend( { hHrtf->num_iterations_diffuse[j] = CRendBin_HOA3_HRIR_num_iterations_diffuse_16kHz[j]; hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_16kHz[j]; - hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz[j]; - hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz[j]; + hHrtf->pOut_to_bin_diffuse_re[j] = CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz[j]; + hHrtf->pOut_to_bin_diffuse_im[j] = CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz[j]; } } else @@ -985,8 +985,8 @@ static ivas_error ivas_rend_initCrend( { hHrtf->num_iterations_diffuse[j] = CRendBin_FOA_HRIR_num_iterations_diffuse_48kHz[j]; hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_48kHz[j]; - hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_FOA_HRIR_coeff_diffuse_re_48kHz[j]; - hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_FOA_HRIR_coeff_diffuse_im_48kHz[j]; + hHrtf->pOut_to_bin_diffuse_re[j] = CRendBin_FOA_HRIR_coeff_diffuse_re_48kHz[j]; + hHrtf->pOut_to_bin_diffuse_im[j] = CRendBin_FOA_HRIR_coeff_diffuse_im_48kHz[j]; } } else if ( output_Fs == 32000 ) @@ -1029,8 +1029,8 @@ static ivas_error ivas_rend_initCrend( { hHrtf->num_iterations_diffuse[j] = CRendBin_FOA_HRIR_num_iterations_diffuse_32kHz[j]; hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_32kHz[j]; - hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_FOA_HRIR_coeff_diffuse_re_32kHz[j]; - hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_FOA_HRIR_coeff_diffuse_im_32kHz[j]; + hHrtf->pOut_to_bin_diffuse_re[j] = CRendBin_FOA_HRIR_coeff_diffuse_re_32kHz[j]; + hHrtf->pOut_to_bin_diffuse_im[j] = CRendBin_FOA_HRIR_coeff_diffuse_im_32kHz[j]; } } else if ( output_Fs == 16000 ) @@ -1073,8 +1073,8 @@ static ivas_error ivas_rend_initCrend( { hHrtf->num_iterations_diffuse[j] = CRendBin_FOA_HRIR_num_iterations_diffuse_16kHz[j]; hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_16kHz[j]; - hHrtf->pOut_to_bin_diffuse_re[j] = (float *) CRendBin_FOA_HRIR_coeff_diffuse_re_16kHz[j]; - hHrtf->pOut_to_bin_diffuse_im[j] = (float *) CRendBin_FOA_HRIR_coeff_diffuse_im_16kHz[j]; + hHrtf->pOut_to_bin_diffuse_re[j] = CRendBin_FOA_HRIR_coeff_diffuse_re_16kHz[j]; + hHrtf->pOut_to_bin_diffuse_im[j] = CRendBin_FOA_HRIR_coeff_diffuse_im_16kHz[j]; } } else diff --git a/lib_rend/ivas_hrtf.c b/lib_rend/ivas_hrtf.c index b920ce3248..2eba94957b 100644 --- a/lib_rend/ivas_hrtf.c +++ b/lib_rend/ivas_hrtf.c @@ -282,19 +282,19 @@ ivas_error ivas_HRTF_statistics_init( switch ( sampleRate ) { case 48000: - HrtfStatistics->average_energy_l = (float *) defaultHRIR_left_avg_power_48kHz; - HrtfStatistics->average_energy_r = (float *) defaultHRIR_right_avg_power_48kHz; - HrtfStatistics->inter_aural_coherence = (float *) defaultHRIR_coherence_48kHz; + 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 = (float *) defaultHRIR_left_avg_power_32kHz; - HrtfStatistics->average_energy_r = (float *) defaultHRIR_right_avg_power_32kHz; - HrtfStatistics->inter_aural_coherence = (float *) defaultHRIR_coherence_32kHz; + 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 = (float *) defaultHRIR_left_avg_power_16kHz; - HrtfStatistics->average_energy_r = (float *) defaultHRIR_right_avg_power_16kHz; - HrtfStatistics->inter_aural_coherence = (float *) defaultHRIR_coherence_16kHz; + 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; -- GitLab