Loading apps/renderer.c +1 −1 Original line number Diff line number Diff line Loading @@ -1553,7 +1553,7 @@ int main( } /* Convert from int to float and from interleaved to packed */ convertInputBuffer( inpInt16Buffer, numSamplesRead, frameSize_smpls, num_in_channels, inFloatBuffer convertInputBuffer( inpInt16Buffer, numSamplesRead, inBuffer.config.numSamplesPerChannel, num_in_channels, inFloatBuffer #ifdef SPLIT_REND_WITH_HEAD_ROT , inBuffer.config.is_cldfb, cldfbAna Loading lib_dec/ivas_binRenderer_internal.c +10 −19 Original line number Diff line number Diff line Loading @@ -2129,12 +2129,15 @@ void ivas_rend_CldfbMultiBinRendProcess( float Cldfb_In_Imag[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], float Cldfb_Out_Real[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* o : Binaural signals */ float Cldfb_Out_Imag[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], const int16_t low_res_pre_rend_rot ) const int16_t low_res_pre_rend_rot #ifdef API_5MS , int16_t num_subframes #endif ) { int16_t slot_idx, ch_idx, idx, pose_idx, i, j; #ifndef API_5MS int16_t sf_idx; #endif float Cldfb_RealBuffer_sfIn[MAX_INPUT_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; float Cldfb_ImagBuffer_sfIn[MAX_INPUT_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; #ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG Loading @@ -2146,17 +2149,11 @@ void ivas_rend_CldfbMultiBinRendProcess( float Cldfb_ImagBuffer_Binaural[MAX_HEAD_ROT_POSES][BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; #endif #ifndef API_5MS for ( sf_idx = 0; sf_idx < MAX_PARAM_SPATIAL_SUBFRAMES; sf_idx++ ) for ( sf_idx = 0; sf_idx < num_subframes; sf_idx++ ) { #endif for ( slot_idx = 0; slot_idx < MAX_PARAM_SPATIAL_SUBFRAMES; slot_idx++ ) { #ifdef API_5MS idx = slot_idx; #else idx = sf_idx * MAX_PARAM_SPATIAL_SUBFRAMES + slot_idx; #endif for ( ch_idx = 0; ch_idx < hCldfbRend->nInChannels; ch_idx++ ) { mvr2r( &Cldfb_In_Real[ch_idx][idx][0], &Cldfb_RealBuffer_sfIn[ch_idx][slot_idx][0], hCldfbRend->max_band ); Loading Loading @@ -2207,11 +2204,7 @@ void ivas_rend_CldfbMultiBinRendProcess( { for ( slot_idx = 0; slot_idx < MAX_PARAM_SPATIAL_SUBFRAMES; slot_idx++ ) { #ifdef API_5MS idx = slot_idx; #else idx = sf_idx * MAX_PARAM_SPATIAL_SUBFRAMES + slot_idx; #endif for ( ch_idx = 0; ch_idx < BINAURAL_CHANNELS; ch_idx++ ) { mvr2r( &Cldfb_RealBuffer_Binaural[pose_idx][ch_idx][slot_idx][0], &Cldfb_Out_Real[( pose_idx * BINAURAL_CHANNELS ) + ch_idx][idx][0], hCldfbRend->max_band ); Loading @@ -2219,9 +2212,7 @@ void ivas_rend_CldfbMultiBinRendProcess( } } } #ifndef API_5MS } #endif return; } Loading lib_rend/ivas_prot_rend.h +6 −1 Original line number Diff line number Diff line Loading @@ -893,7 +893,12 @@ void ivas_rend_CldfbMultiBinRendProcess( float Cldfb_In_Imag[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], float Cldfb_Out_Real[MAX_HEAD_ROT_POSES*BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* o : Binaural signals */ float Cldfb_Out_Imag[MAX_HEAD_ROT_POSES*BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], const int16_t low_res_pre_rend_rot ); const int16_t low_res_pre_rend_rot #ifdef API_5MS , int16_t num_subframes #endif ); ivas_error ivas_rend_openCldfb( HANDLE_CLDFB_FILTER_BANK cldfbAna[MAX_INPUT_CHANNELS], Loading lib_rend/lib_rend.c +24 −4 Original line number Diff line number Diff line Loading @@ -8199,7 +8199,12 @@ static ivas_error renderSbaToMultiBinaural( static ivas_error renderSbaToMultiBinauralCldfb( input_sba *sbaInput, float Cldfb_Out_Real[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], float Cldfb_Out_Imag[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], const int16_t low_res_pre_rend_rot ) const int16_t low_res_pre_rend_rot #ifdef API_5MS , int16_t num_subframes #endif ) { float Cldfb_RealBuffer[MAX_OUTPUT_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float Cldfb_ImagBuffer[MAX_OUTPUT_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; Loading @@ -8214,7 +8219,12 @@ static ivas_error renderSbaToMultiBinauralCldfb( input_sba *sbaInput, Cldfb_ImagBuffer, Cldfb_Out_Real, Cldfb_Out_Imag, low_res_pre_rend_rot ); low_res_pre_rend_rot #ifdef API_5MS , num_subframes #endif ); return IVAS_ERR_OK; } Loading @@ -8240,7 +8250,12 @@ static ivas_error renderSbaToSplitBinaural( renderSbaToMultiBinauralCldfb( sbaInput, Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, low_res_pre_rend_rot ); low_res_pre_rend_rot #ifdef API_5MS , MAX_PARAM_SPATIAL_SUBFRAMES #endif ); accumulateCLDFBArrayToBuffer( Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, &outAudio ); } else Loading Loading @@ -8284,7 +8299,12 @@ static ivas_error renderSbaToBinaural( renderSbaToMultiBinauralCldfb( sbaInput, Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, 0 ); 0 #ifdef API_5MS , 1 #endif ); accumulateCLDFBArrayToBuffer( Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, &outAudio ); } else Loading Loading
apps/renderer.c +1 −1 Original line number Diff line number Diff line Loading @@ -1553,7 +1553,7 @@ int main( } /* Convert from int to float and from interleaved to packed */ convertInputBuffer( inpInt16Buffer, numSamplesRead, frameSize_smpls, num_in_channels, inFloatBuffer convertInputBuffer( inpInt16Buffer, numSamplesRead, inBuffer.config.numSamplesPerChannel, num_in_channels, inFloatBuffer #ifdef SPLIT_REND_WITH_HEAD_ROT , inBuffer.config.is_cldfb, cldfbAna Loading
lib_dec/ivas_binRenderer_internal.c +10 −19 Original line number Diff line number Diff line Loading @@ -2129,12 +2129,15 @@ void ivas_rend_CldfbMultiBinRendProcess( float Cldfb_In_Imag[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], float Cldfb_Out_Real[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* o : Binaural signals */ float Cldfb_Out_Imag[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], const int16_t low_res_pre_rend_rot ) const int16_t low_res_pre_rend_rot #ifdef API_5MS , int16_t num_subframes #endif ) { int16_t slot_idx, ch_idx, idx, pose_idx, i, j; #ifndef API_5MS int16_t sf_idx; #endif float Cldfb_RealBuffer_sfIn[MAX_INPUT_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; float Cldfb_ImagBuffer_sfIn[MAX_INPUT_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; #ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG Loading @@ -2146,17 +2149,11 @@ void ivas_rend_CldfbMultiBinRendProcess( float Cldfb_ImagBuffer_Binaural[MAX_HEAD_ROT_POSES][BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; #endif #ifndef API_5MS for ( sf_idx = 0; sf_idx < MAX_PARAM_SPATIAL_SUBFRAMES; sf_idx++ ) for ( sf_idx = 0; sf_idx < num_subframes; sf_idx++ ) { #endif for ( slot_idx = 0; slot_idx < MAX_PARAM_SPATIAL_SUBFRAMES; slot_idx++ ) { #ifdef API_5MS idx = slot_idx; #else idx = sf_idx * MAX_PARAM_SPATIAL_SUBFRAMES + slot_idx; #endif for ( ch_idx = 0; ch_idx < hCldfbRend->nInChannels; ch_idx++ ) { mvr2r( &Cldfb_In_Real[ch_idx][idx][0], &Cldfb_RealBuffer_sfIn[ch_idx][slot_idx][0], hCldfbRend->max_band ); Loading Loading @@ -2207,11 +2204,7 @@ void ivas_rend_CldfbMultiBinRendProcess( { for ( slot_idx = 0; slot_idx < MAX_PARAM_SPATIAL_SUBFRAMES; slot_idx++ ) { #ifdef API_5MS idx = slot_idx; #else idx = sf_idx * MAX_PARAM_SPATIAL_SUBFRAMES + slot_idx; #endif for ( ch_idx = 0; ch_idx < BINAURAL_CHANNELS; ch_idx++ ) { mvr2r( &Cldfb_RealBuffer_Binaural[pose_idx][ch_idx][slot_idx][0], &Cldfb_Out_Real[( pose_idx * BINAURAL_CHANNELS ) + ch_idx][idx][0], hCldfbRend->max_band ); Loading @@ -2219,9 +2212,7 @@ void ivas_rend_CldfbMultiBinRendProcess( } } } #ifndef API_5MS } #endif return; } Loading
lib_rend/ivas_prot_rend.h +6 −1 Original line number Diff line number Diff line Loading @@ -893,7 +893,12 @@ void ivas_rend_CldfbMultiBinRendProcess( float Cldfb_In_Imag[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], float Cldfb_Out_Real[MAX_HEAD_ROT_POSES*BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* o : Binaural signals */ float Cldfb_Out_Imag[MAX_HEAD_ROT_POSES*BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], const int16_t low_res_pre_rend_rot ); const int16_t low_res_pre_rend_rot #ifdef API_5MS , int16_t num_subframes #endif ); ivas_error ivas_rend_openCldfb( HANDLE_CLDFB_FILTER_BANK cldfbAna[MAX_INPUT_CHANNELS], Loading
lib_rend/lib_rend.c +24 −4 Original line number Diff line number Diff line Loading @@ -8199,7 +8199,12 @@ static ivas_error renderSbaToMultiBinaural( static ivas_error renderSbaToMultiBinauralCldfb( input_sba *sbaInput, float Cldfb_Out_Real[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], float Cldfb_Out_Imag[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], const int16_t low_res_pre_rend_rot ) const int16_t low_res_pre_rend_rot #ifdef API_5MS , int16_t num_subframes #endif ) { float Cldfb_RealBuffer[MAX_OUTPUT_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float Cldfb_ImagBuffer[MAX_OUTPUT_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; Loading @@ -8214,7 +8219,12 @@ static ivas_error renderSbaToMultiBinauralCldfb( input_sba *sbaInput, Cldfb_ImagBuffer, Cldfb_Out_Real, Cldfb_Out_Imag, low_res_pre_rend_rot ); low_res_pre_rend_rot #ifdef API_5MS , num_subframes #endif ); return IVAS_ERR_OK; } Loading @@ -8240,7 +8250,12 @@ static ivas_error renderSbaToSplitBinaural( renderSbaToMultiBinauralCldfb( sbaInput, Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, low_res_pre_rend_rot ); low_res_pre_rend_rot #ifdef API_5MS , MAX_PARAM_SPATIAL_SUBFRAMES #endif ); accumulateCLDFBArrayToBuffer( Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, &outAudio ); } else Loading Loading @@ -8284,7 +8299,12 @@ static ivas_error renderSbaToBinaural( renderSbaToMultiBinauralCldfb( sbaInput, Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, 0 ); 0 #ifdef API_5MS , 1 #endif ); accumulateCLDFBArrayToBuffer( Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, &outAudio ); } else Loading