Commit 1e8c0e6b authored by Lauros Pajunen's avatar Lauros Pajunen
Browse files

Revert "Save PI data and apply the saved data"

This reverts commit 1b1e364d.
parent 1b1e364d
Loading
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -3591,11 +3591,9 @@ static ivas_error decodeVoIP(
                    numPiData++;
                }

                IVAS_RTP_SavePiData( hIvasDec, &ivasRtp.piData[ivasRtp.nProcPiData], numPiData, &ivasRtp.piDataSaved );

                if ( ( error = IVAS_RTP_ApplySavedPiData( hIvasDec, &ivasRtp.piDataSaved ) ) != IVAS_ERR_OK )
                if ( ( error = IVAS_RTP_ApplyPiData( hIvasDec, &ivasRtp.piData[ivasRtp.nProcPiData], numPiData ) ) != IVAS_ERR_OK )
                {
                    fprintf( stderr, "\nError in IVAS_RTP_ApplySavedPiData: %s\n", IVAS_DEC_GetErrorMessage( error ) );
                    fprintf( stderr, "\nError in IVAS_DEC_VoIP_GetSamples: %s\n", IVAS_DEC_GetErrorMessage( error ) );
                    goto cleanup;
                }

+14 −43
Original line number Diff line number Diff line
@@ -43,15 +43,10 @@
#include "jbm_pcmdsp_fifo.h"
#include <math.h>
#include <assert.h>
#ifdef IVAS_RTPDUMP
#include <string.h>
#endif
#ifdef DEBUGGING
#include "debug.h"
#ifndef IVAS_RTPDUMP
#include <string.h>
#endif
#endif
#include "wmc_auto.h"

