Commit 2ede4fa3 authored by TYAGIRIS's avatar TYAGIRIS
Browse files

fix for head rotation time resolution in MC and MASA SR mode

parent aa1a94db
Loading
Loading
Loading
Loading
Loading
+27 −0
Original line number Diff line number Diff line
@@ -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,
@@ -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
                             ,