Commit 865a4b9f authored by multrus's avatar multrus
Browse files

[cleanup] accept FIX_I109_ORIENTATION_TRACKING

parent 11c50c98
Loading
Loading
Loading
Loading
+0 −57
Original line number Diff line number Diff line
@@ -72,7 +72,6 @@ static
#define MAX_NUM_OUTPUT_CHANNELS    16
#define MAX_OUTPUT_PCM_BUFFER_SIZE ( MAX_NUM_OUTPUT_CHANNELS * MAX_FRAME_SIZE )

#ifdef FIX_I109_ORIENTATION_TRACKING
#define IVAS_PUBLIC_ORIENT_TRK_NONE ( 0 )
#define IVAS_PUBLIC_ORIENT_TRK_REF  ( 1 )
#define IVAS_PUBLIC_ORIENT_TRK_AVG  ( 2 )
@@ -80,10 +79,6 @@ static
#define IVAS_PUBLIC_ORIENT_TRK_REF_VEC     ( 3 )
#define IVAS_PUBLIC_ORIENT_TRK_REF_VEC_LEV ( 4 )
#endif /* OTR_REFERENCE_VECTOR_TRACKING */
#else
#define IVAS_PUBLIC_ORIENT_TRK_REF 0
#define IVAS_PUBLIC_ORIENT_TRK_AVG 1
#endif

typedef struct
{
@@ -97,10 +92,8 @@ typedef struct
    bool voipMode;
    bool enableHeadRotation;
    char *headrotTrajFileName;
#ifdef FIX_I109_ORIENTATION_TRACKING
    bool enableReferenceRotation;
    char *refrotTrajFileName;
#endif
#ifdef OTR_REFERENCE_VECTOR_TRACKING
    bool enableReferenceVectorTracking;
    char *referenceVectorTrajFileName;
@@ -140,15 +133,11 @@ typedef struct

static bool parseCmdlIVAS_dec( int16_t argc, char **argv, DecArguments *arg );
static void usage_dec( void );
#ifdef FIX_I109_ORIENTATION_TRACKING
#ifdef OTR_REFERENCE_VECTOR_TRACKING
static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, HeadRotFileReader *headRotReader, HeadRotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf );
#else /* OTR_REFERENCE_VECTOR_TRACKING */
static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, HeadRotFileReader *headRotReader, HeadRotFileReader *refRotReader, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf );
#endif
#else
static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, HeadRotFileReader *headRotReader, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf );
#endif
static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HANDLE hIvasDec );
#ifdef DEBUGGING
static ivas_error printBitstreamInfoVoip( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HANDLE hIvasDec );
@@ -174,9 +163,7 @@ int main(
    LsCustomFileReader *hLsCustomReader = NULL;
    hrtfFileReader *hrtfReader = NULL;
    HeadRotFileReader *headRotReader = NULL;
#ifdef FIX_I109_ORIENTATION_TRACKING
    HeadRotFileReader *refRotReader = NULL;
#endif
#ifdef OTR_REFERENCE_VECTOR_TRACKING
    Vector3PairFileReader *referenceVectorReader = NULL;
#endif /* OTR_REFERENCE_VECTOR_TRACKING */
@@ -289,7 +276,6 @@ int main(
        }
    }

#ifdef FIX_I109_ORIENTATION_TRACKING
    /*------------------------------------------------------------------------------------------*
     * Open reference rotation file
     *------------------------------------------------------------------------------------------*/
@@ -301,7 +287,6 @@ int main(
            goto cleanup;
        }
    }
#endif
#ifdef OTR_REFERENCE_VECTOR_TRACKING
    /*------------------------------------------------------------------------------------------*
     * Open reference vector trajectory file
@@ -572,15 +557,11 @@ int main(
    }
    else
    {
#ifdef FIX_I109_ORIENTATION_TRACKING
#ifdef OTR_REFERENCE_VECTOR_TRACKING
        error = decodeG192( arg, hBsReader, headRotReader, refRotReader, referenceVectorReader, hIvasDec, pcmBuf );
#else
        error = decodeG192( arg, hBsReader, headRotReader, refRotReader, hIvasDec, pcmBuf );
#endif /* OTR_REFERENCE_VECTOR_TRACKING */
#else
        error = decodeG192( arg, hBsReader, headRotReader, hIvasDec, pcmBuf );