/*---------------------------------------------------------------------*
@@ -5628,8 +5623,9 @@ static void IVAS_DEC_setDiegeticInputPI(
}
#endif

void IVAS_RTP_SavePiData( IVAS_DEC_HANDLE hIvasDec, PIDATA_TS *piData, uint32_t numPiData, PIDATA_SAVED *piDataSaved )
ivas_error IVAS_RTP_ApplyPiData( IVAS_DEC_HANDLE hIvasDec, PIDATA_TS *piData, uint32_t numPiData )
{
    ivas_error error = IVAS_ERR_OK;
    while ( numPiData-- )
    {
        uint32_t piDataType = piData->data.noPiData.piDataType;
@@ -5637,23 +5633,25 @@ void IVAS_RTP_SavePiData( IVAS_DEC_HANDLE hIvasDec, PIDATA_TS *piData, uint32_t
        {
            case IVAS_PI_SCENE_ORIENTATION:
            {
                memcpy( &piDataSaved->scene, &piData->data.scene, piData->data.scene.size );
                piDataSaved->sceneSaved = true;
                IVAS_QUATERNION *quat = &piData->data.scene.orientation;
                DEBUG_PRINT( stdout, "PI_SCENE_ORIENTATION : %f, %f, %f, %f\n", quat->w, quat->x, quat->y, quat->z );
                error = IVAS_DEC_feedSinglePIorientation( hIvasDec, true, quat );
            }
            break;

            case IVAS_PI_DEVICE_ORIENTATION_COMPENSATED:
            {
                memcpy( &piDataSaved->deviceCompensated, &piData->data.deviceCompensated, piData->data.deviceCompensated.size );
                piDataSaved->deviceCompensatedSaved = true;
                IVAS_QUATERNION *quat = &piData->data.deviceCompensated.orientation;
                DEBUG_PRINT( stdout, "PI_DEVICE_ORIENTATION : %f, %f, %f, %f\n", quat->w, quat->x, quat->y, quat->z );
                error = IVAS_DEC_feedSinglePIorientation( hIvasDec, true, quat );
            }
            break;

#ifdef RTP_S4_251135_CR26253_0016_REV1
            case IVAS_PI_DIEGETIC_TYPE:
            {
                memcpy( &piDataSaved->digeticIndicator, &piData->data.digeticIndicator, piData->data.digeticIndicator.size );
                piDataSaved->digeticIndicatorSaved = true;
                DEBUG_PRINT( stdout, "PI_DIEGETIC_TYPE : %d, %d, %d, %d, %d\n", piData->data.digeticIndicator.isDiegetic[0], piData->data.digeticIndicator.isDiegetic[1], piData->data.digeticIndicator.isDiegetic[2], piData->data.digeticIndicator.isDiegetic[3], piData->data.digeticIndicator.isDiegetic[4] );
                IVAS_DEC_setDiegeticInputPI( hIvasDec, piData->data.digeticIndicator.isDiegetic );
            }
            break;
#endif
@@ -5664,39 +5662,12 @@ void IVAS_RTP_SavePiData( IVAS_DEC_HANDLE hIvasDec, PIDATA_TS *piData, uint32_t
            }
            break;
        }
        piData++;
    }
}

ivas_error IVAS_RTP_ApplySavedPiData( IVAS_DEC_HANDLE hIvasDec, PIDATA_SAVED *piDataSaved )
        if ( error != IVAS_ERR_OK )
        {
    ivas_error error = IVAS_ERR_OK;

    if ( piDataSaved->sceneSaved && !piDataSaved->sceneApplied )
    {
        IVAS_QUATERNION *quat = &piDataSaved->scene.orientation;
        DEBUG_PRINT( stdout, "PI_SCENE_ORIENTATION : %f, %f, %f, %f\n", quat->w, quat->x, quat->y, quat->z );
        error = IVAS_DEC_feedSinglePIorientation( hIvasDec, true, quat );
        piDataSaved->sceneApplied = true;
    }

    if ( piDataSaved->deviceCompensatedSaved && !piDataSaved->deviceCompensatedApplied )
    {
        IVAS_QUATERNION *quat = &piDataSaved->deviceCompensated.orientation;
        DEBUG_PRINT( stdout, "PI_DEVICE_ORIENTATION : %f, %f, %f, %f\n", quat->w, quat->x, quat->y, quat->z );
        error = IVAS_DEC_feedSinglePIorientation( hIvasDec, true, quat );
        piDataSaved->deviceCompensatedApplied = true;
            return error;
        }

#ifdef RTP_S4_251135_CR26253_0016_REV1
    if ( piDataSaved->digeticIndicatorSaved && !piDataSaved->digeticIndicatorApplied )
    {
        DEBUG_PRINT( stdout, "PI_DIEGETIC_TYPE : %d, %d, %d, %d, %d\n", piDataSaved->digeticIndicator.isDiegetic[0], piDataSaved->digeticIndicator.isDiegetic[1], piDataSaved->digeticIndicator.isDiegetic[2], piDataSaved->digeticIndicator.isDiegetic[3], piDataSaved->digeticIndicator.isDiegetic[4] );
        IVAS_DEC_setDiegeticInputPI( hIvasDec, piDataSaved->digeticIndicator.isDiegetic );
        piDataSaved->digeticIndicatorApplied = true;
        piData++;
    }
#endif

    return error;
}
#endif
+1 −2
Original line number Diff line number Diff line
@@ -559,8 +559,7 @@ void IVAS_DEC_PrintDisclaimer(

#ifdef IVAS_RTPDUMP
#include "ivas_rtp_pi_data.h"
void IVAS_RTP_SavePiData( IVAS_DEC_HANDLE hIvasDec, PIDATA_TS *piData, uint32_t numPiData, PIDATA_SAVED *piDataSaved );
ivas_error IVAS_RTP_ApplySavedPiData( IVAS_DEC_HANDLE hIvasDec, PIDATA_SAVED *piDataSaved );
ivas_error IVAS_RTP_ApplyPiData( IVAS_DEC_HANDLE hIvasDec, PIDATA_TS *piData, uint32_t numPiData );
#endif

/* clang-format on */
+0 −74
Original line number Diff line number Diff line
@@ -146,78 +146,6 @@ static const char *const PiDataNames[IVAS_PI_MAX_ID] = {
    "RESERVED30", "NO_DATA"
};

