Loading lib_dec/ivas_binRenderer_internal.c +25 −12 Original line number Diff line number Diff line Loading @@ -486,8 +486,13 @@ static ivas_error ivas_binRenderer_convModuleOpen( for ( chIdx = 0; chIdx < hBinRenderer->nInChannels; chIdx++ ) { /* set the memories to zero */ #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM set16_zero_fx( hBinRenConvModule->filterStatesLeftReal_fx[bandIdx][chIdx], hBinRenConvModule->numTapsArray[bandIdx] ); set16_zero_fx( hBinRenConvModule->filterStatesLeftImag_fx[bandIdx][chIdx], hBinRenConvModule->numTapsArray[bandIdx] ); #else set_zero_fx( hBinRenConvModule->filterStatesLeftReal_fx[bandIdx][chIdx], hBinRenConvModule->numTapsArray[bandIdx] ); set_zero_fx( hBinRenConvModule->filterStatesLeftImag_fx[bandIdx][chIdx], hBinRenConvModule->numTapsArray[bandIdx] ); #endif } } Loading Loading @@ -669,63 +674,63 @@ static ivas_error ivas_binaural_hrtf_open_fx( test(); IF( EQ_32( input_config, IVAS_AUDIO_CONFIG_BINAURAL ) || EQ_32( renderer_type, RENDERER_BINAURAL_FASTCONV ) ) { #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM HrtfFastConv->FASTCONV_latency_s_fx = FASTCONV_HRIR_latency_s_fx; #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM HrtfFastConv->ntaps = BINAURAL_NTAPS; move16(); move16(); #else HrtfFastConv->FASTCONV_HRIR_latency_s_fx = FASTCONV_HRIR_latency_s_fx; move32(); move16(); #endif } if ( EQ_32( input_config, IVAS_AUDIO_CONFIG_HOA2 ) ) { #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM HrtfFastConv->FASTCONV_latency_s_fx = FASTCONV_HOA2_latency_s_fx; #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM HrtfFastConv->ntaps = BINAURAL_NTAPS_SBA; move16(); move16(); #else HrtfFastConv->FASTCONV_HOA2_latency_s_fx = FASTCONV_HOA2_latency_s_fx; move32(); move16(); #endif } if ( EQ_32( input_config, IVAS_AUDIO_CONFIG_HOA3 ) ) { #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM HrtfFastConv->FASTCONV_latency_s_fx = FASTCONV_HOA3_latency_s_fx; #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM HrtfFastConv->ntaps = BINAURAL_NTAPS_SBA; move16(); move16(); #else HrtfFastConv->FASTCONV_HOA3_latency_s_fx = FASTCONV_HOA3_latency_s_fx; move32(); move16(); #endif } if ( EQ_32( input_config, IVAS_AUDIO_CONFIG_FOA ) ) { #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM HrtfFastConv->FASTCONV_latency_s_fx = FASTCONV_FOA_latency_s_fx; #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM HrtfFastConv->ntaps = BINAURAL_NTAPS_SBA; move16(); move16(); #else HrtfFastConv->FASTCONV_FOA_latency_s_fx = FASTCONV_FOA_latency_s_fx; move32(); move16(); #endif } test(); IF( EQ_32( input_config, IVAS_AUDIO_CONFIG_BINAURAL ) || EQ_32( renderer_type, RENDERER_BINAURAL_FASTCONV_ROOM ) ) { #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM HrtfFastConv->FASTCONV_latency_s_fx = FASTCONV_BRIR_latency_s_fx; #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM HrtfFastConv->ntaps = BINAURAL_NTAPS_MAX; move16(); move16(); #else HrtfFastConv->FASTCONV_BRIR_latency_s_fx = FASTCONV_BRIR_latency_s_fx; move32(); move16(); #endif } Loading Loading @@ -818,8 +823,8 @@ static ivas_error ivas_binaural_hrtf_open_fx( } } #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM mvs2s( fastconvReverberationTimes, HrtfFastConv->fastconvReverberationTimes_fx, CLDFB_NO_CHANNELS_MAX ); mvs2s( fastconvReverberationEneCorrections, HrtfFastConv->fastconvReverberationEneCorrections_fx, CLDFB_NO_CHANNELS_MAX ); mvs2s( fastconvReverberationTimes_fx, HrtfFastConv->fastconvReverberationTimes_fx, CLDFB_NO_CHANNELS_MAX ); mvs2s( fastconvReverberationEneCorrections_fx, HrtfFastConv->fastconvReverberationEneCorrections_fx, CLDFB_NO_CHANNELS_MAX ); #else Copy32( fastconvReverberationTimes_fx, HrtfFastConv->fastconvReverberationTimes_fx, CLDFB_NO_CHANNELS_MAX ); Copy32( fastconvReverberationEneCorrections_fx, HrtfFastConv->fastconvReverberationEneCorrections_fx, CLDFB_NO_CHANNELS_MAX ); Loading Loading @@ -1083,7 +1088,11 @@ ivas_error ivas_binRenderer_open_fx( } hBinRenderer->hoa_dec_mtx = st_ivas->hoa_dec_mtx; #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM st_ivas->binaural_latency_ns = L_shr_r( Mult_32_32( st_ivas->hHrtfFastConv->FASTCONV_latency_s_fx, 1000000000 ), st_ivas->hHrtfFastConv->factor_Q_latency_s_fx ); #else st_ivas->binaural_latency_ns = L_shr_r( Mult_32_32( st_ivas->hHrtfFastConv->FASTCONV_latency_s_fx, 1000000000 ), 31 ); #endif move32(); } ELSE Loading @@ -1094,7 +1103,11 @@ ivas_error ivas_binRenderer_open_fx( return error; } #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM st_ivas->binaural_latency_ns = L_shr_r( Mult_32_32( st_ivas->hHrtfFastConv->FASTCONV_latency_s_fx, 1000000000 ), st_ivas->hHrtfFastConv->factor_Q_latency_s_fx ); #else st_ivas->binaural_latency_ns = L_shr_r( Mult_32_32( st_ivas->hHrtfFastConv->FASTCONV_latency_s_fx, 1000000000 ), 31 ); #endif } /* Allocate memories needed for reverb module */ Loading lib_rend/ivas_rom_binauralRenderer.c +2 −2 Original line number Diff line number Diff line Loading @@ -46946,14 +46946,14 @@ const int16_t rightBRIRImag_fx[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NT }; const int16_t fastconvReverberationTimes_factorQ = 15; const int16_t fastconvReverberationTimes[CLDFB_NO_CHANNELS_MAX] = const int16_t fastconvReverberationTimes_fx[CLDFB_NO_CHANNELS_MAX] = { 13725, 6792, 6652, 6788, 7095, 7735, 7554, 7509, 7471, 7205, 7392, 7237, 7330, 7306, 7327, 7449, 7454, 7331, 7214, 7168, 7223, 7152, 6988, 6892, 6797, 6513, 6431, 6387, 6237, 6046, 5909, 5773, 5784, 5819, 6016, 6420, 6660, 6829, 7034, 7209, 7305, 7550, 7665, 7656, 7744, 7780, 7918, 7901, 7827, 7942, 8102, 8059, 8133, 8041, 7994, 7999, 7828, 7950, 7695, 8292, }; const int16_t fastconvReverberationEneCorrections_factorQ = 15; const int16_t fastconvReverberationEneCorrections[CLDFB_NO_CHANNELS_MAX] = const int16_t fastconvReverberationEneCorrections_fx[CLDFB_NO_CHANNELS_MAX] = { 19, 7, 8, 7, 8, 50, 38, 36, 41, 43, 76, 80, 88, 89, 86, 84, 90, 89, 85, 83, 112, 58, 32, 23, 20, 18, 17, 19, 20, 18, 41, 40, 31, 20, 9, 3, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; lib_rend/ivas_rom_binauralRenderer.h +2 −2 Original line number Diff line number Diff line Loading @@ -84,9 +84,9 @@ extern Word16 rightBRIRImag_fx[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NT /* Reverberation parameters based on BRIRs for fastconv */ extern const Word16 fastconvReverberationTimes_Q; extern const Word16 fastconvReverberationTimes[CLDFB_NO_CHANNELS_MAX]; extern const Word16 fastconvReverberationTimes_fx[CLDFB_NO_CHANNELS_MAX]; extern const Word16 fastconvReverberationEneCorrections_Q; extern const Word16 fastconvReverberationEneCorrections[CLDFB_NO_CHANNELS_MAX]; extern const Word16 fastconvReverberationEneCorrections_fx[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 Loading lib_rend/ivas_stat_rend.h +2 −2 Original line number Diff line number Diff line Loading @@ -1526,16 +1526,16 @@ typedef struct ivas_hrtfs_fastconv_struct Word16 ***leftImag_fx; Word16 ***rightReal_fx; Word16 ***rightImag_fx; int16_t n_channels; #else Word32 FASTCONV_latency_s_fx; Word32 ***leftReal_fx; Word32 ***leftImag_fx; Word32 ***rightReal_fx; Word32 ***righImag_fx; Word32 ***rightImag_fx; #endif int16_t n_channels; uint16_t ntaps; Word16 allocate_init_flag; /*Memory allocation flag 0: if the hrtf pointers are allocated at application level , 1: of allocated at ivas_binaural_hrtf_open() */ Loading lib_util/hrtf_file_reader.c +20 −0 Original line number Diff line number Diff line Loading @@ -1242,7 +1242,9 @@ static ivas_error create_fastconv_HRTF_from_rawdata( int16_t *ptW16; uint16_t ntaps; uint16_t nbchan; #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM int16_t lat_q; #endif int32_t latency_s; if ( hrtf_data == NULL ) Loading @@ -1255,7 +1257,9 @@ static ivas_error create_fastconv_HRTF_from_rawdata( hrtf_data_rptr = hrtf_data; /* latency_s Q factor*/ #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM lat_q = *( (Word16 *) ( hrtf_data_rptr ) ); #endif hrtf_data_rptr += sizeof( Word16 ); /* latency_s */ Loading @@ -1276,7 +1280,9 @@ static ivas_error create_fastconv_HRTF_from_rawdata( ( *hHRTF )->ntaps = ntaps; ( *hHRTF )->FASTCONV_latency_s_fx = latency_s; #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM ( *hHRTF )->factor_Q_latency_s_fx = lat_q; #endif ( *hHRTF )->n_channels = nbchan; if ( rend_type == HRTF_READER_RENDERER_BINAURAL_FASTCONV && input_cfg == BINAURAL_INPUT_AUDIO_CONFIG_COMBINED ) Loading Loading @@ -1339,7 +1345,9 @@ static ivas_error create_fastconv_HRTF_from_rawdata( } /* HRIR/BRIR Q factor*/ #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM ( *hHRTF )->factor_Q_filters_fx = *( (Word16 *) ( hrtf_data_rptr ) ); #endif hrtf_data_rptr += sizeof( Word16 ); for ( i = 0; i < BINAURAL_CONVBANDS; i++ ) Loading Loading @@ -1403,7 +1411,9 @@ static ivas_error create_fastconv_HRTF_from_rawdata( hrtf_data_rptr += sizeof( uint16_t ); /* fastconvReverberationTimes Q factor*/ #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM ( *hHRTF )->factor_Q_ReverberationTimes_fx = *( (Word16 *) ( hrtf_data_rptr ) ); #endif hrtf_data_rptr += sizeof( Word16 ); ptW16 = (int16_t *) hrtf_data_rptr; Loading @@ -1414,7 +1424,9 @@ static ivas_error create_fastconv_HRTF_from_rawdata( hrtf_data_rptr += CLDFB_NO_CHANNELS_MAX * sizeof( int16_t ); /* fastconvReverberationEneCorrections Q factor */ #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM ( *hHRTF )->factor_Q_ReverberationEneCorrections_fx = *( (Word16 *) ( hrtf_data_rptr ) ); #endif hrtf_data_rptr += sizeof( Word16 ); ptW16 = (int16_t *) hrtf_data_rptr; Loading Loading @@ -1468,7 +1480,9 @@ static ivas_error create_parambin_HRTF_from_rawdata( /* HRTF */ /* Q factor*/ #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM ( *hHRTF )->factor_Q_hrtfShCoeffs_fx = *( (Word16 *) ( hrtf_data_rptr ) ); #endif hrtf_data_rptr += sizeof( Word16 ); data_size_tmp = HRTF_NUM_BINS * sizeof( int16_t ); Loading Loading @@ -1505,7 +1519,9 @@ static ivas_error create_parambin_HRTF_from_rawdata( hrtf_data_rptr += sizeof( uint16_t ); /* Q factor*/ #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM ( *hHRTF )->factor_Q_reverberationTimes_fx = *( (Word16 *) ( hrtf_data_rptr ) ); #endif hrtf_data_rptr += sizeof( Word16 ); ptW16 = (int16_t *) hrtf_data_rptr; Loading @@ -1516,7 +1532,9 @@ static ivas_error create_parambin_HRTF_from_rawdata( hrtf_data_rptr += CLDFB_NO_CHANNELS_MAX * sizeof( int16_t ); /* Q factor*/ #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM ( *hHRTF )->factor_Q_reverberationEneCorrections_fx = *( (Word16 *) ( hrtf_data_rptr ) ); #endif hrtf_data_rptr += sizeof( Word16 ); ptW16 = (int16_t *) hrtf_data_rptr; Loading @@ -1527,7 +1545,9 @@ static ivas_error create_parambin_HRTF_from_rawdata( hrtf_data_rptr += CLDFB_NO_CHANNELS_MAX * sizeof( int16_t ); /* Q factor*/ #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM ( *hHRTF )->factor_Q_EarlyPartEneCorrection_fx = *( (Word16 *) ( hrtf_data_rptr ) ); #endif hrtf_data_rptr += sizeof( Word16 ); ptW16 = (int16_t *) hrtf_data_rptr; Loading Loading
lib_dec/ivas_binRenderer_internal.c +25 −12 Original line number Diff line number Diff line Loading @@ -486,8 +486,13 @@ static ivas_error ivas_binRenderer_convModuleOpen( for ( chIdx = 0; chIdx < hBinRenderer->nInChannels; chIdx++ ) { /* set the memories to zero */ #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM set16_zero_fx( hBinRenConvModule->filterStatesLeftReal_fx[bandIdx][chIdx], hBinRenConvModule->numTapsArray[bandIdx] ); set16_zero_fx( hBinRenConvModule->filterStatesLeftImag_fx[bandIdx][chIdx], hBinRenConvModule->numTapsArray[bandIdx] ); #else set_zero_fx( hBinRenConvModule->filterStatesLeftReal_fx[bandIdx][chIdx], hBinRenConvModule->numTapsArray[bandIdx] ); set_zero_fx( hBinRenConvModule->filterStatesLeftImag_fx[bandIdx][chIdx], hBinRenConvModule->numTapsArray[bandIdx] ); #endif } } Loading Loading @@ -669,63 +674,63 @@ static ivas_error ivas_binaural_hrtf_open_fx( test(); IF( EQ_32( input_config, IVAS_AUDIO_CONFIG_BINAURAL ) || EQ_32( renderer_type, RENDERER_BINAURAL_FASTCONV ) ) { #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM HrtfFastConv->FASTCONV_latency_s_fx = FASTCONV_HRIR_latency_s_fx; #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM HrtfFastConv->ntaps = BINAURAL_NTAPS; move16(); move16(); #else HrtfFastConv->FASTCONV_HRIR_latency_s_fx = FASTCONV_HRIR_latency_s_fx; move32(); move16(); #endif } if ( EQ_32( input_config, IVAS_AUDIO_CONFIG_HOA2 ) ) { #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM HrtfFastConv->FASTCONV_latency_s_fx = FASTCONV_HOA2_latency_s_fx; #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM HrtfFastConv->ntaps = BINAURAL_NTAPS_SBA; move16(); move16(); #else HrtfFastConv->FASTCONV_HOA2_latency_s_fx = FASTCONV_HOA2_latency_s_fx; move32(); move16(); #endif } if ( EQ_32( input_config, IVAS_AUDIO_CONFIG_HOA3 ) ) { #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM HrtfFastConv->FASTCONV_latency_s_fx = FASTCONV_HOA3_latency_s_fx; #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM HrtfFastConv->ntaps = BINAURAL_NTAPS_SBA; move16(); move16(); #else HrtfFastConv->FASTCONV_HOA3_latency_s_fx = FASTCONV_HOA3_latency_s_fx; move32(); move16(); #endif } if ( EQ_32( input_config, IVAS_AUDIO_CONFIG_FOA ) ) { #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM HrtfFastConv->FASTCONV_latency_s_fx = FASTCONV_FOA_latency_s_fx; #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM HrtfFastConv->ntaps = BINAURAL_NTAPS_SBA; move16(); move16(); #else HrtfFastConv->FASTCONV_FOA_latency_s_fx = FASTCONV_FOA_latency_s_fx; move32(); move16(); #endif } test(); IF( EQ_32( input_config, IVAS_AUDIO_CONFIG_BINAURAL ) || EQ_32( renderer_type, RENDERER_BINAURAL_FASTCONV_ROOM ) ) { #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM HrtfFastConv->FASTCONV_latency_s_fx = FASTCONV_BRIR_latency_s_fx; #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM HrtfFastConv->ntaps = BINAURAL_NTAPS_MAX; move16(); move16(); #else HrtfFastConv->FASTCONV_BRIR_latency_s_fx = FASTCONV_BRIR_latency_s_fx; move32(); move16(); #endif } Loading Loading @@ -818,8 +823,8 @@ static ivas_error ivas_binaural_hrtf_open_fx( } } #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM mvs2s( fastconvReverberationTimes, HrtfFastConv->fastconvReverberationTimes_fx, CLDFB_NO_CHANNELS_MAX ); mvs2s( fastconvReverberationEneCorrections, HrtfFastConv->fastconvReverberationEneCorrections_fx, CLDFB_NO_CHANNELS_MAX ); mvs2s( fastconvReverberationTimes_fx, HrtfFastConv->fastconvReverberationTimes_fx, CLDFB_NO_CHANNELS_MAX ); mvs2s( fastconvReverberationEneCorrections_fx, HrtfFastConv->fastconvReverberationEneCorrections_fx, CLDFB_NO_CHANNELS_MAX ); #else Copy32( fastconvReverberationTimes_fx, HrtfFastConv->fastconvReverberationTimes_fx, CLDFB_NO_CHANNELS_MAX ); Copy32( fastconvReverberationEneCorrections_fx, HrtfFastConv->fastconvReverberationEneCorrections_fx, CLDFB_NO_CHANNELS_MAX ); Loading Loading @@ -1083,7 +1088,11 @@ ivas_error ivas_binRenderer_open_fx( } hBinRenderer->hoa_dec_mtx = st_ivas->hoa_dec_mtx; #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM st_ivas->binaural_latency_ns = L_shr_r( Mult_32_32( st_ivas->hHrtfFastConv->FASTCONV_latency_s_fx, 1000000000 ), st_ivas->hHrtfFastConv->factor_Q_latency_s_fx ); #else st_ivas->binaural_latency_ns = L_shr_r( Mult_32_32( st_ivas->hHrtfFastConv->FASTCONV_latency_s_fx, 1000000000 ), 31 ); #endif move32(); } ELSE Loading @@ -1094,7 +1103,11 @@ ivas_error ivas_binRenderer_open_fx( return error; } #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM st_ivas->binaural_latency_ns = L_shr_r( Mult_32_32( st_ivas->hHrtfFastConv->FASTCONV_latency_s_fx, 1000000000 ), st_ivas->hHrtfFastConv->factor_Q_latency_s_fx ); #else st_ivas->binaural_latency_ns = L_shr_r( Mult_32_32( st_ivas->hHrtfFastConv->FASTCONV_latency_s_fx, 1000000000 ), 31 ); #endif } /* Allocate memories needed for reverb module */ Loading
lib_rend/ivas_rom_binauralRenderer.c +2 −2 Original line number Diff line number Diff line Loading @@ -46946,14 +46946,14 @@ const int16_t rightBRIRImag_fx[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NT }; const int16_t fastconvReverberationTimes_factorQ = 15; const int16_t fastconvReverberationTimes[CLDFB_NO_CHANNELS_MAX] = const int16_t fastconvReverberationTimes_fx[CLDFB_NO_CHANNELS_MAX] = { 13725, 6792, 6652, 6788, 7095, 7735, 7554, 7509, 7471, 7205, 7392, 7237, 7330, 7306, 7327, 7449, 7454, 7331, 7214, 7168, 7223, 7152, 6988, 6892, 6797, 6513, 6431, 6387, 6237, 6046, 5909, 5773, 5784, 5819, 6016, 6420, 6660, 6829, 7034, 7209, 7305, 7550, 7665, 7656, 7744, 7780, 7918, 7901, 7827, 7942, 8102, 8059, 8133, 8041, 7994, 7999, 7828, 7950, 7695, 8292, }; const int16_t fastconvReverberationEneCorrections_factorQ = 15; const int16_t fastconvReverberationEneCorrections[CLDFB_NO_CHANNELS_MAX] = const int16_t fastconvReverberationEneCorrections_fx[CLDFB_NO_CHANNELS_MAX] = { 19, 7, 8, 7, 8, 50, 38, 36, 41, 43, 76, 80, 88, 89, 86, 84, 90, 89, 85, 83, 112, 58, 32, 23, 20, 18, 17, 19, 20, 18, 41, 40, 31, 20, 9, 3, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, };
lib_rend/ivas_rom_binauralRenderer.h +2 −2 Original line number Diff line number Diff line Loading @@ -84,9 +84,9 @@ extern Word16 rightBRIRImag_fx[BINAURAL_CONVBANDS][HRTF_LS_CHANNELS][BINAURAL_NT /* Reverberation parameters based on BRIRs for fastconv */ extern const Word16 fastconvReverberationTimes_Q; extern const Word16 fastconvReverberationTimes[CLDFB_NO_CHANNELS_MAX]; extern const Word16 fastconvReverberationTimes_fx[CLDFB_NO_CHANNELS_MAX]; extern const Word16 fastconvReverberationEneCorrections_Q; extern const Word16 fastconvReverberationEneCorrections[CLDFB_NO_CHANNELS_MAX]; extern const Word16 fastconvReverberationEneCorrections_fx[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 Loading
lib_rend/ivas_stat_rend.h +2 −2 Original line number Diff line number Diff line Loading @@ -1526,16 +1526,16 @@ typedef struct ivas_hrtfs_fastconv_struct Word16 ***leftImag_fx; Word16 ***rightReal_fx; Word16 ***rightImag_fx; int16_t n_channels; #else Word32 FASTCONV_latency_s_fx; Word32 ***leftReal_fx; Word32 ***leftImag_fx; Word32 ***rightReal_fx; Word32 ***righImag_fx; Word32 ***rightImag_fx; #endif int16_t n_channels; uint16_t ntaps; Word16 allocate_init_flag; /*Memory allocation flag 0: if the hrtf pointers are allocated at application level , 1: of allocated at ivas_binaural_hrtf_open() */ Loading
lib_util/hrtf_file_reader.c +20 −0 Original line number Diff line number Diff line Loading @@ -1242,7 +1242,9 @@ static ivas_error create_fastconv_HRTF_from_rawdata( int16_t *ptW16; uint16_t ntaps; uint16_t nbchan; #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM int16_t lat_q; #endif int32_t latency_s; if ( hrtf_data == NULL ) Loading @@ -1255,7 +1257,9 @@ static ivas_error create_fastconv_HRTF_from_rawdata( hrtf_data_rptr = hrtf_data; /* latency_s Q factor*/ #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM lat_q = *( (Word16 *) ( hrtf_data_rptr ) ); #endif hrtf_data_rptr += sizeof( Word16 ); /* latency_s */ Loading @@ -1276,7 +1280,9 @@ static ivas_error create_fastconv_HRTF_from_rawdata( ( *hHRTF )->ntaps = ntaps; ( *hHRTF )->FASTCONV_latency_s_fx = latency_s; #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM ( *hHRTF )->factor_Q_latency_s_fx = lat_q; #endif ( *hHRTF )->n_channels = nbchan; if ( rend_type == HRTF_READER_RENDERER_BINAURAL_FASTCONV && input_cfg == BINAURAL_INPUT_AUDIO_CONFIG_COMBINED ) Loading Loading @@ -1339,7 +1345,9 @@ static ivas_error create_fastconv_HRTF_from_rawdata( } /* HRIR/BRIR Q factor*/ #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM ( *hHRTF )->factor_Q_filters_fx = *( (Word16 *) ( hrtf_data_rptr ) ); #endif hrtf_data_rptr += sizeof( Word16 ); for ( i = 0; i < BINAURAL_CONVBANDS; i++ ) Loading Loading @@ -1403,7 +1411,9 @@ static ivas_error create_fastconv_HRTF_from_rawdata( hrtf_data_rptr += sizeof( uint16_t ); /* fastconvReverberationTimes Q factor*/ #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM ( *hHRTF )->factor_Q_ReverberationTimes_fx = *( (Word16 *) ( hrtf_data_rptr ) ); #endif hrtf_data_rptr += sizeof( Word16 ); ptW16 = (int16_t *) hrtf_data_rptr; Loading @@ -1414,7 +1424,9 @@ static ivas_error create_fastconv_HRTF_from_rawdata( hrtf_data_rptr += CLDFB_NO_CHANNELS_MAX * sizeof( int16_t ); /* fastconvReverberationEneCorrections Q factor */ #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM ( *hHRTF )->factor_Q_ReverberationEneCorrections_fx = *( (Word16 *) ( hrtf_data_rptr ) ); #endif hrtf_data_rptr += sizeof( Word16 ); ptW16 = (int16_t *) hrtf_data_rptr; Loading Loading @@ -1468,7 +1480,9 @@ static ivas_error create_parambin_HRTF_from_rawdata( /* HRTF */ /* Q factor*/ #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM ( *hHRTF )->factor_Q_hrtfShCoeffs_fx = *( (Word16 *) ( hrtf_data_rptr ) ); #endif hrtf_data_rptr += sizeof( Word16 ); data_size_tmp = HRTF_NUM_BINS * sizeof( int16_t ); Loading Loading @@ -1505,7 +1519,9 @@ static ivas_error create_parambin_HRTF_from_rawdata( hrtf_data_rptr += sizeof( uint16_t ); /* Q factor*/ #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM ( *hHRTF )->factor_Q_reverberationTimes_fx = *( (Word16 *) ( hrtf_data_rptr ) ); #endif hrtf_data_rptr += sizeof( Word16 ); ptW16 = (int16_t *) hrtf_data_rptr; Loading @@ -1516,7 +1532,9 @@ static ivas_error create_parambin_HRTF_from_rawdata( hrtf_data_rptr += CLDFB_NO_CHANNELS_MAX * sizeof( int16_t ); /* Q factor*/ #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM ( *hHRTF )->factor_Q_reverberationEneCorrections_fx = *( (Word16 *) ( hrtf_data_rptr ) ); #endif hrtf_data_rptr += sizeof( Word16 ); ptW16 = (int16_t *) hrtf_data_rptr; Loading @@ -1527,7 +1545,9 @@ static ivas_error create_parambin_HRTF_from_rawdata( hrtf_data_rptr += CLDFB_NO_CHANNELS_MAX * sizeof( int16_t ); /* Q factor*/ #ifdef FIX_1123_FASTCONV_PARAMBIN_16BIT_ROM ( *hHRTF )->factor_Q_EarlyPartEneCorrection_fx = *( (Word16 *) ( hrtf_data_rptr ) ); #endif hrtf_data_rptr += sizeof( Word16 ); ptW16 = (int16_t *) hrtf_data_rptr; Loading