#endif
    }

    if ( error == IVAS_ERR_OK || error == IVAS_ERR_END_OF_FILE )
@@ -636,9 +617,7 @@ cleanup:
    CustomLsReader_close( &hLsCustomReader );
    hrtfFileReader_close( &hrtfReader );
    HeadRotationFileReader_close( &headRotReader );
#ifdef FIX_I109_ORIENTATION_TRACKING
    HeadRotationFileReader_close( &refRotReader );
#endif
#ifdef OTR_REFERENCE_VECTOR_TRACKING
    Vector3PairFileReader_close( &referenceVectorReader );
#endif /* OTR_REFERENCE_VECTOR_TRACKING */
@@ -778,7 +757,6 @@ static bool parseCmdlIVAS_dec(

    arg->enableHeadRotation = false;
    arg->headrotTrajFileName = NULL;
#ifdef FIX_I109_ORIENTATION_TRACKING
    arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_NONE;
    arg->enableReferenceRotation = false;
    arg->headrotTrajFileName = NULL;
@@ -786,9 +764,6 @@ static bool parseCmdlIVAS_dec(
    arg->enableReferenceVectorTracking = false;
    arg->referenceVectorTrajFileName = NULL;
#endif /* OTR_REFERENCE_VECTOR_TRACKING */
#else
    arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_REF;
#endif

#ifdef SUPPORT_JBM_TRACEFILE
    arg->jbmTraceFilename = NULL;
@@ -963,26 +938,16 @@ static bool parseCmdlIVAS_dec(
        }
        else if ( strcmp( argv_to_upper, "-OTR" ) == 0 )
        {
#ifndef FIX_I109_ORIENTATION_TRACKING
            if ( strlen( argv[i + 1] ) > 3 )
            {
                fprintf( stderr, "Error: Invalid orientation tracking type %s \n\n", argv[i + 1] );
                usage_dec();
                return false;
            }
#endif

            strncpy( argv_to_upper, argv[i + 1], sizeof( argv_to_upper ) - 1 );
            argv_to_upper[sizeof( argv_to_upper ) - 1] = '\0';
            to_upper( argv_to_upper );

#ifdef FIX_I109_ORIENTATION_TRACKING
            if ( strcmp( argv_to_upper, "NONE" ) == 0 )
            {
                arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_NONE;
            }
            else
#endif
                if ( strcmp( argv_to_upper, "REF" ) == 0 )
            {
                arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_REF;
@@ -1009,7 +974,6 @@ static bool parseCmdlIVAS_dec(
            }
            i += 2;
        }
#ifdef FIX_I109_ORIENTATION_TRACKING
        else if ( strcmp( argv_to_upper, "-RF" ) == 0 )
        {
            arg->enableReferenceRotation = true;
@@ -1025,7 +989,6 @@ static bool parseCmdlIVAS_dec(
            arg->refrotTrajFileName = argv[i];
            i++;
        }
#endif
#ifdef OTR_REFERENCE_VECTOR_TRACKING
        else if ( strcmp( argv_to_upper, "-RVF" ) == 0 )
        {
@@ -1235,13 +1198,9 @@ static void usage_dec( void )
    fprintf( stdout, "                      default is OFF, if this option is not used\n" );
    fprintf( stdout, "-force R            : Force specific binaural rendering mode, R = (TDREND, CLDFBREND),\n" );
#endif
#ifdef FIX_I109_ORIENTATION_TRACKING
    fprintf( stdout, "-otr tracking_type  : head orientation tracking type: 'none', 'ref' or 'avg'  (only for binaural rendering)\n" );
    fprintf( stdout, "-rf File            : Reference rotation specified by external trajectory file\n" );
    fprintf( stdout, "                      works only in combination with -otr ref mode\n" );
#else
    fprintf( stdout, "-otr tracking_type  : head orientation tracking type: 'ref' or 'avg'  (only for binaural rendering)\n" );
#endif
#ifdef OTR_REFERENCE_VECTOR_TRACKING
    fprintf( stdout, "-rvf File           : Reference vector specified by external trajectory file\n" );
    fprintf( stdout, "                      works only in combination with -otr ref_vec and ref_vec_lev modes\n" );
@@ -1479,12 +1438,10 @@ static ivas_error decodeG192(
    DecArguments arg,
    BS_READER_HANDLE hBsReader,
    HeadRotFileReader *headRotReader,
#ifdef FIX_I109_ORIENTATION_TRACKING
    HeadRotFileReader *refRotReader,
#ifdef OTR_REFERENCE_VECTOR_TRACKING
    Vector3PairFileReader *referenceVectorReader,
#endif /* OTR_REFERENCE_VECTOR_TRACKING */
#endif
    IVAS_DEC_HANDLE hIvasDec,
    int16_t *pcmBuf )

@@ -1584,7 +1541,6 @@ static ivas_error decodeG192(
            goto cleanup;
        }

#ifdef FIX_I109_ORIENTATION_TRACKING
#ifdef OTR_REFERENCE_VECTOR_TRACKING
        /* reference vector */
        if ( arg.enableReferenceVectorTracking )
@@ -1623,13 +1579,11 @@ static ivas_error decodeG192(
                goto cleanup;
            }
        }
#endif
        /* Head-tracking input simulation */
        if ( arg.enableHeadRotation )
        {
            IVAS_QUATERNION Quaternions[IVAS_MAX_PARAM_SPATIAL_SUBFRAMES];

#ifdef FIX_I109_ORIENTATION_TRACKING
            for ( i = 0; i < IVAS_MAX_PARAM_SPATIAL_SUBFRAMES; i++ )
            {
#ifdef TD5
@@ -1642,17 +1596,6 @@ static ivas_error decodeG192(
                    goto cleanup;
                }
            }
#else
#ifdef TD5
            if ( ( error = HeadRotationFileReading( headRotReader, Quaternions, Pos ) ) != IVAS_ERR_OK )
#else
            if ( ( error = HeadRotationFileReading( headRotReader, Quaternions, frame ) ) != IVAS_ERR_OK )
#endif
            {
                fprintf( stderr, "\nError %s while reading head orientation from %s\n", IVAS_DEC_GetErrorMessage( error ), HeadRotationFileReader_getFilePath( headRotReader ) );
                goto cleanup;
            }
#endif

#ifdef TD5
            if ( ( error = IVAS_DEC_FeedHeadTrackData( hIvasDec, Quaternions, Pos ) ) != IVAS_ERR_OK )
+0 −47
Original line number Diff line number Diff line
@@ -133,12 +133,10 @@ typedef struct
    char inMetadataFilePaths[RENDERER_MAX_ISM_INPUTS][RENDERER_MAX_CLI_ARG_LENGTH];
    int16_t numInMetadataFiles;
    char headRotationFilePath[RENDERER_MAX_CLI_ARG_LENGTH];
#ifdef FIX_I109_ORIENTATION_TRACKING
#ifdef OTR_REFERENCE_VECTOR_TRACKING
    char referenceVectorFilePath[RENDERER_MAX_CLI_ARG_LENGTH];
#endif /* OTR_REFERENCE_VECTOR_TRACKING */
    char referenceRotationFilePath[RENDERER_MAX_CLI_ARG_LENGTH];
#endif
    char customHrtfFilePath[RENDERER_MAX_CLI_ARG_LENGTH];
    char renderConfigFilePath[RENDERER_MAX_CLI_ARG_LENGTH];
    int8_t orientationTracking;
@@ -251,15 +249,11 @@ static const CmdLnParser_Option cliOptions[] = {
        .id = CmdLnOptionId_orientationTracking,
        .match = "tracking_type",
        .matchShort = "otr",
#ifdef FIX_I109_ORIENTATION_TRACKING
#ifdef OTR_REFERENCE_VECTOR_TRACKING
        .description = "Head orientation tracking type: 'none', 'ref', 'avg' or `ref_vec` or `ref_vec_lev` (only for BINAURAL and BINAURAL_ROOM)",
#else
        .description = "Head orientation tracking type: 'none', 'ref' or 'avg' (only for BINAURAL and BINAURAL_ROOM)",
#endif /* OTR_REFERENCE_VECTOR_TRACKING */
#else
        .description = "Head orientation tracking type: 'ref' or 'avg' (only for BINAURAL and BINAURAL_ROOM)",
#endif
    },
    {
        .id = CmdlnOptionId_lfePosition,
@@ -529,12 +523,10 @@ int main(
{
    IVAS_REND_HANDLE hIvasRend;
    HeadRotFileReader *headRotReader = NULL;
#ifdef FIX_I109_ORIENTATION_TRACKING
#ifdef OTR_REFERENCE_VECTOR_TRACKING
    Vector3PairFileReader *referenceVectorReader = NULL;
#endif /* OTR_REFERENCE_VECTOR_TRACKING */
    HeadRotFileReader *referenceRotReader = NULL;
#endif
    hrtfFileReader *hrtfFileReader = NULL;
    IsmPositionProvider *positionProvider;
    RenderConfigReader *renderConfigReader = NULL;
@@ -579,20 +571,11 @@ int main(

    convert_backslash( args.inputFilePath );
    convert_backslash( args.outputFilePath );
#ifndef FIX_I109_ORIENTATION_TRACKING
    /* disable 'refrotequal' test cases */
    if ( strstr( args.headRotationFilePath, "azi_plus_2-ele_plus_2-every-100-frames.csv" ) != NULL )
    {
        memset( args.headRotationFilePath, '\0', sizeof( args.headRotationFilePath ) );
    }
#endif
    convert_backslash( args.headRotationFilePath );
#ifdef FIX_I109_ORIENTATION_TRACKING
#ifdef OTR_REFERENCE_VECTOR_TRACKING
    convert_backslash( args.referenceVectorFilePath );
#endif /* OTR_REFERENCE_VECTOR_TRACKING */
    convert_backslash( args.referenceRotationFilePath );
#endif
    convert_backslash( args.inLfePanningMatrixFile );

    if ( !isEmptyString( args.headRotationFilePath ) )
@@ -604,7 +587,6 @@ int main(
        }
    }

#ifdef FIX_I109_ORIENTATION_TRACKING
    if ( !isEmptyString( args.referenceRotationFilePath ) )
    {
        if ( HeadRotationFileReader_open( args.referenceRotationFilePath, &referenceRotReader ) != IVAS_ERR_OK )
@@ -623,7 +605,6 @@ int main(
        }
    }
#endif /* OTR_REFERENCE_VECTOR_TRACKING */
#endif

    if ( !isEmptyString( args.customHrtfFilePath ) )
    {
@@ -760,12 +741,10 @@ int main(
        }
    }

#ifdef FIX_I109_ORIENTATION_TRACKING
    if ( ( error = IVAS_REND_SetOrientationTrackingMode( hIvasRend, args.orientationTracking ) ) != IVAS_ERR_OK )
    {
        return error;
    }
#endif

    /* Set up output custom layout configuration */
    if ( args.outConfig.audioConfig == IVAS_REND_AUDIO_CONFIG_LS_CUSTOM )
@@ -966,7 +945,6 @@ int main(
        ObjectPositionBuffer mtdBuffer;
        IsmPositionProvider_getNextFrame( positionProvider, &mtdBuffer );

#ifdef FIX_I109_ORIENTATION_TRACKING
#ifdef OTR_REFERENCE_VECTOR_TRACKING
        if ( referenceVectorReader != NULL )
        {
@@ -1003,14 +981,12 @@ int main(
                exit( -1 );
            }
        }
#endif

        /* Read from head rotation trajectory file if specified */
        if ( headRotReader != NULL )
        {
            IVAS_QUATERNION quatBuffer[RENDERER_HEAD_POSITIONS_PER_FRAME];

#ifdef FIX_I109_ORIENTATION_TRACKING
            for ( i = 0; i < RENDERER_HEAD_POSITIONS_PER_FRAME; i++ )
            {
#ifdef TD5
@@ -1023,13 +999,6 @@ int main(
                    exit( -1 );
                }
            }
#else
#ifdef TD5
            HeadRotationFileReading( headRotReader, quatBuffer, Pos );
#else
            HeadRotationFileReading( headRotReader, quatBuffer, frame );
#endif
#endif
#ifdef TD5
            if ( ( error = IVAS_REND_SetHeadRotation( hIvasRend, quatBuffer, Pos ) ) != IVAS_ERR_OK )
#else
@@ -1226,12 +1195,10 @@ int main(
    AudioFileReader_close( &audioReader );
    AudioFileWriter_close( &audioWriter );
    HeadRotationFileReader_close( &headRotReader );
#ifdef FIX_I109_ORIENTATION_TRACKING
#ifdef OTR_REFERENCE_VECTOR_TRACKING
    Vector3PairFileReader_close( &referenceVectorReader );
#endif /* OTR_REFERENCE_VECTOR_TRACKING */
    HeadRotationFileReader_close( &referenceRotReader );
#endif
    hrtfFileReader_close( &hrtfFileReader );
    IVAS_REND_Close( &hIvasRend );
    IsmPositionProvider_close( positionProvider );
@@ -1457,15 +1424,11 @@ static bool parseOrientationTracking(

    to_upper( value );

#ifdef FIX_I109_ORIENTATION_TRACKING
    if ( strcmp( value, "NONE" ) == 0 )
    {
        *tracking_type = IVAS_ORIENT_TRK_NONE;
    }
    else if ( strcmp( value, "REF" ) == 0 )
#else
    if ( strcmp( value, "REF" ) == 0 )
#endif
    {
        *tracking_type = IVAS_ORIENT_TRK_REF;
    }
@@ -1473,7 +1436,6 @@ static bool parseOrientationTracking(
    {
        *tracking_type = IVAS_ORIENT_TRK_AVG;
    }
#ifdef FIX_I109_ORIENTATION_TRACKING
#ifdef OTR_REFERENCE_VECTOR_TRACKING
    else if ( strcmp( value, "REF_VEC" ) == 0 )
    {
@@ -1484,7 +1446,6 @@ static bool parseOrientationTracking(
        *tracking_type = IVAS_ORIENT_TRK_REF_VEC_LEV;
    }
#endif /* OTR_REFERENCE_VECTOR_TRACKING */
#endif
    else
    {
        fprintf( stderr, "Error: Invalid orientation tracking type %s \n\n", value );
@@ -1702,20 +1663,14 @@ static CmdlnArgs defaultArgs(
    args.numInMetadataFiles = 0;

    clearString( args.headRotationFilePath );
#ifdef FIX_I109_ORIENTATION_TRACKING
#ifdef OTR_REFERENCE_VECTOR_TRACKING
    clearString( args.referenceVectorFilePath );
#endif /* OTR_REFERENCE_VECTOR_TRACKING */
    clearString( args.referenceRotationFilePath );
#endif
    clearString( args.customHrtfFilePath );
    clearString( args.renderConfigFilePath );

#ifdef FIX_I109_ORIENTATION_TRACKING
    args.orientationTracking = IVAS_ORIENT_TRK_NONE;
#else
    args.orientationTracking = IVAS_ORIENT_TRK_REF;
#endif
    args.noDiegeticPan = 0.0f;

    args.delayCompensationEnabled = true;
@@ -1790,7 +1745,6 @@ static void parseOption(
            assert( numOptionValues == 1 );
            strncpy( args->headRotationFilePath, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 );
            break;
#ifdef FIX_I109_ORIENTATION_TRACKING
#ifdef OTR_REFERENCE_VECTOR_TRACKING
        case CmdLnOptionId_referenceVectorFile:
            assert( numOptionValues == 1 );
@@ -1801,7 +1755,6 @@ static void parseOption(
            assert( numOptionValues == 1 );
            strncpy( args->referenceRotationFilePath, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 );
            break;
#endif
        case CmdLnOptionId_customHrtfFile:
            assert( numOptionValues == 1 );
            strncpy( args->customHrtfFilePath, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 );
+0 −11
Original line number Diff line number Diff line
@@ -1508,7 +1508,6 @@ typedef enum
 *----------------------------------------------------------------------------------*/

/* Orientation tracking types */
#ifdef FIX_I109_ORIENTATION_TRACKING
#define IVAS_ORIENT_TRK_NONE                    0
#define IVAS_ORIENT_TRK_REF                     1
#define IVAS_ORIENT_TRK_AVG                     2
@@ -1516,27 +1515,17 @@ typedef enum
#define IVAS_ORIENT_TRK_REF_VEC                 3
#define IVAS_ORIENT_TRK_REF_VEC_LEV             4
#endif /* OTR_REFERENCE_VECTOR_TRACKING */
#else
#define IVAS_ORIENT_TRK_REF                     0
#define IVAS_ORIENT_TRK_AVG                     1
#endif

typedef enum
{
#ifdef FIX_I109_ORIENTATION_TRACKING
    OTR_TRACKING_NONE = IVAS_ORIENT_TRK_NONE,
#else
    OTR_TRACKING_NONE = IVAS_ORIENT_TRK_REF-1,
#endif
    OTR_TRACKING_REF_ORIENT = IVAS_ORIENT_TRK_REF, /* track orientation relative to external reference orientation (default: no rotation) */
    OTR_TRACKING_AVG_ORIENT = IVAS_ORIENT_TRK_AVG  /* track orientation relative to average orientation */
#ifdef FIX_I109_ORIENTATION_TRACKING
#ifdef OTR_REFERENCE_VECTOR_TRACKING
    ,
    OTR_TRACKING_REF_VEC = IVAS_ORIENT_TRK_REF_VEC, /* track orientation relative to external reference vector */
    OTR_TRACKING_REF_VEC_LEV = IVAS_ORIENT_TRK_REF_VEC_LEV  /* track orientation relative to level component of external reference vector */
#endif /* OTR_REFERENCE_VECTOR_TRACKING */
#endif
} OTR_TRACKING_T;


+0 −3
Original line number Diff line number Diff line
@@ -141,7 +141,6 @@
#define DISABLE_ADAP_RES_COD_TMP                        /* temporary fix for IVAS-403, disables adaptive residual coding */
/*#define ITD_WINNER_GAIN_MODIFY */                     /* ITD optimization - WORK IN PROGRESS */
/*#define FIX_I4_OL_PITCH*/                             /* fix open-loop pitch used for EVS core switching */
#define FIX_I109_ORIENTATION_TRACKING                   /* Issue 109: Harmonize head and orientation tracking */
/*#define SBA_HPF_TUNING_DEC*/

#define BINAURALIZATION_DELAY_REPORT                    /* VA: Issue 255 - Changes the way the decoder delay is reported */
@@ -154,9 +153,7 @@
#define FIX_371_DELAY_REPORT                            /* Issue 371: div. by zero with -no_delay_cmp */
#define FIX_373_MASA_DELAY_COMP_MSAN                    /* Nokia: Issue 373: MASA audio/meta delay compensation. MSAN bugfix */

#ifdef FIX_I109_ORIENTATION_TRACKING
#define OTR_REFERENCE_VECTOR_TRACKING                 /* FhG: enables the reference position orientation tracking mode */
#endif

#define FIX_380_BFI_PARAMISM                            /* VA: issue 380 - fix metadata recovery in ParamISM BFI */
#define FIX_MDCT_BASED_BWD                              /* FhG: fixes for BWD for issues with reaction to transients for MDCT-stereo and MCT */
+0 −15
Original line number Diff line number Diff line
@@ -787,7 +787,6 @@ ivas_error ivas_init_decoder(
        }
    }

#ifdef FIX_I109_ORIENTATION_TRACKING
    /*-----------------------------------------------------------------*
     * Set head/orientation tracking
     *-----------------------------------------------------------------*/
@@ -836,7 +835,6 @@ ivas_error ivas_init_decoder(
        }
#endif /* OTR_REFERENCE_VECTOR_TRACKING */
    }
#endif

    /*-----------------------------------------------------------------*
     * Allocate and initialize SCE/CPE and other handles
@@ -1336,13 +1334,8 @@ ivas_error ivas_init_decoder(
            }
        }

#ifdef FIX_I109_ORIENTATION_TRACKING
        if ( ( error = ivas_rend_openCrend( &( st_ivas->hCrendWrapper ), st_ivas->intern_config, st_ivas->hDecoderConfig->output_config,
                                            st_ivas->hRenderConfig, st_ivas->hSetOfHRTF, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK )
#else
        if ( ( error = ivas_rend_openCrend( &( st_ivas->hCrendWrapper ), st_ivas->intern_config, st_ivas->hDecoderConfig->output_config,
                                            st_ivas->hRenderConfig, st_ivas->hDecoderConfig->Opt_Headrotation, st_ivas->hSetOfHRTF, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK )
#endif
        {
            return error;
        }
@@ -1817,15 +1810,7 @@ void ivas_destroy_dec(
    }

    /* Head track data handle */
#ifdef FIX_I109_ORIENTATION_TRACKING
    ivas_headTrack_close( &st_ivas->hHeadTrackData );
#else
    if ( st_ivas->hHeadTrackData != NULL )
    {
        free( st_ivas->hHeadTrackData );
        st_ivas->hHeadTrackData = NULL;
    }
#endif

    /* Time Domain binaural renderer handle */
    if ( st_ivas->hBinRendererTd != NULL )
Loading