Commit 86909c17 authored by Marek Szczerba's avatar Marek Szczerba
Browse files

Orientation tracking update based on frame size. Refactoring

parent 1757186e
Loading
Loading
Loading
Loading
+11 −9
Original line number Diff line number Diff line
@@ -5502,15 +5502,20 @@ ivas_error ivas_orient_trk_SetTrackingType(
    OTR_TRACKING_T trackingType 
);

ivas_error ivas_orient_trk_SetAbsoluteOrientation( 
    ivas_orient_trk_state_t *pOTR,
#ifdef FIX_I109_ORIENTATION_TRACKING
    const Quaternion* pQuat
ivas_error ivas_orient_trk_Process(
    ivas_orient_trk_state_t *pOTR,      /* i/o  : orientation tracker handle    */
    Quaternion absRot,                  /* i    : absolute head rotation        */
    float updateRate,                   /* i    : rotation update rate [Hz]     */
    Quaternion *pTrkRot                 /* o    : tracked rotation              */
);

#else
ivas_error ivas_orient_trk_SetAbsoluteOrientation( 
    ivas_orient_trk_state_t *pOTR,
    float yaw, 
    float pitch, 
    float roll 
#endif
);

ivas_error ivas_orient_trk_Process( 
@@ -5519,14 +5524,11 @@ ivas_error ivas_orient_trk_Process(

ivas_error ivas_orient_trk_GetTrackedOrientation( 
    ivas_orient_trk_state_t *pOTR,
#ifdef FIX_I109_ORIENTATION_TRACKING
    Quaternion *pQuat
#else
    float *yaw,
    float *pitch, 
    float *roll 
#endif
);
#endif

void TonalMdctConceal_create_concealment_noise(
    float concealment_noise[L_FRAME48k],
+1 −3
Original line number Diff line number Diff line
@@ -899,9 +899,7 @@ void ivas_binRenderer(
            if ( hHeadTrackData->shd_rot_max_order == -1 )
            {
#ifdef FIX_I109_ORIENTATION_TRACKING
                ivas_orient_trk_SetAbsoluteOrientation( hHeadTrackData->OrientationTracker, &( hHeadTrackData->Quaternions[hHeadTrackData->num_quaternions++] ) );
                ivas_orient_trk_Process( hHeadTrackData->OrientationTracker );
                ivas_orient_trk_GetTrackedOrientation( hHeadTrackData->OrientationTracker, &trackedHeadOrientation );
                ivas_orient_trk_Process( hHeadTrackData->OrientationTracker, hHeadTrackData->Quaternions[hHeadTrackData->num_quaternions++], FRAMES_PER_SEC, &trackedHeadOrientation );
                QuatToRotMat( trackedHeadOrientation, hHeadTrackData->Rmat );
#else
                QuatToRotMat( hHeadTrackData->Quaternions[hHeadTrackData->num_quaternions++], hHeadTrackData->Rmat );
+4 −3
Original line number Diff line number Diff line
@@ -1856,9 +1856,10 @@ void ivas_dirac_dec(
        if ( st_ivas->hHeadTrackData )
        {
#ifdef FIX_I109_ORIENTATION_TRACKING
            ivas_orient_trk_SetAbsoluteOrientation( st_ivas->hHeadTrackData->OrientationTracker, &( st_ivas->hHeadTrackData->Quaternions[st_ivas->hHeadTrackData->num_quaternions++] ) );
            ivas_orient_trk_Process( st_ivas->hHeadTrackData->OrientationTracker );
            ivas_orient_trk_GetTrackedOrientation( st_ivas->hHeadTrackData->OrientationTracker, &trackedHeadOrientation );
            ivas_orient_trk_Process( st_ivas->hHeadTrackData->OrientationTracker,
                                     st_ivas->hHeadTrackData->Quaternions[st_ivas->hHeadTrackData->num_quaternions++],
                                     (float) ( FRAMES_PER_SEC * ( sf2 - sf1 ) ),
                                     &trackedHeadOrientation );
            QuatToRotMat( trackedHeadOrientation, st_ivas->hHeadTrackData->Rmat );
#else
            QuatToRotMat( st_ivas->hHeadTrackData->Quaternions[st_ivas->hHeadTrackData->num_quaternions++], st_ivas->hHeadTrackData->Rmat );
+1 −3
Original line number Diff line number Diff line
@@ -473,9 +473,7 @@ static void ivas_dirac_dec_binaural_internal(
    if ( st_ivas->hHeadTrackData && st_ivas->hHeadTrackData->num_quaternions >= 0 )
    {
#ifdef FIX_I109_ORIENTATION_TRACKING
        ivas_orient_trk_SetAbsoluteOrientation( st_ivas->hHeadTrackData->OrientationTracker, &( st_ivas->hHeadTrackData->Quaternions[firstSubframe] ) );
        ivas_orient_trk_Process( st_ivas->hHeadTrackData->OrientationTracker );
        ivas_orient_trk_GetTrackedOrientation( st_ivas->hHeadTrackData->OrientationTracker, &trackedHeadOrientation );
        ivas_orient_trk_Process( st_ivas->hHeadTrackData->OrientationTracker, st_ivas->hHeadTrackData->Quaternions[firstSubframe], FRAMES_PER_SEC, &trackedHeadOrientation );
        QuatToRotMat( trackedHeadOrientation, Rmat );
#else
        QuatToRotMat( st_ivas->hHeadTrackData->Quaternions[firstSubframe], Rmat );
+4 −3
Original line number Diff line number Diff line
@@ -136,9 +136,10 @@ void ivas_ism_render(
    if ( st_ivas->hHeadTrackData != NULL && st_ivas->hHeadTrackData->num_quaternions >= 0 )
    {
#ifdef FIX_I109_ORIENTATION_TRACKING
        ivas_orient_trk_SetAbsoluteOrientation( st_ivas->hHeadTrackData->OrientationTracker, &st_ivas->hHeadTrackData->Quaternions[st_ivas->hHeadTrackData->num_quaternions++] );
        ivas_orient_trk_Process( st_ivas->hHeadTrackData->OrientationTracker );
        ivas_orient_trk_GetTrackedOrientation( st_ivas->hHeadTrackData->OrientationTracker, &trackedHeadOrientation );
        ivas_orient_trk_Process( st_ivas->hHeadTrackData->OrientationTracker,
                                 st_ivas->hHeadTrackData->Quaternions[st_ivas->hHeadTrackData->num_quaternions++],
                                 FRAMES_PER_SEC,
                                 &trackedHeadOrientation );
        /* Calculate rotation matrix from the quaternion */
        QuatToRotMat( trackedHeadOrientation, Rmat );
#else
Loading