static void resetSavedPiDataAppliance(
    PIDATA_SAVED *piDataSaved
)
{
    piDataSaved->sceneApplied = false;
    piDataSaved->deviceCompensatedApplied = false;
    piDataSaved->deviceUnCompensatedApplied = false;
    piDataSaved->acousticEnvApplied = false;
#ifdef RTP_S4_251135_CR26253_0016_REV1
    piDataSaved->audioDescApplied = false;
    piDataSaved->ismNumApplied = false;
    piDataSaved->ismIdApplied = false;
    piDataSaved->ismGainApplied = false;
    piDataSaved->ismOrientationApplied = false;
    piDataSaved->ismPositionApplied = false;
    piDataSaved->ismAttenuationApplied = false;
    piDataSaved->ismDirectivityApplied = false;
    piDataSaved->digeticIndicatorApplied = false;
    piDataSaved->dynSuppressionIndicationApplied = false;
    piDataSaved->focusIndicationApplied = false;

    piDataSaved->playbackOrientationApplied = false;
    piDataSaved->headOrientationApplied = false;
    piDataSaved->listnerPositionApplied = false;
    piDataSaved->dynSuppressionRequestApplied = false;
    piDataSaved->focusRequestApplied = false;
    piDataSaved->piLatencyApplied = false;
    piDataSaved->ismEditIdApplied = false;
    piDataSaved->ismEditGainApplied = false;
    piDataSaved->ismEditOrientationApplied = false;
    piDataSaved->ismEditPositionApplied = false;
    piDataSaved->ismEditDirectionApplied = false;
#endif /* RTP_S4_251135_CR26253_0016_REV1 */
}

static void initSavedPiData(
    PIDATA_SAVED *piDataSaved
)
{
    piDataSaved->sceneSaved = false;
    piDataSaved->deviceCompensatedSaved = false;
    piDataSaved->deviceUnCompensatedSaved = false;
    piDataSaved->acousticEnvSaved = false;
#ifdef RTP_S4_251135_CR26253_0016_REV1
    piDataSaved->audioDescSaved = false;
    piDataSaved->ismNumSaved = false;
    piDataSaved->ismIdSaved = false;
    piDataSaved->ismGainSaved = false;
    piDataSaved->ismOrientationSaved = false;
    piDataSaved->ismPositionSaved = false;
    piDataSaved->ismAttenuationSaved = false;
    piDataSaved->ismDirectivitySaved = false;
    piDataSaved->digeticIndicatorSaved = false;
    piDataSaved->dynSuppressionIndicationSaved = false;
    piDataSaved->focusIndicationSaved = false;

    piDataSaved->playbackOrientationSaved = false;
    piDataSaved->headOrientationSaved = false;
    piDataSaved->listnerPositionSaved = false;
    piDataSaved->dynSuppressionRequestSaved = false;
    piDataSaved->focusRequestSaved = false;
    piDataSaved->piLatencySaved = false;
    piDataSaved->ismEditIdSaved = false;
    piDataSaved->ismEditGainSaved = false;
    piDataSaved->ismEditOrientationSaved = false;
    piDataSaved->ismEditPositionSaved = false;
    piDataSaved->ismEditDirectionSaved = false;
#endif /* RTP_S4_251135_CR26253_0016_REV1 */

    resetSavedPiDataAppliance( piDataSaved );
}

void IVAS_RTP_LogPiData(
    FILE *f_piDataOut,       /* i/o : Output json file handle to dump PI data for debug/test             */
    const PIDATA_TS *piData, /* i   : PI Data + Timestamp array containing all PI data in current packet */
@@ -821,7 +749,6 @@ ivas_error IVAS_RTP_READER_Init(
            }
        }
    }
    initSavedPiData( &rtp->piDataSaved );

    return error;
}
@@ -926,7 +853,6 @@ ivas_error IVAS_RTP_ReadNextFrame(

        rtp->nReadPiData = 0;
        rtp->nProcPiData = 0;
        resetSavedPiDataAppliance( &rtp->piDataSaved );

        /* Pre-read all PI data */
        while ( rtp->numPiDataInPacket != 0 )
+0 −1
Original line number Diff line number Diff line
@@ -43,7 +43,6 @@ typedef struct
{
    uint8_t packet[NOMINAL_BUFFER_SIZE( IVAS_MAX_FRAMES_PER_RTP_PACKET )];
    PIDATA_TS piData[IVAS_PI_MAX_ID * IVAS_MAX_FRAMES_PER_RTP_PACKET];
    PIDATA_SAVED piDataSaved;

    IVAS_RTP_FILE_HANDLE hRtpFile;
    FILE *f_piDataOut;
Loading