Loading apps/decoder.c +18 −1 Original line number Diff line number Diff line Loading @@ -83,9 +83,14 @@ 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 ) #else #define IVAS_PUBLIC_ORIENT_TRK_REF 0 #define IVAS_PUBLIC_ORIENT_TRK_AVG 1 #endif typedef struct { Loading Loading @@ -709,7 +714,11 @@ static bool parseCmdlIVAS_dec( arg->enableHeadRotation = false; arg->headrotTrajFileName = NULL; #ifdef FIX_I109_ORIENTATION_TRACKING arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_NONE; #else arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_REF; #endif #ifdef SUPPORT_JBM_TRACEFILE arg->jbmTraceFilename = NULL; Loading Loading @@ -892,7 +901,15 @@ static bool parseCmdlIVAS_dec( } char tmp[4]; strcpy( tmp, argv[i + 1] ); #ifdef FIX_I109_ORIENTATION_TRACKING if ( strcmp( to_upper( tmp ), "NONE" ) == 0 ) { arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_NONE; } else if ( strcmp( to_upper( tmp ), "REF" ) == 0 ) #else if ( strcmp( to_upper( tmp ), "REF" ) == 0 ) #endif { arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_REF; } Loading apps/renderer.c +21 −2 Original line number Diff line number Diff line Loading @@ -722,6 +722,13 @@ int main( } } #ifdef FIX_I109_ORIENTATION_TRACKING if ( IVAS_REND_SetOrientationTrackingMode( hIvasRend, args.orientationTracking ) ) { return error; } #endif /* Set up output custom layout configuration */ if ( args.outConfig.audioConfig == IVAS_REND_AUDIO_CONFIG_LS_CUSTOM ) { Loading Loading @@ -1314,7 +1321,15 @@ static int8_t 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; } Loading Loading @@ -1499,7 +1514,11 @@ static CmdlnArgs defaultArgs( 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; Loading lib_com/ivas_cnst.h +10 −0 Original line number Diff line number Diff line Loading @@ -1461,12 +1461,22 @@ 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 #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 */ Loading lib_com/ivas_prot.h +7 −0 Original line number Diff line number Diff line Loading @@ -5595,6 +5595,13 @@ ivas_error ivas_orient_trk_SetTrackingType( OTR_TRACKING_T trackingType /* i : orientation tracking type */ ); #ifdef FIX_I109_ORIENTATION_TRACKING ivas_error ivas_orient_trk_SetReferenceRotation( ivas_orient_trk_state_t *pOTR, /* i/o : orientatoin trakcer handle */ IVAS_QUATERNION refRot /* i : reference rotation */ ); #endif #ifdef FIX_I109_ORIENTATION_TRACKING ivas_error ivas_orient_trk_Process( ivas_orient_trk_state_t *pOTR, /* i/o : orientation tracker handle */ Loading lib_dec/ivas_init_dec.c +6 −2 Original line number Diff line number Diff line Loading @@ -688,11 +688,15 @@ ivas_error ivas_init_decoder( #ifdef FIX_I109_ORIENTATION_TRACKING if ( st_ivas->hDecoderConfig->Opt_Headrotation ) { if ( st_ivas->hDecoderConfig->orientation_tracking == IVAS_ORIENT_TRK_AVG ) if ( st_ivas->hDecoderConfig->orientation_tracking == IVAS_ORIENT_TRK_NONE ) { ivas_orient_trk_SetTrackingType( st_ivas->hHeadTrackData->OrientationTracker, OTR_TRACKING_NONE ); } else if ( st_ivas->hDecoderConfig->orientation_tracking == IVAS_ORIENT_TRK_AVG ) { ivas_orient_trk_SetTrackingType( st_ivas->hHeadTrackData->OrientationTracker, OTR_TRACKING_AVG_ORIENT ); } else else if ( st_ivas->hDecoderConfig->orientation_tracking == IVAS_ORIENT_TRK_REF ) { ivas_orient_trk_SetTrackingType( st_ivas->hHeadTrackData->OrientationTracker, OTR_TRACKING_REF_ORIENT ); } Loading Loading
apps/decoder.c +18 −1 Original line number Diff line number Diff line Loading @@ -83,9 +83,14 @@ 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 ) #else #define IVAS_PUBLIC_ORIENT_TRK_REF 0 #define IVAS_PUBLIC_ORIENT_TRK_AVG 1 #endif typedef struct { Loading Loading @@ -709,7 +714,11 @@ static bool parseCmdlIVAS_dec( arg->enableHeadRotation = false; arg->headrotTrajFileName = NULL; #ifdef FIX_I109_ORIENTATION_TRACKING arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_NONE; #else arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_REF; #endif #ifdef SUPPORT_JBM_TRACEFILE arg->jbmTraceFilename = NULL; Loading Loading @@ -892,7 +901,15 @@ static bool parseCmdlIVAS_dec( } char tmp[4]; strcpy( tmp, argv[i + 1] ); #ifdef FIX_I109_ORIENTATION_TRACKING if ( strcmp( to_upper( tmp ), "NONE" ) == 0 ) { arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_NONE; } else if ( strcmp( to_upper( tmp ), "REF" ) == 0 ) #else if ( strcmp( to_upper( tmp ), "REF" ) == 0 ) #endif { arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_REF; } Loading
apps/renderer.c +21 −2 Original line number Diff line number Diff line Loading @@ -722,6 +722,13 @@ int main( } } #ifdef FIX_I109_ORIENTATION_TRACKING if ( IVAS_REND_SetOrientationTrackingMode( hIvasRend, args.orientationTracking ) ) { return error; } #endif /* Set up output custom layout configuration */ if ( args.outConfig.audioConfig == IVAS_REND_AUDIO_CONFIG_LS_CUSTOM ) { Loading Loading @@ -1314,7 +1321,15 @@ static int8_t 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; } Loading Loading @@ -1499,7 +1514,11 @@ static CmdlnArgs defaultArgs( 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; Loading
lib_com/ivas_cnst.h +10 −0 Original line number Diff line number Diff line Loading @@ -1461,12 +1461,22 @@ 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 #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 */ Loading
lib_com/ivas_prot.h +7 −0 Original line number Diff line number Diff line Loading @@ -5595,6 +5595,13 @@ ivas_error ivas_orient_trk_SetTrackingType( OTR_TRACKING_T trackingType /* i : orientation tracking type */ ); #ifdef FIX_I109_ORIENTATION_TRACKING ivas_error ivas_orient_trk_SetReferenceRotation( ivas_orient_trk_state_t *pOTR, /* i/o : orientatoin trakcer handle */ IVAS_QUATERNION refRot /* i : reference rotation */ ); #endif #ifdef FIX_I109_ORIENTATION_TRACKING ivas_error ivas_orient_trk_Process( ivas_orient_trk_state_t *pOTR, /* i/o : orientation tracker handle */ Loading
lib_dec/ivas_init_dec.c +6 −2 Original line number Diff line number Diff line Loading @@ -688,11 +688,15 @@ ivas_error ivas_init_decoder( #ifdef FIX_I109_ORIENTATION_TRACKING if ( st_ivas->hDecoderConfig->Opt_Headrotation ) { if ( st_ivas->hDecoderConfig->orientation_tracking == IVAS_ORIENT_TRK_AVG ) if ( st_ivas->hDecoderConfig->orientation_tracking == IVAS_ORIENT_TRK_NONE ) { ivas_orient_trk_SetTrackingType( st_ivas->hHeadTrackData->OrientationTracker, OTR_TRACKING_NONE ); } else if ( st_ivas->hDecoderConfig->orientation_tracking == IVAS_ORIENT_TRK_AVG ) { ivas_orient_trk_SetTrackingType( st_ivas->hHeadTrackData->OrientationTracker, OTR_TRACKING_AVG_ORIENT ); } else else if ( st_ivas->hDecoderConfig->orientation_tracking == IVAS_ORIENT_TRK_REF ) { ivas_orient_trk_SetTrackingType( st_ivas->hHeadTrackData->OrientationTracker, OTR_TRACKING_REF_ORIENT ); } Loading