diff --git a/apps/decoder.c b/apps/decoder.c index 40ac02238ef680a1b6133d66258e515ad55f037b..0612c9b2a5a4f70799b07732b86cb3c901eea0b6 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -1509,6 +1509,24 @@ static ivas_error decodeG192( goto cleanup; } +#ifdef FIX_I109_ORIENTATION_TRACKING + /* Reference rotation */ + if ( arg.enableReferenceRotation ) + { + IVAS_QUATERNION quaternion; + if ( ( error = HeadRotationFileReading( refRotReader, &quaternion ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "\nError %s while reading reference rotation from %s\n", IVAS_DEC_GetErrorMessage( error ), HeadRotationFileReader_getFilePath( refRotReader ) ); + goto cleanup; + } + + if ( ( error = IVAS_DEC_FeedRefRotData( hIvasDec, quaternion ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "\nIVAS_DEC_FeedRefRotData failed: %s\n", IVAS_DEC_GetErrorMessage( error ) ); + goto cleanup; + } + } +#endif /* Head-tracking input simulation */ if ( arg.enableHeadRotation ) { @@ -1538,24 +1556,6 @@ static ivas_error decodeG192( } } -#ifdef FIX_I109_ORIENTATION_TRACKING - /* Reference rotation */ - if ( arg.enableReferenceRotation ) - { - IVAS_QUATERNION quaternion; - if ( ( error = HeadRotationFileReading( refRotReader, &quaternion ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError %s while reading reference rotation from %s\n", IVAS_DEC_GetErrorMessage( error ), HeadRotationFileReader_getFilePath( refRotReader ) ); - goto cleanup; - } - - if ( ( error = IVAS_DEC_FeedRefRotData( hIvasDec, quaternion ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nIVAS_DEC_FeedRefRotData failed: %s\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - } -#endif /* Run decoder for one frame (get rendered output) */ if ( ( error = IVAS_DEC_GetSamples( hIvasDec, pcmBuf, &nOutSamples ) ) != IVAS_ERR_OK ) { diff --git a/apps/renderer.c b/apps/renderer.c index fa3a3d21ee8923b9c9d492418e97de0a4d49ba39..fef1e65eba16dc06052dd696e1c0f2ec1676ea02 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -942,6 +942,24 @@ int main( ObjectPositionBuffer mtdBuffer; IsmPositionProvider_getNextFrame( positionProvider, &mtdBuffer ); +#ifdef FIX_I109_ORIENTATION_TRACKING + /* Read from reference rotation trajectory file if specified */ + if ( referenceRotReader != NULL ) + { + IVAS_QUATERNION quaternion; + if ( HeadRotationFileReading( referenceRotReader, &quaternion ) != IVAS_ERR_OK ) + { + fprintf( stderr, "Error in Head Rotation File Reading.\r\n" ); + exit( -1 ); + } + if ( IVAS_REND_SetReferenceRotation( hIvasRend, quaternion ) != IVAS_ERR_OK ) + { + fprintf( stderr, "Error setting Reference Rotation.\r\n" ); + exit( -1 ); + } + } +#endif + /* Read from head rotation trajectory file if specified */ if ( headRotReader != NULL ) { @@ -973,24 +991,6 @@ int main( } } -#ifdef FIX_I109_ORIENTATION_TRACKING - /* Read from reference rotation trajectory file if specified */ - if ( referenceRotReader != NULL ) - { - IVAS_QUATERNION quaternion; - if ( HeadRotationFileReading( referenceRotReader, &quaternion ) != IVAS_ERR_OK ) - { - fprintf( stderr, "Error in Head Rotation File Reading.\r\n" ); - exit( -1 ); - } - if ( IVAS_REND_SetReferenceRotation( hIvasRend, quaternion ) != IVAS_ERR_OK ) - { - fprintf( stderr, "Error setting Reference Rotation.\r\n" ); - exit( -1 ); - } - } -#endif - for ( i = 0; i < args.inConfig.numMultiChannelBuses; ++i ) { if ( ( error = IVAS_REND_GetInputNumChannels( hIvasRend, mcIds[i], &numChannels ) ) != IVAS_ERR_OK )