Commit 478c21d2 authored by TYAGIRIS's avatar TYAGIRIS
Browse files

rend MC fix

parent 4b78b4a5
Loading
Loading
Loading
Loading
Loading
+45 −12
Original line number Diff line number Diff line
@@ -177,7 +177,11 @@ typedef struct
    TDREND_WRAPPER splitTdRendWrappers[MAX_HEAD_ROT_POSES - 1]; /* Additional TD Rend instances used for split rendering */
#endif
    REVERB_HANDLE hReverb;
#ifdef SPLIT_REND_WITH_HEAD_ROT
    rotation_gains rot_gains_prev[MAX_HEAD_ROT_POSES];
#else
    rotation_gains rot_gains_prev;
#endif
    int16_t nonDiegeticPan;
    float nonDiegeticPanGain;
    lfe_routing lfeRouting;
@@ -2407,6 +2411,9 @@ static ivas_error setRendInputActiveMc(
    rendering_context rendCtx;
    IVAS_REND_AudioConfig outConfig;
    input_mc *inputMc;
#ifdef SPLIT_REND_WITH_HEAD_ROT
    int16_t pos_idx;
#endif

    inputMc = (input_mc *) input;
    rendCtx = inputMc->base.ctx;
@@ -2436,7 +2443,14 @@ static ivas_error setRendInputActiveMc(
    inputMc->crendWrapper = NULL;
    inputMc->hReverb = NULL;
    inputMc->hMcMasa = NULL;
#ifdef SPLIT_REND_WITH_HEAD_ROT
    for ( pos_idx = 0; pos_idx < MAX_HEAD_ROT_POSES; pos_idx++ )
    {
        initRotGains( inputMc->rot_gains_prev[pos_idx] );
    }
#else
    initRotGains( inputMc->rot_gains_prev );
#endif
    inputMc->lfeRouting = defaultLfeRouting( inConfig, inputMc->customLsInput, outConfig, *inputMc->base.ctx.pCustomLsOut );
#ifdef FIX_194_LFE_DELAY_EXTREND
    set_zero( inputMc->lfeDelayBuffer, MAX_BIN_DELAY_SAMPLES );
@@ -6453,7 +6467,12 @@ static ivas_error renderMcToBinaural(

            if ( ( error = rotateFrameMc( mcInput->base.inputBuffer, mcInput->base.inConfig, mcInput->customLsInput, mcInput->base.ctx.pHeadRotData,
                                          mcInput->base.ctx.pCombinedOrientationData,
                                          mcInput->rot_gains_prev, mcInput->efapInWrapper.hEfap, tmpRotBuffer ) ) != IVAS_ERR_OK )
#ifdef SPLIT_REND_WITH_HEAD_ROT
                                          mcInput->rot_gains_prev[0],
#else
                                          mcInput->rot_gains_prev,
#endif
                                          mcInput->efapInWrapper.hEfap, tmpRotBuffer ) ) != IVAS_ERR_OK )
            {
                return error;
            }
@@ -6561,7 +6580,12 @@ static ivas_error renderMcToBinauralRoom(

            if ( ( error = rotateFrameMc( mcInput->base.inputBuffer, mcInput->base.inConfig, mcInput->customLsInput, mcInput->base.ctx.pHeadRotData,
                                          mcInput->base.ctx.pCombinedOrientationData,
                                          mcInput->rot_gains_prev, mcInput->efapInWrapper.hEfap, tmpRotBuffer ) ) != IVAS_ERR_OK )
#ifdef SPLIT_REND_WITH_HEAD_ROT
                                          mcInput->rot_gains_prev[0],
#else
                                          mcInput->rot_gains_prev,
#endif
                                          mcInput->efapInWrapper.hEfap, tmpRotBuffer ) ) != IVAS_ERR_OK )
            {
                return error;
            }
@@ -6652,7 +6676,12 @@ static ivas_error renderMcCustomLsToBinauralRoom(

        if ( ( error = rotateFrameMc( mcInput->base.inputBuffer, mcInput->base.inConfig, mcInput->customLsInput, mcInput->base.ctx.pHeadRotData,
                                      mcInput->base.ctx.pCombinedOrientationData,
                                      mcInput->rot_gains_prev, mcInput->efapInWrapper.hEfap, tmpRotBuffer ) ) != IVAS_ERR_OK )
#ifdef SPLIT_REND_WITH_HEAD_ROT
                                      mcInput->rot_gains_prev[0],
#else
                                      mcInput->rot_gains_prev,
#endif
                                      mcInput->efapInWrapper.hEfap, tmpRotBuffer ) ) != IVAS_ERR_OK )
        {
            return error;
        }
@@ -6895,7 +6924,11 @@ static ivas_error renderMcToSplitBinaural(
                                          mcInput->customLsInput,
                                          mcInput->base.ctx.pHeadRotData,
                                          &pCombinedOrientationDataLocal,
#ifdef SPLIT_REND_WITH_HEAD_ROT
                                          mcInput->rot_gains_prev[pos_idx],
#else
                                          mcInput->rot_gains_prev,
#endif
                                          mcInput->efapInWrapper.hEfap,
                                          tmpRotBuffer ) ) != IVAS_ERR_OK )
            {