Loading lib_rend/lib_rend.c +27 −0 Original line number Diff line number Diff line Loading @@ -7323,6 +7323,9 @@ static ivas_error renderMcToSplitBinaural( /* copy input to tdrend input/output buffer */ copyBufferTo2dArray( mcInput->base.inputBuffer, tmpRendBuffer ); /* perform rotation in source format to tmpRotBuffer */ pCombinedOrientationDataLocal = &combinedOrientationDataLocal; /* Render */ if ( ( error = ivas_td_binaural_renderer_ext( ( pos_idx == 0 ) ? &mcInput->tdRendWrapper : &mcInput->splitTdRendWrappers[pos_idx - 1], mcInput->base.inConfig, Loading Loading @@ -8747,6 +8750,30 @@ static void renderMasaToBinaural( copyBufferTo2dArray( masaInput->base.inputBuffer, tmpBuffer_buff ); copyMasaMetadataToDiracRenderer( &masaInput->masaMetadata, masaInput->decDummy->hSpatParamRendCom ); #ifdef SPLIT_REND_WITH_HEAD_ROT if ( is_split_rend_mode ) { int16_t sf, i, j; COMBINED_ORIENTATION_HANDLE pCombinedOrientationData; pCombinedOrientationData = *masaInput->base.ctx.pCombinedOrientationData; #ifdef API_5MS for ( sf = 1; sf < pCombinedOrientationData->num_subframes; sf++ ) #else for ( sf = 1; sf < RENDERER_HEAD_POSITIONS_PER_FRAME; sf++ ) #endif { pCombinedOrientationData->Quaternions[sf] = pCombinedOrientationData->Quaternions[0]; for ( i = 0; i < 3; i++ ) { for ( j = 0; j < 3; j++ ) { pCombinedOrientationData->Rmat[sf][i][j] = pCombinedOrientationData->Rmat[0][i][j]; } } } } #endif ivas_dirac_dec_binaural( masaInput->decDummy, *masaInput->base.ctx.pCombinedOrientationData, tmpBuffer, masaInput->base.inputBuffer.config.numChannels #ifdef API_5MS , Loading Loading
lib_rend/lib_rend.c +27 −0 Original line number Diff line number Diff line Loading @@ -7323,6 +7323,9 @@ static ivas_error renderMcToSplitBinaural( /* copy input to tdrend input/output buffer */ copyBufferTo2dArray( mcInput->base.inputBuffer, tmpRendBuffer ); /* perform rotation in source format to tmpRotBuffer */ pCombinedOrientationDataLocal = &combinedOrientationDataLocal; /* Render */ if ( ( error = ivas_td_binaural_renderer_ext( ( pos_idx == 0 ) ? &mcInput->tdRendWrapper : &mcInput->splitTdRendWrappers[pos_idx - 1], mcInput->base.inConfig, Loading Loading @@ -8747,6 +8750,30 @@ static void renderMasaToBinaural( copyBufferTo2dArray( masaInput->base.inputBuffer, tmpBuffer_buff ); copyMasaMetadataToDiracRenderer( &masaInput->masaMetadata, masaInput->decDummy->hSpatParamRendCom ); #ifdef SPLIT_REND_WITH_HEAD_ROT if ( is_split_rend_mode ) { int16_t sf, i, j; COMBINED_ORIENTATION_HANDLE pCombinedOrientationData; pCombinedOrientationData = *masaInput->base.ctx.pCombinedOrientationData; #ifdef API_5MS for ( sf = 1; sf < pCombinedOrientationData->num_subframes; sf++ ) #else for ( sf = 1; sf < RENDERER_HEAD_POSITIONS_PER_FRAME; sf++ ) #endif { pCombinedOrientationData->Quaternions[sf] = pCombinedOrientationData->Quaternions[0]; for ( i = 0; i < 3; i++ ) { for ( j = 0; j < 3; j++ ) { pCombinedOrientationData->Rmat[sf][i][j] = pCombinedOrientationData->Rmat[0][i][j]; } } } } #endif ivas_dirac_dec_binaural( masaInput->decDummy, *masaInput->base.ctx.pCombinedOrientationData, tmpBuffer, masaInput->base.inputBuffer.config.numChannels #ifdef API_5MS , Loading