Loading apps/decoder.c +0 −88 Original line number Diff line number Diff line Loading @@ -42,11 +42,7 @@ #include "ism_file_writer.h" #include "ls_custom_file_reader.h" #include "hrtf_file_reader.h" #ifdef EXTERNAL_ORIENTATIONS #include "rotation_file_reader.h" #else #include "head_rotation_file_reader.h" #endif #include "vector3_pair_file_reader.h" #include "jbm_file_writer.h" #include "evs_rtp_payload.h" Loading Loading @@ -105,10 +101,8 @@ typedef struct char *refrotTrajFileName; bool enableReferenceVectorTracking; char *referenceVectorTrajFileName; #ifdef EXTERNAL_ORIENTATIONS bool enableExternalOrientation; char *externalOrientationTrajFileName; #endif #ifdef SUPPORT_JBM_TRACEFILE char *jbmTraceFilename; #endif Loading Loading @@ -157,19 +151,11 @@ typedef struct static bool parseCmdlIVAS_dec( int16_t argc, char **argv, DecArguments *arg ); static void usage_dec( void ); #ifdef EXTERNAL_ORIENTATIONS 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 ); #else static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, HeadRotFileReader *headRotReader, HeadRotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ); #endif static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HANDLE hIvasDec ); #ifdef DEBUGGING #ifdef VARIABLE_SPEED_DECODING #ifdef EXTERNAL_ORIENTATIONS static ivas_error decodeVariableSpeed( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec ); #else static ivas_error decodeVariableSpeed( DecArguments arg, BS_READER_HANDLE hBsReader, HeadRotFileReader *headRotReader, HeadRotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec ); #endif #endif static ivas_error printBitstreamInfoVoip( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HANDLE hIvasDec ); static int16_t app_own_random( int16_t *seed ); Loading @@ -193,14 +179,9 @@ int main( BS_READER_HANDLE hBsReader = NULL; LsCustomFileReader *hLsCustomReader = NULL; hrtfFileReader *hrtfReader = NULL; #ifdef EXTERNAL_ORIENTATIONS RotFileReader *headRotReader = NULL; RotFileReader *externalOrientationFileReader = NULL; RotFileReader *refRotReader = NULL; #else HeadRotFileReader *headRotReader = NULL; HeadRotFileReader *refRotReader = NULL; #endif Vector3PairFileReader *referenceVectorReader = NULL; ivas_error error = IVAS_ERR_UNKNOWN; int16_t pcmBuf[MAX_OUTPUT_PCM_BUFFER_SIZE]; Loading Loading @@ -312,11 +293,7 @@ int main( goto cleanup; } #ifdef EXTERNAL_ORIENTATIONS if ( ( error = RotationFileReader_open( arg.headrotTrajFileName, &headRotReader ) ) != IVAS_ERR_OK ) #else if ( ( error = HeadRotationFileReader_open( arg.headrotTrajFileName, &headRotReader ) ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "\nError: Can't open head-rotation file %s \n\n", arg.headrotTrajFileName ); goto cleanup; Loading Loading @@ -347,11 +324,7 @@ int main( goto cleanup; } #ifdef EXTERNAL_ORIENTATIONS if ( ( error = RotationFileReader_open( arg.refrotTrajFileName, &refRotReader ) ) != IVAS_ERR_OK ) #else if ( ( error = HeadRotationFileReader_open( arg.refrotTrajFileName, &refRotReader ) ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "\nError: Can't open reference rotation file %s \n\n", arg.refrotTrajFileName ); goto cleanup; Loading Loading @@ -389,7 +362,6 @@ int main( } } #ifdef EXTERNAL_ORIENTATIONS /*------------------------------------------------------------------------------------------* * Open external orientation file *------------------------------------------------------------------------------------------*/ Loading @@ -402,7 +374,6 @@ int main( goto cleanup; } } #endif /*------------------------------------------------------------------------------------------* * Open custom loudspeaker layout file Loading Loading @@ -444,11 +415,7 @@ int main( /*------------------------------------------------------------------------------------------* * Configure the decoder *------------------------------------------------------------------------------------------*/ #ifdef EXTERNAL_ORIENTATIONS if ( ( error = IVAS_DEC_Configure( hIvasDec, arg.output_Fs, arg.outputFormat, arg.customLsOutputEnabled, arg.hrtfReaderEnabled, arg.enableHeadRotation, arg.enableExternalOrientation, arg.orientation_tracking, arg.renderConfigEnabled, arg.Opt_non_diegetic_pan, arg.non_diegetic_pan_gain, arg.delayCompensationEnabled ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_DEC_Configure( hIvasDec, arg.output_Fs, arg.outputFormat, arg.customLsOutputEnabled, arg.hrtfReaderEnabled, arg.enableHeadRotation, arg.orientation_tracking, arg.renderConfigEnabled, arg.Opt_non_diegetic_pan, arg.non_diegetic_pan_gain, arg.delayCompensationEnabled ) ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "\nConfigure failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); Loading Loading @@ -704,18 +671,14 @@ int main( else if ( arg.variableSpeedMode ) { error = decodeVariableSpeed( arg, hBsReader, headRotReader, #ifdef EXTERNAL_ORIENTATIONS externalOrientationFileReader, #endif refRotReader, referenceVectorReader, hIvasDec ); } #endif else { error = decodeG192( arg, hBsReader, headRotReader, #ifdef EXTERNAL_ORIENTATIONS externalOrientationFileReader, #endif refRotReader, referenceVectorReader, hIvasDec, pcmBuf ); } Loading Loading @@ -771,14 +734,9 @@ cleanup: IVAS_DEC_Close( &hIvasDec ); CustomLsReader_close( &hLsCustomReader ); hrtfFileReader_close( &hrtfReader ); #ifdef EXTERNAL_ORIENTATIONS RotationFileReader_close( &headRotReader ); RotationFileReader_close( &externalOrientationFileReader ); RotationFileReader_close( &refRotReader ); #else HeadRotationFileReader_close( &headRotReader ); HeadRotationFileReader_close( &refRotReader ); #endif Vector3PairFileReader_close( &referenceVectorReader ); RenderConfigReader_close( &renderConfigReader ); Loading Loading @@ -937,10 +895,8 @@ static bool parseCmdlIVAS_dec( arg->headrotTrajFileName = NULL; arg->enableReferenceVectorTracking = false; arg->referenceVectorTrajFileName = NULL; #ifdef EXTERNAL_ORIENTATIONS arg->enableExternalOrientation = false; arg->externalOrientationTrajFileName = NULL; #endif #ifdef SUPPORT_JBM_TRACEFILE arg->jbmTraceFilename = NULL; Loading Loading @@ -1251,7 +1207,6 @@ static bool parseCmdlIVAS_dec( arg->referenceVectorTrajFileName = argv[i]; i++; } #ifdef EXTERNAL_ORIENTATIONS else if ( strcmp( argv_to_upper, "-EXOF" ) == 0 ) { arg->enableExternalOrientation = true; Loading @@ -1267,7 +1222,6 @@ static bool parseCmdlIVAS_dec( arg->externalOrientationTrajFileName = argv[i]; i++; } #endif else if ( strcmp( argv_to_upper, "-RENDER_CONFIG" ) == 0 ) { arg->renderConfigEnabled = true; Loading Loading @@ -1510,9 +1464,7 @@ static void usage_dec( void ) fprintf( stdout, "-level level : Complexity level, level = (1, 2, 3), will be defined after characterisation. \n" ); fprintf( stdout, " Currently, all values default to level 3 (full functionality).\n" ); #endif #ifdef EXTERNAL_ORIENTATIONS fprintf( stdout, "-exof File : External orientation file for external orientation trajectory\n" ); #endif #ifdef DEBUG_MODE_INFO #ifdef DEBUG_MODE_INFO_TWEAK fprintf( stdout, "-info <folder> : specify subfolder name for debug output\n" ); Loading Loading @@ -1700,14 +1652,9 @@ static ivas_error initOnFirstGoodFrame( static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, #ifdef EXTERNAL_ORIENTATIONS RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, #else HeadRotFileReader *headRotReader, HeadRotFileReader *refRotReader, #endif Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ) Loading Loading @@ -1823,11 +1770,7 @@ static ivas_error decodeG192( if ( ( error = HeadRotationFileReading( refRotReader, &quaternion, NULL ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError %s while reading reference rotation from %s\n", IVAS_DEC_GetErrorMessage( error ), #ifdef EXTERNAL_ORIENTATIONS RotationFileReader_getFilePath( refRotReader ) ); #else HeadRotationFileReader_getFilePath( refRotReader ) ); #endif goto cleanup; } Loading @@ -1847,11 +1790,7 @@ static ivas_error decodeG192( if ( ( error = HeadRotationFileReading( headRotReader, &Quaternions[i], &Pos[i] ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError %s while reading head orientation from %s\n", IVAS_DEC_GetErrorMessage( error ), #ifdef EXTERNAL_ORIENTATIONS RotationFileReader_getFilePath( headRotReader ) ); #else HeadRotationFileReader_getFilePath( headRotReader ) ); #endif goto cleanup; } } Loading @@ -1863,7 +1802,6 @@ static ivas_error decodeG192( } } #ifdef EXTERNAL_ORIENTATIONS if ( arg.enableExternalOrientation ) { IVAS_QUATERNION Quaternions[IVAS_MAX_PARAM_SPATIAL_SUBFRAMES]; Loading @@ -1889,7 +1827,6 @@ static ivas_error decodeG192( goto cleanup; } } #endif /* Run decoder for one frame (get rendered output) */ if ( ( error = IVAS_DEC_GetSamples( hIvasDec, pcmBuf, &nOutSamples ) ) != IVAS_ERR_OK ) Loading Loading @@ -2623,14 +2560,9 @@ cleanup: static ivas_error decodeVariableSpeed( DecArguments arg, BS_READER_HANDLE hBsReader, #ifdef EXTERNAL_ORIENTATIONS RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, #else HeadRotFileReader *headRotReader, HeadRotFileReader *refRotReader, #endif Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec ) Loading Loading @@ -2735,11 +2667,7 @@ static ivas_error decodeVariableSpeed( if ( ( error = HeadRotationFileReading( refRotReader, &quaternion, NULL ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError %s while reading reference rotation from %s\n", IVAS_DEC_GetErrorMessage( error ), #ifdef EXTERNAL_ORIENTATIONS RotationFileReader_getFilePath( refRotReader ) ); #else HeadRotationFileReader_getFilePath( refRotReader ) ); #endif goto cleanup; } Loading @@ -2760,11 +2688,7 @@ static ivas_error decodeVariableSpeed( if ( ( error = HeadRotationFileReading( headRotReader, &Quaternions[i], &Pos[i] ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError %s while reading head orientation from %s\n", IVAS_DEC_GetErrorMessage( error ), #ifdef EXTERNAL_ORIENTATIONS RotationFileReader_getFilePath( headRotReader ) ); #else HeadRotationFileReader_getFilePath( headRotReader ) ); #endif goto cleanup; } } Loading @@ -2776,7 +2700,6 @@ static ivas_error decodeVariableSpeed( } } #ifdef EXTERNAL_ORIENTATIONS if ( arg.enableExternalOrientation ) { IVAS_QUATERNION Quaternions[IVAS_MAX_PARAM_SPATIAL_SUBFRAMES]; Loading @@ -2802,7 +2725,6 @@ static ivas_error decodeVariableSpeed( goto cleanup; } } #endif /* decode and get samples */ do Loading Loading @@ -3026,11 +2948,7 @@ static ivas_error decodeVariableSpeed( if ( ( error = HeadRotationFileReading( refRotReader, &quaternion, NULL ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError %s while reading reference rotation from %s\n", IVAS_DEC_GetErrorMessage( error ), #ifdef EXTERNAL_ORIENTATIONS RotationFileReader_getFilePath( refRotReader ) ); #else HeadRotationFileReader_getFilePath( refRotReader ) ); #endif goto cleanup; } Loading @@ -3050,11 +2968,7 @@ static ivas_error decodeVariableSpeed( if ( ( error = HeadRotationFileReading( headRotReader, &Quaternions[i], &Pos[i] ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError %s while reading head orientation from %s\n", IVAS_DEC_GetErrorMessage( error ), #ifdef EXTERNAL_ORIENTATIONS RotationFileReader_getFilePath( headRotReader ) ); #else HeadRotationFileReader_getFilePath( headRotReader ) ); #endif goto cleanup; } } Loading @@ -3066,7 +2980,6 @@ static ivas_error decodeVariableSpeed( } } #ifdef EXTERNAL_ORIENTATIONS if ( arg.enableExternalOrientation ) { IVAS_QUATERNION Quaternions[IVAS_MAX_PARAM_SPATIAL_SUBFRAMES]; Loading @@ -3092,7 +3005,6 @@ static ivas_error decodeVariableSpeed( goto cleanup; } } #endif /* decode and get samples */ if ( ( error = IVAS_DEC_VoIP_Flush( hIvasDec, nOutSamples, pcmBuf, &nSamplesAvailableNext, &nSamplesFlushed ) ) != IVAS_ERR_OK ) Loading apps/renderer.c +0 −38 Original line number Diff line number Diff line Loading @@ -41,11 +41,7 @@ #include "audio_file_writer.h" #include "cmdl_tools.h" #include "cmdln_parser.h" #ifdef EXTERNAL_ORIENTATIONS #include "rotation_file_reader.h" #else #include "head_rotation_file_reader.h" #endif #include "vector3_pair_file_reader.h" #include "hrtf_file_reader.h" #include "ism_file_reader.h" Loading Loading @@ -147,9 +143,7 @@ typedef struct char headRotationFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; char referenceVectorFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; char referenceRotationFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; #ifdef EXTERNAL_ORIENTATIONS char externalOrientationFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; #endif char customHrtfFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; char renderConfigFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; int8_t orientation_tracking; Loading Loading @@ -188,9 +182,7 @@ typedef enum CmdLnOptionId_listFormats, CmdLnOptionId_inputGain, CmdLnOptionId_referenceVectorFile, #ifdef EXTERNAL_ORIENTATIONS CmdLnOptionId_exteriorOrientationFile, #endif } CmdLnOptionId; static const CmdLnParser_Option cliOptions[] = { Loading Loading @@ -330,14 +322,12 @@ static const CmdLnParser_Option cliOptions[] = { .description = "Reference vector trajectory file for simulation of head tracking (only for BINAURAL and BINAURAL_ROOM outputs)", #endif }, #ifdef EXTERNAL_ORIENTATIONS { .id = CmdLnOptionId_exteriorOrientationFile, .match = "exterior_orientation_file", .matchShort = "exof", .description = "External orientation trajectory file for simulation of external orientations", }, #endif }; Loading Loading @@ -569,14 +559,9 @@ int main( char **argv ) { IVAS_REND_HANDLE hIvasRend; #ifdef EXTERNAL_ORIENTATIONS RotFileReader *headRotReader = NULL; RotFileReader *externalOrientationFileReader = NULL; RotFileReader *referenceRotReader = NULL; #else HeadRotFileReader *headRotReader = NULL; HeadRotFileReader *referenceRotReader = NULL; #endif Vector3PairFileReader *referenceVectorReader = NULL; hrtfFileReader *hrtfFileReader = NULL; IsmPositionProvider *positionProvider; Loading Loading @@ -646,17 +631,11 @@ int main( convert_backslash( args.referenceVectorFilePath ); convert_backslash( args.referenceRotationFilePath ); convert_backslash( args.inLfePanningMatrixFile ); #ifdef EXTERNAL_ORIENTATIONS convert_backslash( args.externalOrientationFilePath ); #endif if ( !isEmptyString( args.headRotationFilePath ) ) { #ifdef EXTERNAL_ORIENTATIONS if ( RotationFileReader_open( args.headRotationFilePath, &headRotReader ) != IVAS_ERR_OK ) #else if ( HeadRotationFileReader_open( args.headRotationFilePath, &headRotReader ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "Error opening file: %s\n", args.headRotationFilePath ); exit( -1 ); Loading @@ -665,11 +644,7 @@ int main( if ( !isEmptyString( args.referenceRotationFilePath ) ) { #ifdef EXTERNAL_ORIENTATIONS if ( RotationFileReader_open( args.referenceRotationFilePath, &referenceRotReader ) != IVAS_ERR_OK ) #else if ( HeadRotationFileReader_open( args.referenceRotationFilePath, &referenceRotReader ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "Error opening file: %s\n", args.referenceRotationFilePath ); exit( -1 ); Loading @@ -684,7 +659,6 @@ int main( } } #ifdef EXTERNAL_ORIENTATIONS if ( !isEmptyString( args.externalOrientationFilePath ) ) { if ( RotationFileReader_open( args.externalOrientationFilePath, &externalOrientationFileReader ) != IVAS_ERR_OK ) Loading @@ -693,7 +667,6 @@ int main( exit( -1 ); } } #endif if ( !isEmptyString( args.customHrtfFilePath ) ) { Loading Loading @@ -1177,7 +1150,6 @@ int main( } } #ifdef EXTERNAL_ORIENTATIONS /* Read from external orientation file if specified */ if ( externalOrientationFileReader != NULL ) { Loading Loading @@ -1210,7 +1182,6 @@ int main( fprintf( stderr, "Error combining external and head orientations: %s\n", ivas_error_to_string( error ) ); exit( -1 ); } #endif for ( i = 0; i < args.inConfig.numMultiChannelBuses; ++i ) { Loading Loading @@ -1505,14 +1476,9 @@ int main( #endif AudioFileReader_close( &audioReader ); AudioFileWriter_close( &audioWriter ); #ifdef EXTERNAL_ORIENTATIONS RotationFileReader_close( &headRotReader ); RotationFileReader_close( &externalOrientationFileReader ); RotationFileReader_close( &referenceRotReader ); #else HeadRotationFileReader_close( &headRotReader ); HeadRotationFileReader_close( &referenceRotReader ); #endif Vector3PairFileReader_close( &referenceVectorReader ); hrtfFileReader_close( &hrtfFileReader ); IVAS_REND_Close( &hIvasRend ); Loading Loading @@ -1998,9 +1964,7 @@ static CmdlnArgs defaultArgs( clearString( args.referenceRotationFilePath ); clearString( args.customHrtfFilePath ); clearString( args.renderConfigFilePath ); #ifdef EXTERNAL_ORIENTATIONS clearString( args.externalOrientationFilePath ); #endif args.orientation_tracking = HEAD_ORIENT_TRK_NONE; args.nonDiegeticPan = 0; Loading Loading @@ -2086,12 +2050,10 @@ static void parseOption( assert( numOptionValues == 1 ); strncpy( args->referenceRotationFilePath, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 ); break; #ifdef EXTERNAL_ORIENTATIONS case CmdLnOptionId_exteriorOrientationFile: assert( numOptionValues == 1 ); strncpy( args->externalOrientationFilePath, 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 ); Loading lib_com/ivas_error.h +0 −4 Original line number Diff line number Diff line Loading @@ -75,9 +75,7 @@ typedef enum IVAS_ERR_WRONG_MODE, IVAS_ERR_INVALID_OUTPUT_FORMAT, IVAS_ERR_HEAD_ROTATION_NOT_SUPPORTED, #ifdef EXTERNAL_ORIENTATIONS IVAS_ERR_EXT_ORIENTATION_NOT_SUPPORTED, #endif IVAS_ERR_INVALID_HRTF, IVAS_ERR_INVALID_INPUT_FORMAT, IVAS_ERR_INVALID_INDEX, /* ToDo: should be merged with IVAS_ERR_INDEX_OUT_OF_BOUNDS */ Loading Loading @@ -235,10 +233,8 @@ static inline const char *ivas_error_to_string( ivas_error error_code ) return "Wrong mode"; case IVAS_ERR_HEAD_ROTATION_NOT_SUPPORTED: return "Head rotation not supported"; #ifdef EXTERNAL_ORIENTATIONS case IVAS_ERR_EXT_ORIENTATION_NOT_SUPPORTED: return "External orientation not supported"; #endif case IVAS_ERR_INVALID_HRTF: return "Unsupported HRTF filter set"; case IVAS_ERR_INVALID_INPUT_FORMAT: Loading lib_com/ivas_prot.h +0 −4 Original line number Diff line number Diff line Loading @@ -5147,12 +5147,8 @@ void ivas_binaural_cldfb_sf( #endif void ivas_binRenderer( BINAURAL_RENDERER_HANDLE hBinRenderer, /* i/o: fastconv binaural renderer handle */ #ifdef EXTERNAL_ORIENTATIONS COMBINED_ORIENTATION_HANDLE hCombinedOrientationData, /* i : combined head and external orientation handle */ int16_t subframe_idx, /* i : subframe index */ #else HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i/o: head track handle */ #endif const int16_t numTimeSlots, /* i: : number of time slots to process */ float Cldfb_RealBuffer_Binaural[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : Binaural signals */ float Cldfb_ImagBuffer_Binaural[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : Binaural signals */ Loading lib_com/options.h +0 −1 Original line number Diff line number Diff line Loading @@ -154,7 +154,6 @@ #define EXTERNAL_ORIENTATIONS /* Nokia: Contribution 41: (external) orientation information handling */ #define FIX_541_EXT_REND_MASA_ROTATIONS /* Nokia: Issue 541, rotations missing in masa external renderer */ #define MASA_PREREND /* Nokia: Contribution 42: Support for IVAS_rend to merge MASA + other format to MASA */ Loading Loading
apps/decoder.c +0 −88 Original line number Diff line number Diff line Loading @@ -42,11 +42,7 @@ #include "ism_file_writer.h" #include "ls_custom_file_reader.h" #include "hrtf_file_reader.h" #ifdef EXTERNAL_ORIENTATIONS #include "rotation_file_reader.h" #else #include "head_rotation_file_reader.h" #endif #include "vector3_pair_file_reader.h" #include "jbm_file_writer.h" #include "evs_rtp_payload.h" Loading Loading @@ -105,10 +101,8 @@ typedef struct char *refrotTrajFileName; bool enableReferenceVectorTracking; char *referenceVectorTrajFileName; #ifdef EXTERNAL_ORIENTATIONS bool enableExternalOrientation; char *externalOrientationTrajFileName; #endif #ifdef SUPPORT_JBM_TRACEFILE char *jbmTraceFilename; #endif Loading Loading @@ -157,19 +151,11 @@ typedef struct static bool parseCmdlIVAS_dec( int16_t argc, char **argv, DecArguments *arg ); static void usage_dec( void ); #ifdef EXTERNAL_ORIENTATIONS 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 ); #else static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, HeadRotFileReader *headRotReader, HeadRotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ); #endif static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HANDLE hIvasDec ); #ifdef DEBUGGING #ifdef VARIABLE_SPEED_DECODING #ifdef EXTERNAL_ORIENTATIONS static ivas_error decodeVariableSpeed( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec ); #else static ivas_error decodeVariableSpeed( DecArguments arg, BS_READER_HANDLE hBsReader, HeadRotFileReader *headRotReader, HeadRotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec ); #endif #endif static ivas_error printBitstreamInfoVoip( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HANDLE hIvasDec ); static int16_t app_own_random( int16_t *seed ); Loading @@ -193,14 +179,9 @@ int main( BS_READER_HANDLE hBsReader = NULL; LsCustomFileReader *hLsCustomReader = NULL; hrtfFileReader *hrtfReader = NULL; #ifdef EXTERNAL_ORIENTATIONS RotFileReader *headRotReader = NULL; RotFileReader *externalOrientationFileReader = NULL; RotFileReader *refRotReader = NULL; #else HeadRotFileReader *headRotReader = NULL; HeadRotFileReader *refRotReader = NULL; #endif Vector3PairFileReader *referenceVectorReader = NULL; ivas_error error = IVAS_ERR_UNKNOWN; int16_t pcmBuf[MAX_OUTPUT_PCM_BUFFER_SIZE]; Loading Loading @@ -312,11 +293,7 @@ int main( goto cleanup; } #ifdef EXTERNAL_ORIENTATIONS if ( ( error = RotationFileReader_open( arg.headrotTrajFileName, &headRotReader ) ) != IVAS_ERR_OK ) #else if ( ( error = HeadRotationFileReader_open( arg.headrotTrajFileName, &headRotReader ) ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "\nError: Can't open head-rotation file %s \n\n", arg.headrotTrajFileName ); goto cleanup; Loading Loading @@ -347,11 +324,7 @@ int main( goto cleanup; } #ifdef EXTERNAL_ORIENTATIONS if ( ( error = RotationFileReader_open( arg.refrotTrajFileName, &refRotReader ) ) != IVAS_ERR_OK ) #else if ( ( error = HeadRotationFileReader_open( arg.refrotTrajFileName, &refRotReader ) ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "\nError: Can't open reference rotation file %s \n\n", arg.refrotTrajFileName ); goto cleanup; Loading Loading @@ -389,7 +362,6 @@ int main( } } #ifdef EXTERNAL_ORIENTATIONS /*------------------------------------------------------------------------------------------* * Open external orientation file *------------------------------------------------------------------------------------------*/ Loading @@ -402,7 +374,6 @@ int main( goto cleanup; } } #endif /*------------------------------------------------------------------------------------------* * Open custom loudspeaker layout file Loading Loading @@ -444,11 +415,7 @@ int main( /*------------------------------------------------------------------------------------------* * Configure the decoder *------------------------------------------------------------------------------------------*/ #ifdef EXTERNAL_ORIENTATIONS if ( ( error = IVAS_DEC_Configure( hIvasDec, arg.output_Fs, arg.outputFormat, arg.customLsOutputEnabled, arg.hrtfReaderEnabled, arg.enableHeadRotation, arg.enableExternalOrientation, arg.orientation_tracking, arg.renderConfigEnabled, arg.Opt_non_diegetic_pan, arg.non_diegetic_pan_gain, arg.delayCompensationEnabled ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_DEC_Configure( hIvasDec, arg.output_Fs, arg.outputFormat, arg.customLsOutputEnabled, arg.hrtfReaderEnabled, arg.enableHeadRotation, arg.orientation_tracking, arg.renderConfigEnabled, arg.Opt_non_diegetic_pan, arg.non_diegetic_pan_gain, arg.delayCompensationEnabled ) ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "\nConfigure failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); Loading Loading @@ -704,18 +671,14 @@ int main( else if ( arg.variableSpeedMode ) { error = decodeVariableSpeed( arg, hBsReader, headRotReader, #ifdef EXTERNAL_ORIENTATIONS externalOrientationFileReader, #endif refRotReader, referenceVectorReader, hIvasDec ); } #endif else { error = decodeG192( arg, hBsReader, headRotReader, #ifdef EXTERNAL_ORIENTATIONS externalOrientationFileReader, #endif refRotReader, referenceVectorReader, hIvasDec, pcmBuf ); } Loading Loading @@ -771,14 +734,9 @@ cleanup: IVAS_DEC_Close( &hIvasDec ); CustomLsReader_close( &hLsCustomReader ); hrtfFileReader_close( &hrtfReader ); #ifdef EXTERNAL_ORIENTATIONS RotationFileReader_close( &headRotReader ); RotationFileReader_close( &externalOrientationFileReader ); RotationFileReader_close( &refRotReader ); #else HeadRotationFileReader_close( &headRotReader ); HeadRotationFileReader_close( &refRotReader ); #endif Vector3PairFileReader_close( &referenceVectorReader ); RenderConfigReader_close( &renderConfigReader ); Loading Loading @@ -937,10 +895,8 @@ static bool parseCmdlIVAS_dec( arg->headrotTrajFileName = NULL; arg->enableReferenceVectorTracking = false; arg->referenceVectorTrajFileName = NULL; #ifdef EXTERNAL_ORIENTATIONS arg->enableExternalOrientation = false; arg->externalOrientationTrajFileName = NULL; #endif #ifdef SUPPORT_JBM_TRACEFILE arg->jbmTraceFilename = NULL; Loading Loading @@ -1251,7 +1207,6 @@ static bool parseCmdlIVAS_dec( arg->referenceVectorTrajFileName = argv[i]; i++; } #ifdef EXTERNAL_ORIENTATIONS else if ( strcmp( argv_to_upper, "-EXOF" ) == 0 ) { arg->enableExternalOrientation = true; Loading @@ -1267,7 +1222,6 @@ static bool parseCmdlIVAS_dec( arg->externalOrientationTrajFileName = argv[i]; i++; } #endif else if ( strcmp( argv_to_upper, "-RENDER_CONFIG" ) == 0 ) { arg->renderConfigEnabled = true; Loading Loading @@ -1510,9 +1464,7 @@ static void usage_dec( void ) fprintf( stdout, "-level level : Complexity level, level = (1, 2, 3), will be defined after characterisation. \n" ); fprintf( stdout, " Currently, all values default to level 3 (full functionality).\n" ); #endif #ifdef EXTERNAL_ORIENTATIONS fprintf( stdout, "-exof File : External orientation file for external orientation trajectory\n" ); #endif #ifdef DEBUG_MODE_INFO #ifdef DEBUG_MODE_INFO_TWEAK fprintf( stdout, "-info <folder> : specify subfolder name for debug output\n" ); Loading Loading @@ -1700,14 +1652,9 @@ static ivas_error initOnFirstGoodFrame( static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, #ifdef EXTERNAL_ORIENTATIONS RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, #else HeadRotFileReader *headRotReader, HeadRotFileReader *refRotReader, #endif Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ) Loading Loading @@ -1823,11 +1770,7 @@ static ivas_error decodeG192( if ( ( error = HeadRotationFileReading( refRotReader, &quaternion, NULL ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError %s while reading reference rotation from %s\n", IVAS_DEC_GetErrorMessage( error ), #ifdef EXTERNAL_ORIENTATIONS RotationFileReader_getFilePath( refRotReader ) ); #else HeadRotationFileReader_getFilePath( refRotReader ) ); #endif goto cleanup; } Loading @@ -1847,11 +1790,7 @@ static ivas_error decodeG192( if ( ( error = HeadRotationFileReading( headRotReader, &Quaternions[i], &Pos[i] ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError %s while reading head orientation from %s\n", IVAS_DEC_GetErrorMessage( error ), #ifdef EXTERNAL_ORIENTATIONS RotationFileReader_getFilePath( headRotReader ) ); #else HeadRotationFileReader_getFilePath( headRotReader ) ); #endif goto cleanup; } } Loading @@ -1863,7 +1802,6 @@ static ivas_error decodeG192( } } #ifdef EXTERNAL_ORIENTATIONS if ( arg.enableExternalOrientation ) { IVAS_QUATERNION Quaternions[IVAS_MAX_PARAM_SPATIAL_SUBFRAMES]; Loading @@ -1889,7 +1827,6 @@ static ivas_error decodeG192( goto cleanup; } } #endif /* Run decoder for one frame (get rendered output) */ if ( ( error = IVAS_DEC_GetSamples( hIvasDec, pcmBuf, &nOutSamples ) ) != IVAS_ERR_OK ) Loading Loading @@ -2623,14 +2560,9 @@ cleanup: static ivas_error decodeVariableSpeed( DecArguments arg, BS_READER_HANDLE hBsReader, #ifdef EXTERNAL_ORIENTATIONS RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, #else HeadRotFileReader *headRotReader, HeadRotFileReader *refRotReader, #endif Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec ) Loading Loading @@ -2735,11 +2667,7 @@ static ivas_error decodeVariableSpeed( if ( ( error = HeadRotationFileReading( refRotReader, &quaternion, NULL ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError %s while reading reference rotation from %s\n", IVAS_DEC_GetErrorMessage( error ), #ifdef EXTERNAL_ORIENTATIONS RotationFileReader_getFilePath( refRotReader ) ); #else HeadRotationFileReader_getFilePath( refRotReader ) ); #endif goto cleanup; } Loading @@ -2760,11 +2688,7 @@ static ivas_error decodeVariableSpeed( if ( ( error = HeadRotationFileReading( headRotReader, &Quaternions[i], &Pos[i] ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError %s while reading head orientation from %s\n", IVAS_DEC_GetErrorMessage( error ), #ifdef EXTERNAL_ORIENTATIONS RotationFileReader_getFilePath( headRotReader ) ); #else HeadRotationFileReader_getFilePath( headRotReader ) ); #endif goto cleanup; } } Loading @@ -2776,7 +2700,6 @@ static ivas_error decodeVariableSpeed( } } #ifdef EXTERNAL_ORIENTATIONS if ( arg.enableExternalOrientation ) { IVAS_QUATERNION Quaternions[IVAS_MAX_PARAM_SPATIAL_SUBFRAMES]; Loading @@ -2802,7 +2725,6 @@ static ivas_error decodeVariableSpeed( goto cleanup; } } #endif /* decode and get samples */ do Loading Loading @@ -3026,11 +2948,7 @@ static ivas_error decodeVariableSpeed( if ( ( error = HeadRotationFileReading( refRotReader, &quaternion, NULL ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError %s while reading reference rotation from %s\n", IVAS_DEC_GetErrorMessage( error ), #ifdef EXTERNAL_ORIENTATIONS RotationFileReader_getFilePath( refRotReader ) ); #else HeadRotationFileReader_getFilePath( refRotReader ) ); #endif goto cleanup; } Loading @@ -3050,11 +2968,7 @@ static ivas_error decodeVariableSpeed( if ( ( error = HeadRotationFileReading( headRotReader, &Quaternions[i], &Pos[i] ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError %s while reading head orientation from %s\n", IVAS_DEC_GetErrorMessage( error ), #ifdef EXTERNAL_ORIENTATIONS RotationFileReader_getFilePath( headRotReader ) ); #else HeadRotationFileReader_getFilePath( headRotReader ) ); #endif goto cleanup; } } Loading @@ -3066,7 +2980,6 @@ static ivas_error decodeVariableSpeed( } } #ifdef EXTERNAL_ORIENTATIONS if ( arg.enableExternalOrientation ) { IVAS_QUATERNION Quaternions[IVAS_MAX_PARAM_SPATIAL_SUBFRAMES]; Loading @@ -3092,7 +3005,6 @@ static ivas_error decodeVariableSpeed( goto cleanup; } } #endif /* decode and get samples */ if ( ( error = IVAS_DEC_VoIP_Flush( hIvasDec, nOutSamples, pcmBuf, &nSamplesAvailableNext, &nSamplesFlushed ) ) != IVAS_ERR_OK ) Loading
apps/renderer.c +0 −38 Original line number Diff line number Diff line Loading @@ -41,11 +41,7 @@ #include "audio_file_writer.h" #include "cmdl_tools.h" #include "cmdln_parser.h" #ifdef EXTERNAL_ORIENTATIONS #include "rotation_file_reader.h" #else #include "head_rotation_file_reader.h" #endif #include "vector3_pair_file_reader.h" #include "hrtf_file_reader.h" #include "ism_file_reader.h" Loading Loading @@ -147,9 +143,7 @@ typedef struct char headRotationFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; char referenceVectorFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; char referenceRotationFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; #ifdef EXTERNAL_ORIENTATIONS char externalOrientationFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; #endif char customHrtfFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; char renderConfigFilePath[RENDERER_MAX_CLI_ARG_LENGTH]; int8_t orientation_tracking; Loading Loading @@ -188,9 +182,7 @@ typedef enum CmdLnOptionId_listFormats, CmdLnOptionId_inputGain, CmdLnOptionId_referenceVectorFile, #ifdef EXTERNAL_ORIENTATIONS CmdLnOptionId_exteriorOrientationFile, #endif } CmdLnOptionId; static const CmdLnParser_Option cliOptions[] = { Loading Loading @@ -330,14 +322,12 @@ static const CmdLnParser_Option cliOptions[] = { .description = "Reference vector trajectory file for simulation of head tracking (only for BINAURAL and BINAURAL_ROOM outputs)", #endif }, #ifdef EXTERNAL_ORIENTATIONS { .id = CmdLnOptionId_exteriorOrientationFile, .match = "exterior_orientation_file", .matchShort = "exof", .description = "External orientation trajectory file for simulation of external orientations", }, #endif }; Loading Loading @@ -569,14 +559,9 @@ int main( char **argv ) { IVAS_REND_HANDLE hIvasRend; #ifdef EXTERNAL_ORIENTATIONS RotFileReader *headRotReader = NULL; RotFileReader *externalOrientationFileReader = NULL; RotFileReader *referenceRotReader = NULL; #else HeadRotFileReader *headRotReader = NULL; HeadRotFileReader *referenceRotReader = NULL; #endif Vector3PairFileReader *referenceVectorReader = NULL; hrtfFileReader *hrtfFileReader = NULL; IsmPositionProvider *positionProvider; Loading Loading @@ -646,17 +631,11 @@ int main( convert_backslash( args.referenceVectorFilePath ); convert_backslash( args.referenceRotationFilePath ); convert_backslash( args.inLfePanningMatrixFile ); #ifdef EXTERNAL_ORIENTATIONS convert_backslash( args.externalOrientationFilePath ); #endif if ( !isEmptyString( args.headRotationFilePath ) ) { #ifdef EXTERNAL_ORIENTATIONS if ( RotationFileReader_open( args.headRotationFilePath, &headRotReader ) != IVAS_ERR_OK ) #else if ( HeadRotationFileReader_open( args.headRotationFilePath, &headRotReader ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "Error opening file: %s\n", args.headRotationFilePath ); exit( -1 ); Loading @@ -665,11 +644,7 @@ int main( if ( !isEmptyString( args.referenceRotationFilePath ) ) { #ifdef EXTERNAL_ORIENTATIONS if ( RotationFileReader_open( args.referenceRotationFilePath, &referenceRotReader ) != IVAS_ERR_OK ) #else if ( HeadRotationFileReader_open( args.referenceRotationFilePath, &referenceRotReader ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "Error opening file: %s\n", args.referenceRotationFilePath ); exit( -1 ); Loading @@ -684,7 +659,6 @@ int main( } } #ifdef EXTERNAL_ORIENTATIONS if ( !isEmptyString( args.externalOrientationFilePath ) ) { if ( RotationFileReader_open( args.externalOrientationFilePath, &externalOrientationFileReader ) != IVAS_ERR_OK ) Loading @@ -693,7 +667,6 @@ int main( exit( -1 ); } } #endif if ( !isEmptyString( args.customHrtfFilePath ) ) { Loading Loading @@ -1177,7 +1150,6 @@ int main( } } #ifdef EXTERNAL_ORIENTATIONS /* Read from external orientation file if specified */ if ( externalOrientationFileReader != NULL ) { Loading Loading @@ -1210,7 +1182,6 @@ int main( fprintf( stderr, "Error combining external and head orientations: %s\n", ivas_error_to_string( error ) ); exit( -1 ); } #endif for ( i = 0; i < args.inConfig.numMultiChannelBuses; ++i ) { Loading Loading @@ -1505,14 +1476,9 @@ int main( #endif AudioFileReader_close( &audioReader ); AudioFileWriter_close( &audioWriter ); #ifdef EXTERNAL_ORIENTATIONS RotationFileReader_close( &headRotReader ); RotationFileReader_close( &externalOrientationFileReader ); RotationFileReader_close( &referenceRotReader ); #else HeadRotationFileReader_close( &headRotReader ); HeadRotationFileReader_close( &referenceRotReader ); #endif Vector3PairFileReader_close( &referenceVectorReader ); hrtfFileReader_close( &hrtfFileReader ); IVAS_REND_Close( &hIvasRend ); Loading Loading @@ -1998,9 +1964,7 @@ static CmdlnArgs defaultArgs( clearString( args.referenceRotationFilePath ); clearString( args.customHrtfFilePath ); clearString( args.renderConfigFilePath ); #ifdef EXTERNAL_ORIENTATIONS clearString( args.externalOrientationFilePath ); #endif args.orientation_tracking = HEAD_ORIENT_TRK_NONE; args.nonDiegeticPan = 0; Loading Loading @@ -2086,12 +2050,10 @@ static void parseOption( assert( numOptionValues == 1 ); strncpy( args->referenceRotationFilePath, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 ); break; #ifdef EXTERNAL_ORIENTATIONS case CmdLnOptionId_exteriorOrientationFile: assert( numOptionValues == 1 ); strncpy( args->externalOrientationFilePath, 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 ); Loading
lib_com/ivas_error.h +0 −4 Original line number Diff line number Diff line Loading @@ -75,9 +75,7 @@ typedef enum IVAS_ERR_WRONG_MODE, IVAS_ERR_INVALID_OUTPUT_FORMAT, IVAS_ERR_HEAD_ROTATION_NOT_SUPPORTED, #ifdef EXTERNAL_ORIENTATIONS IVAS_ERR_EXT_ORIENTATION_NOT_SUPPORTED, #endif IVAS_ERR_INVALID_HRTF, IVAS_ERR_INVALID_INPUT_FORMAT, IVAS_ERR_INVALID_INDEX, /* ToDo: should be merged with IVAS_ERR_INDEX_OUT_OF_BOUNDS */ Loading Loading @@ -235,10 +233,8 @@ static inline const char *ivas_error_to_string( ivas_error error_code ) return "Wrong mode"; case IVAS_ERR_HEAD_ROTATION_NOT_SUPPORTED: return "Head rotation not supported"; #ifdef EXTERNAL_ORIENTATIONS case IVAS_ERR_EXT_ORIENTATION_NOT_SUPPORTED: return "External orientation not supported"; #endif case IVAS_ERR_INVALID_HRTF: return "Unsupported HRTF filter set"; case IVAS_ERR_INVALID_INPUT_FORMAT: Loading
lib_com/ivas_prot.h +0 −4 Original line number Diff line number Diff line Loading @@ -5147,12 +5147,8 @@ void ivas_binaural_cldfb_sf( #endif void ivas_binRenderer( BINAURAL_RENDERER_HANDLE hBinRenderer, /* i/o: fastconv binaural renderer handle */ #ifdef EXTERNAL_ORIENTATIONS COMBINED_ORIENTATION_HANDLE hCombinedOrientationData, /* i : combined head and external orientation handle */ int16_t subframe_idx, /* i : subframe index */ #else HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i/o: head track handle */ #endif const int16_t numTimeSlots, /* i: : number of time slots to process */ float Cldfb_RealBuffer_Binaural[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : Binaural signals */ float Cldfb_ImagBuffer_Binaural[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : Binaural signals */ Loading
lib_com/options.h +0 −1 Original line number Diff line number Diff line Loading @@ -154,7 +154,6 @@ #define EXTERNAL_ORIENTATIONS /* Nokia: Contribution 41: (external) orientation information handling */ #define FIX_541_EXT_REND_MASA_ROTATIONS /* Nokia: Issue 541, rotations missing in masa external renderer */ #define MASA_PREREND /* Nokia: Contribution 42: Support for IVAS_rend to merge MASA + other format to MASA */ Loading