Loading apps/decoder.c +53 −0 Original line number Diff line number Diff line Loading @@ -47,8 +47,10 @@ #include "aeid_file_reader.h" #endif #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING #include "quaternion_file_writer.h" #endif #endif #ifdef SPLIT_REND_WITH_HEAD_ROT #include "split_render_file_read_write.h" #endif Loading Loading @@ -120,12 +122,14 @@ typedef struct bool enableHeadRotation; char *headrotTrajFileName; #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING bool mainOrientationWriterEnabled; char *mainOrientationFilename; bool trackedRotationWriterEnabled; char *trackedRotationFilename; bool combinedOrientationWriterEnabled; char *combinedOrientationFilename; #endif #endif bool enableReferenceRotation; char *refrotTrajFileName; Loading Loading @@ -184,6 +188,7 @@ typedef struct static bool parseCmdlIVAS_dec( int16_t argc, char **argv, DecArguments *arg ); static void usage_dec( void ); #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING #ifdef SPLIT_REND_WITH_HEAD_ROT static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, QuaternionFileWriter *mainOrientWriter, QuaternionFileWriter *trackRotWriter, QuaternionFileWriter *combOrientWriter, Vector3PairFileReader *referenceVectorReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ); #else Loading @@ -198,6 +203,14 @@ static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, RotF #endif static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec ); #endif #else #ifdef SPLIT_REND_WITH_HEAD_ROT static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ); #else static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ); #endif static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec ); #endif #ifdef DEBUGGING static ivas_error printBitstreamInfoVoip( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HANDLE hIvasDec ); Loading Loading @@ -232,9 +245,11 @@ int main( RotFileReader *externalOrientationFileReader = NULL; RotFileReader *refRotReader = NULL; #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING QuaternionFileWriter *mainOrientWriter = NULL; QuaternionFileWriter *trackRotWriter = NULL; QuaternionFileWriter *combOrientWriter = NULL; #endif #endif Vector3PairFileReader *referenceVectorReader = NULL; RenderConfigReader *renderConfigReader = NULL; Loading Loading @@ -372,6 +387,7 @@ int main( } #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING /*------------------------------------------------------------------------------------------* * Open main orientation output file for writing *------------------------------------------------------------------------------------------*/ Loading Loading @@ -410,6 +426,7 @@ int main( goto cleanup; } } #endif #endif /*------------------------------------------------------------------------------------------* Loading Loading @@ -949,7 +966,11 @@ int main( if ( arg.voipMode ) { #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING error = decodeVoIP( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, mainOrientWriter, trackRotWriter, combOrientWriter, referenceVectorReader, hIvasDec ); #else error = decodeVoIP( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, hIvasDec ); #endif #else error = decodeVoIP( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, hIvasDec ); #endif Loading @@ -957,6 +978,7 @@ int main( else { #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING #ifdef SPLIT_REND_WITH_HEAD_ROT error = decodeG192( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, mainOrientWriter, trackRotWriter, combOrientWriter, referenceVectorReader, &splitRendBits, hIvasDec, pcmBuf ); #else Loading @@ -968,6 +990,13 @@ int main( #else error = decodeG192( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, hIvasDec, pcmBuf ); #endif #endif #else #ifdef SPLIT_REND_WITH_HEAD_ROT error = decodeG192( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, &splitRendBits, hIvasDec, pcmBuf ); #else error = decodeG192( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, hIvasDec, pcmBuf ); #endif #endif } Loading Loading @@ -1039,9 +1068,11 @@ cleanup: RotationFileReader_close( &externalOrientationFileReader ); RotationFileReader_close( &refRotReader ); #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING QuaternionFileWriter_close( &mainOrientWriter ); QuaternionFileWriter_close( &trackRotWriter ); QuaternionFileWriter_close( &combOrientWriter ); #endif #endif Vector3PairFileReader_close( &referenceVectorReader ); RenderConfigReader_close( &renderConfigReader ); Loading Loading @@ -1195,12 +1226,14 @@ static bool parseCmdlIVAS_dec( arg->enableHeadRotation = false; arg->headrotTrajFileName = NULL; #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING arg->mainOrientationWriterEnabled = false; arg->mainOrientationFilename = NULL; arg->trackedRotationWriterEnabled = false; arg->trackedRotationFilename = NULL; arg->combinedOrientationWriterEnabled = false; arg->combinedOrientationFilename = NULL; #endif #endif arg->orientation_tracking = ORIENT_TRK_NONE; arg->enableReferenceRotation = false; Loading Loading @@ -1437,6 +1470,7 @@ static bool parseCmdlIVAS_dec( i++; } #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING else if ( strcmp( argv_to_upper, "-MOOF" ) == 0 ) { arg->mainOrientationWriterEnabled = true; Loading Loading @@ -1482,6 +1516,7 @@ static bool parseCmdlIVAS_dec( arg->combinedOrientationFilename = argv[i]; i++; } #endif #endif else if ( strcmp( argv_to_upper, "-FR" ) == 0 ) { Loading Loading @@ -1947,9 +1982,11 @@ static void usage_dec( void ) fprintf( stdout, "-hrtf File : HRTF filter File used in BINAURAL output configuration\n" ); fprintf( stdout, "-T File : Head rotation specified by external trajectory File\n" ); #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING fprintf( stdout, "-moof File : Main orientation data output File\n" ); fprintf( stdout, "-trof File : Tracked rotation data output File\n" ); fprintf( stdout, "-coof File : Combined orientation data output File\n" ); #endif #endif fprintf( stdout, "-otr tracking_type : Head orientation tracking type: 'none', 'ref', 'avg', 'ref_vec' \n" ); fprintf( stdout, " or 'ref_vec_lev' (only for binaural rendering)\n" ); Loading Loading @@ -2367,9 +2404,11 @@ static ivas_error decodeG192( RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING QuaternionFileWriter *mainOrientWriter, QuaternionFileWriter *trackRotWriter, QuaternionFileWriter *combOrientWriter, #endif #endif Vector3PairFileReader *referenceVectorReader, #ifdef SPLIT_REND_WITH_HEAD_ROT Loading Loading @@ -2615,6 +2654,7 @@ static ivas_error decodeG192( } #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING if ( arg.mainOrientationWriterEnabled ) { IVAS_QUATERNION orientation; Loading Loading @@ -2652,6 +2692,7 @@ static ivas_error decodeG192( } } } #endif #endif } Loading Loading @@ -2682,6 +2723,7 @@ static ivas_error decodeG192( } #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING if ( arg.combinedOrientationWriterEnabled && ( arg.enableHeadRotation || arg.enableExternalOrientation ) ) { IVAS_QUATERNION orientation; Loading @@ -2700,6 +2742,7 @@ static ivas_error decodeG192( } } } #endif #endif /* decode and get samples */ Loading Loading @@ -3036,6 +3079,7 @@ static ivas_error decodeG192( } #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING if ( arg.mainOrientationWriterEnabled ) { IVAS_QUATERNION orientation; Loading Loading @@ -3073,10 +3117,12 @@ static ivas_error decodeG192( } } } #endif #endif } #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING if ( arg.combinedOrientationWriterEnabled && ( arg.enableHeadRotation || arg.enableExternalOrientation ) ) { IVAS_QUATERNION orientation; Loading @@ -3095,6 +3141,7 @@ static ivas_error decodeG192( } } } #endif #endif /* decode and get samples */ Loading Loading @@ -3389,9 +3436,11 @@ static ivas_error decodeVoIP( RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING QuaternionFileWriter *mainOrientWriter, QuaternionFileWriter *trackRotWriter, QuaternionFileWriter *combOrientWriter, #endif #endif Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec ) Loading Loading @@ -3648,6 +3697,7 @@ static ivas_error decodeVoIP( } #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING if ( arg.mainOrientationWriterEnabled ) { IVAS_QUATERNION orientation; Loading Loading @@ -3685,6 +3735,7 @@ static ivas_error decodeVoIP( } } } #endif #endif } Loading Loading @@ -3717,6 +3768,7 @@ static ivas_error decodeVoIP( } #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING if ( arg.combinedOrientationWriterEnabled && ( arg.enableHeadRotation || arg.enableExternalOrientation ) ) { IVAS_QUATERNION orientation; Loading @@ -3735,6 +3787,7 @@ static ivas_error decodeVoIP( } } } #endif #endif /* read all packets with a receive time smaller than the system time */ Loading apps/renderer.c +22 −0 Original line number Diff line number Diff line Loading @@ -46,8 +46,10 @@ #include "render_config_reader.h" #include "rotation_file_reader.h" #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING #include "quaternion_file_writer.h" #endif #endif #ifdef FIX_1053_REVERB_RECONFIGURATION #include "aeid_file_reader.h" #endif Loading Loading @@ -182,9 +184,11 @@ typedef struct char customHrtfFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; char renderConfigFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING char mainOrientationOutputFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; char trackedOrientationOutputFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; char combinedOrientationOutputFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; #endif #endif int8_t orientation_tracking; int16_t nonDiegeticPan; Loading Loading @@ -238,9 +242,11 @@ typedef enum CmdLnOptionId_referenceVectorFile, CmdLnOptionId_exteriorOrientationFile, #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING CmdLnOptionId_mainOrientationOutputFile, CmdLnOptionId_trackedRotationOutputFile, CmdLnOptionId_combinedOrientationOutputFile, #endif #endif CmdLnOptionId_framing, CmdLnOptionId_syncMdDelay, Loading Loading @@ -394,6 +400,7 @@ static const CmdLnParser_Option cliOptions[] = { .description = "External orientation trajectory file for simulation of external orientations", }, #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING { .id = CmdLnOptionId_mainOrientationOutputFile, .match = "main_orientation_output_file", Loading @@ -412,6 +419,7 @@ static const CmdLnParser_Option cliOptions[] = { .matchShort = "coof", .description = "Combined orientation data output File", }, #endif #endif { .id = CmdLnOptionId_framing, Loading Loading @@ -724,10 +732,12 @@ int main( RotFileReader *externalOrientationFileReader = NULL; RotFileReader *referenceRotReader = NULL; #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING QuaternionFileWriter *mainOrientationFileWriter = NULL; QuaternionFileWriter *trackedRotationFileWriter = NULL; QuaternionFileWriter *combinedOrientationFileWriter = NULL; #endif #endif #ifdef SPLIT_REND_WITH_HEAD_ROT IVAS_CLDFB_FILTER_BANK_HANDLE cldfbAna[IVAS_MAX_INPUT_CHANNELS]; IVAS_CLDFB_FILTER_BANK_HANDLE cldfbSyn[IVAS_MAX_INPUT_CHANNELS]; Loading Loading @@ -842,9 +852,11 @@ int main( convert_backslash( args.inLfePanningMatrixFile ); convert_backslash( args.externalOrientationFilePath ); #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING convert_backslash( args.mainOrientationOutputFilePath ); convert_backslash( args.trackedOrientationOutputFilePath ); convert_backslash( args.combinedOrientationOutputFilePath ); #endif #endif if ( !isEmptyString( args.headRotationFilePath ) ) Loading Loading @@ -890,6 +902,7 @@ int main( } #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING if ( !isEmptyString( args.mainOrientationOutputFilePath ) ) { if ( QuaternionFileWriter_open( args.mainOrientationOutputFilePath, &mainOrientationFileWriter ) != IVAS_ERR_OK ) Loading @@ -916,6 +929,7 @@ int main( exit( -1 ); } } #endif #endif if ( !isEmptyString( args.renderConfigFilePath ) ) Loading Loading @@ -1795,6 +1809,7 @@ int main( } #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING if ( mainOrientationFileWriter != NULL && headRotReader != NULL ) { for ( sf_idx = 0; sf_idx < num_subframes; sf_idx++ ) Loading Loading @@ -1851,6 +1866,7 @@ int main( } } } #endif #endif /* Combine external orientations and head rotation */ Loading Loading @@ -2261,9 +2277,11 @@ cleanup: RotationFileReader_close( &externalOrientationFileReader ); RotationFileReader_close( &referenceRotReader ); #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING QuaternionFileWriter_close( &mainOrientationFileWriter ); QuaternionFileWriter_close( &trackedRotationFileWriter ); QuaternionFileWriter_close( &combinedOrientationFileWriter ); #endif #endif Vector3PairFileReader_close( &referenceVectorReader ); Loading Loading @@ -2839,9 +2857,11 @@ static CmdlnArgs defaultArgs( clearString( args.externalOrientationFilePath ); #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING clearString( args.mainOrientationOutputFilePath ); clearString( args.trackedOrientationOutputFilePath ); clearString( args.combinedOrientationOutputFilePath ); #endif #endif args.orientation_tracking = IVAS_HEAD_ORIENT_TRK_NONE; Loading Loading @@ -2961,6 +2981,7 @@ static void parseOption( strncpy( args->externalOrientationFilePath, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 ); break; #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING case CmdLnOptionId_mainOrientationOutputFile: assert( numOptionValues == 1 ); strncpy( args->mainOrientationOutputFilePath, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 ); Loading @@ -2973,6 +2994,7 @@ static void parseOption( assert( numOptionValues == 1 ); strncpy( args->combinedOrientationOutputFilePath, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 ); break; #endif #endif case CmdLnOptionId_customHrtfFile: assert( numOptionValues == 1 ); Loading readme.txt +0 −6 Original line number Diff line number Diff line Loading @@ -274,9 +274,6 @@ Options: -fr L : render frame size in ms L=(5,10,20), default is 20 -hrtf File : HRTF filter File used in BINAURAL rendering -T File : Head rotation specified by external trajectory File -moof File : Main orientation data output File -trof File : Tracked rotation data output File -coof File : Combined orientation data output File -otr tracking_type : Head orientation tracking type: 'none', 'ref', 'avg', 'ref_vec' or 'ref_vec_lev' (only for binaural rendering) -rf File : Reference rotation specified by external trajectory File Loading Loading @@ -315,9 +312,6 @@ Options: -fr L : render frame size in ms L=(5,10,20), default is 20 -hrtf File : Custom HRTF File for binaural rendering (only for binaural outputs) -T File : Head rotation trajectory File for simulation of head tracking (only for binaural outputs) -moof File : Main orientation data output File -trof File : Tracked rotation data output File -coof File : Combined orientation data output File -otr tracking_type : Head orientation tracking type: 'none', 'ref', 'avg' or `ref_vec` or `ref_vec_lev` (only for binaural outputs) -rf File : Reference rotation trajectory File for simulation of head tracking (only for binaural outputs) -rvf File : Reference vector trajectory File for simulation of head tracking (only for binaural outputs) Loading lib_com/options.h +1 −1 File changed.Contains only whitespace changes. Show changes Loading
apps/decoder.c +53 −0 Original line number Diff line number Diff line Loading @@ -47,8 +47,10 @@ #include "aeid_file_reader.h" #endif #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING #include "quaternion_file_writer.h" #endif #endif #ifdef SPLIT_REND_WITH_HEAD_ROT #include "split_render_file_read_write.h" #endif Loading Loading @@ -120,12 +122,14 @@ typedef struct bool enableHeadRotation; char *headrotTrajFileName; #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING bool mainOrientationWriterEnabled; char *mainOrientationFilename; bool trackedRotationWriterEnabled; char *trackedRotationFilename; bool combinedOrientationWriterEnabled; char *combinedOrientationFilename; #endif #endif bool enableReferenceRotation; char *refrotTrajFileName; Loading Loading @@ -184,6 +188,7 @@ typedef struct static bool parseCmdlIVAS_dec( int16_t argc, char **argv, DecArguments *arg ); static void usage_dec( void ); #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING #ifdef SPLIT_REND_WITH_HEAD_ROT static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, QuaternionFileWriter *mainOrientWriter, QuaternionFileWriter *trackRotWriter, QuaternionFileWriter *combOrientWriter, Vector3PairFileReader *referenceVectorReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ); #else Loading @@ -198,6 +203,14 @@ static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, RotF #endif static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec ); #endif #else #ifdef SPLIT_REND_WITH_HEAD_ROT static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ); #else static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ); #endif static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec ); #endif #ifdef DEBUGGING static ivas_error printBitstreamInfoVoip( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HANDLE hIvasDec ); Loading Loading @@ -232,9 +245,11 @@ int main( RotFileReader *externalOrientationFileReader = NULL; RotFileReader *refRotReader = NULL; #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING QuaternionFileWriter *mainOrientWriter = NULL; QuaternionFileWriter *trackRotWriter = NULL; QuaternionFileWriter *combOrientWriter = NULL; #endif #endif Vector3PairFileReader *referenceVectorReader = NULL; RenderConfigReader *renderConfigReader = NULL; Loading Loading @@ -372,6 +387,7 @@ int main( } #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING /*------------------------------------------------------------------------------------------* * Open main orientation output file for writing *------------------------------------------------------------------------------------------*/ Loading Loading @@ -410,6 +426,7 @@ int main( goto cleanup; } } #endif #endif /*------------------------------------------------------------------------------------------* Loading Loading @@ -949,7 +966,11 @@ int main( if ( arg.voipMode ) { #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING error = decodeVoIP( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, mainOrientWriter, trackRotWriter, combOrientWriter, referenceVectorReader, hIvasDec ); #else error = decodeVoIP( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, hIvasDec ); #endif #else error = decodeVoIP( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, hIvasDec ); #endif Loading @@ -957,6 +978,7 @@ int main( else { #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING #ifdef SPLIT_REND_WITH_HEAD_ROT error = decodeG192( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, mainOrientWriter, trackRotWriter, combOrientWriter, referenceVectorReader, &splitRendBits, hIvasDec, pcmBuf ); #else Loading @@ -968,6 +990,13 @@ int main( #else error = decodeG192( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, hIvasDec, pcmBuf ); #endif #endif #else #ifdef SPLIT_REND_WITH_HEAD_ROT error = decodeG192( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, &splitRendBits, hIvasDec, pcmBuf ); #else error = decodeG192( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, hIvasDec, pcmBuf ); #endif #endif } Loading Loading @@ -1039,9 +1068,11 @@ cleanup: RotationFileReader_close( &externalOrientationFileReader ); RotationFileReader_close( &refRotReader ); #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING QuaternionFileWriter_close( &mainOrientWriter ); QuaternionFileWriter_close( &trackRotWriter ); QuaternionFileWriter_close( &combOrientWriter ); #endif #endif Vector3PairFileReader_close( &referenceVectorReader ); RenderConfigReader_close( &renderConfigReader ); Loading Loading @@ -1195,12 +1226,14 @@ static bool parseCmdlIVAS_dec( arg->enableHeadRotation = false; arg->headrotTrajFileName = NULL; #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING arg->mainOrientationWriterEnabled = false; arg->mainOrientationFilename = NULL; arg->trackedRotationWriterEnabled = false; arg->trackedRotationFilename = NULL; arg->combinedOrientationWriterEnabled = false; arg->combinedOrientationFilename = NULL; #endif #endif arg->orientation_tracking = ORIENT_TRK_NONE; arg->enableReferenceRotation = false; Loading Loading @@ -1437,6 +1470,7 @@ static bool parseCmdlIVAS_dec( i++; } #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING else if ( strcmp( argv_to_upper, "-MOOF" ) == 0 ) { arg->mainOrientationWriterEnabled = true; Loading Loading @@ -1482,6 +1516,7 @@ static bool parseCmdlIVAS_dec( arg->combinedOrientationFilename = argv[i]; i++; } #endif #endif else if ( strcmp( argv_to_upper, "-FR" ) == 0 ) { Loading Loading @@ -1947,9 +1982,11 @@ static void usage_dec( void ) fprintf( stdout, "-hrtf File : HRTF filter File used in BINAURAL output configuration\n" ); fprintf( stdout, "-T File : Head rotation specified by external trajectory File\n" ); #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING fprintf( stdout, "-moof File : Main orientation data output File\n" ); fprintf( stdout, "-trof File : Tracked rotation data output File\n" ); fprintf( stdout, "-coof File : Combined orientation data output File\n" ); #endif #endif fprintf( stdout, "-otr tracking_type : Head orientation tracking type: 'none', 'ref', 'avg', 'ref_vec' \n" ); fprintf( stdout, " or 'ref_vec_lev' (only for binaural rendering)\n" ); Loading Loading @@ -2367,9 +2404,11 @@ static ivas_error decodeG192( RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING QuaternionFileWriter *mainOrientWriter, QuaternionFileWriter *trackRotWriter, QuaternionFileWriter *combOrientWriter, #endif #endif Vector3PairFileReader *referenceVectorReader, #ifdef SPLIT_REND_WITH_HEAD_ROT Loading Loading @@ -2615,6 +2654,7 @@ static ivas_error decodeG192( } #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING if ( arg.mainOrientationWriterEnabled ) { IVAS_QUATERNION orientation; Loading Loading @@ -2652,6 +2692,7 @@ static ivas_error decodeG192( } } } #endif #endif } Loading Loading @@ -2682,6 +2723,7 @@ static ivas_error decodeG192( } #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING if ( arg.combinedOrientationWriterEnabled && ( arg.enableHeadRotation || arg.enableExternalOrientation ) ) { IVAS_QUATERNION orientation; Loading @@ -2700,6 +2742,7 @@ static ivas_error decodeG192( } } } #endif #endif /* decode and get samples */ Loading Loading @@ -3036,6 +3079,7 @@ static ivas_error decodeG192( } #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING if ( arg.mainOrientationWriterEnabled ) { IVAS_QUATERNION orientation; Loading Loading @@ -3073,10 +3117,12 @@ static ivas_error decodeG192( } } } #endif #endif } #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING if ( arg.combinedOrientationWriterEnabled && ( arg.enableHeadRotation || arg.enableExternalOrientation ) ) { IVAS_QUATERNION orientation; Loading @@ -3095,6 +3141,7 @@ static ivas_error decodeG192( } } } #endif #endif /* decode and get samples */ Loading Loading @@ -3389,9 +3436,11 @@ static ivas_error decodeVoIP( RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING QuaternionFileWriter *mainOrientWriter, QuaternionFileWriter *trackRotWriter, QuaternionFileWriter *combOrientWriter, #endif #endif Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec ) Loading Loading @@ -3648,6 +3697,7 @@ static ivas_error decodeVoIP( } #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING if ( arg.mainOrientationWriterEnabled ) { IVAS_QUATERNION orientation; Loading Loading @@ -3685,6 +3735,7 @@ static ivas_error decodeVoIP( } } } #endif #endif } Loading Loading @@ -3717,6 +3768,7 @@ static ivas_error decodeVoIP( } #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING if ( arg.combinedOrientationWriterEnabled && ( arg.enableHeadRotation || arg.enableExternalOrientation ) ) { IVAS_QUATERNION orientation; Loading @@ -3735,6 +3787,7 @@ static ivas_error decodeVoIP( } } } #endif #endif /* read all packets with a receive time smaller than the system time */ Loading
apps/renderer.c +22 −0 Original line number Diff line number Diff line Loading @@ -46,8 +46,10 @@ #include "render_config_reader.h" #include "rotation_file_reader.h" #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING #include "quaternion_file_writer.h" #endif #endif #ifdef FIX_1053_REVERB_RECONFIGURATION #include "aeid_file_reader.h" #endif Loading Loading @@ -182,9 +184,11 @@ typedef struct char customHrtfFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; char renderConfigFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING char mainOrientationOutputFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; char trackedOrientationOutputFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; char combinedOrientationOutputFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; #endif #endif int8_t orientation_tracking; int16_t nonDiegeticPan; Loading Loading @@ -238,9 +242,11 @@ typedef enum CmdLnOptionId_referenceVectorFile, CmdLnOptionId_exteriorOrientationFile, #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING CmdLnOptionId_mainOrientationOutputFile, CmdLnOptionId_trackedRotationOutputFile, CmdLnOptionId_combinedOrientationOutputFile, #endif #endif CmdLnOptionId_framing, CmdLnOptionId_syncMdDelay, Loading Loading @@ -394,6 +400,7 @@ static const CmdLnParser_Option cliOptions[] = { .description = "External orientation trajectory file for simulation of external orientations", }, #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING { .id = CmdLnOptionId_mainOrientationOutputFile, .match = "main_orientation_output_file", Loading @@ -412,6 +419,7 @@ static const CmdLnParser_Option cliOptions[] = { .matchShort = "coof", .description = "Combined orientation data output File", }, #endif #endif { .id = CmdLnOptionId_framing, Loading Loading @@ -724,10 +732,12 @@ int main( RotFileReader *externalOrientationFileReader = NULL; RotFileReader *referenceRotReader = NULL; #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING QuaternionFileWriter *mainOrientationFileWriter = NULL; QuaternionFileWriter *trackedRotationFileWriter = NULL; QuaternionFileWriter *combinedOrientationFileWriter = NULL; #endif #endif #ifdef SPLIT_REND_WITH_HEAD_ROT IVAS_CLDFB_FILTER_BANK_HANDLE cldfbAna[IVAS_MAX_INPUT_CHANNELS]; IVAS_CLDFB_FILTER_BANK_HANDLE cldfbSyn[IVAS_MAX_INPUT_CHANNELS]; Loading Loading @@ -842,9 +852,11 @@ int main( convert_backslash( args.inLfePanningMatrixFile ); convert_backslash( args.externalOrientationFilePath ); #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING convert_backslash( args.mainOrientationOutputFilePath ); convert_backslash( args.trackedOrientationOutputFilePath ); convert_backslash( args.combinedOrientationOutputFilePath ); #endif #endif if ( !isEmptyString( args.headRotationFilePath ) ) Loading Loading @@ -890,6 +902,7 @@ int main( } #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING if ( !isEmptyString( args.mainOrientationOutputFilePath ) ) { if ( QuaternionFileWriter_open( args.mainOrientationOutputFilePath, &mainOrientationFileWriter ) != IVAS_ERR_OK ) Loading @@ -916,6 +929,7 @@ int main( exit( -1 ); } } #endif #endif if ( !isEmptyString( args.renderConfigFilePath ) ) Loading Loading @@ -1795,6 +1809,7 @@ int main( } #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING if ( mainOrientationFileWriter != NULL && headRotReader != NULL ) { for ( sf_idx = 0; sf_idx < num_subframes; sf_idx++ ) Loading Loading @@ -1851,6 +1866,7 @@ int main( } } } #endif #endif /* Combine external orientations and head rotation */ Loading Loading @@ -2261,9 +2277,11 @@ cleanup: RotationFileReader_close( &externalOrientationFileReader ); RotationFileReader_close( &referenceRotReader ); #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING QuaternionFileWriter_close( &mainOrientationFileWriter ); QuaternionFileWriter_close( &trackedRotationFileWriter ); QuaternionFileWriter_close( &combinedOrientationFileWriter ); #endif #endif Vector3PairFileReader_close( &referenceVectorReader ); Loading Loading @@ -2839,9 +2857,11 @@ static CmdlnArgs defaultArgs( clearString( args.externalOrientationFilePath ); #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING clearString( args.mainOrientationOutputFilePath ); clearString( args.trackedOrientationOutputFilePath ); clearString( args.combinedOrientationOutputFilePath ); #endif #endif args.orientation_tracking = IVAS_HEAD_ORIENT_TRK_NONE; Loading Loading @@ -2961,6 +2981,7 @@ static void parseOption( strncpy( args->externalOrientationFilePath, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 ); break; #ifdef FIX_1100_OUTPUT_ORIENT #ifdef DEBUGGING case CmdLnOptionId_mainOrientationOutputFile: assert( numOptionValues == 1 ); strncpy( args->mainOrientationOutputFilePath, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 ); Loading @@ -2973,6 +2994,7 @@ static void parseOption( assert( numOptionValues == 1 ); strncpy( args->combinedOrientationOutputFilePath, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 ); break; #endif #endif case CmdLnOptionId_customHrtfFile: assert( numOptionValues == 1 ); Loading
readme.txt +0 −6 Original line number Diff line number Diff line Loading @@ -274,9 +274,6 @@ Options: -fr L : render frame size in ms L=(5,10,20), default is 20 -hrtf File : HRTF filter File used in BINAURAL rendering -T File : Head rotation specified by external trajectory File -moof File : Main orientation data output File -trof File : Tracked rotation data output File -coof File : Combined orientation data output File -otr tracking_type : Head orientation tracking type: 'none', 'ref', 'avg', 'ref_vec' or 'ref_vec_lev' (only for binaural rendering) -rf File : Reference rotation specified by external trajectory File Loading Loading @@ -315,9 +312,6 @@ Options: -fr L : render frame size in ms L=(5,10,20), default is 20 -hrtf File : Custom HRTF File for binaural rendering (only for binaural outputs) -T File : Head rotation trajectory File for simulation of head tracking (only for binaural outputs) -moof File : Main orientation data output File -trof File : Tracked rotation data output File -coof File : Combined orientation data output File -otr tracking_type : Head orientation tracking type: 'none', 'ref', 'avg' or `ref_vec` or `ref_vec_lev` (only for binaural outputs) -rf File : Reference rotation trajectory File for simulation of head tracking (only for binaural outputs) -rvf File : Reference vector trajectory File for simulation of head tracking (only for binaural outputs) Loading