Loading apps/decoder.c +4 −4 Original line number Diff line number Diff line Loading @@ -1592,8 +1592,6 @@ static void usage_dec( void ) #endif fprintf( stdout, "-non_diegetic_pan P : panning mono non-diegetic sound to stereo with paning P, -90<= P <=90,\n" ); fprintf( stdout, " left or l or 90->left, right or r or -90->right, center or c or 0->middle\n" ); fprintf( stdout, "-q : Quiet mode, no frame counter\n" ); fprintf( stdout, " default is deactivated\n" ); #ifdef DEBUGGING fprintf( stdout, "-FEC X : Insert frame erasures, X = 0-10 is the percentage\n" ); fprintf( stdout, " of erased frames, or X may be the name of binary file or \n" ); Loading @@ -1601,12 +1599,14 @@ static void usage_dec( void ) fprintf( stdout, " containing FEC pattern (short values of 0 (good) or 1 (bad))\n" ); 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" ); 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 fprintf( stdout, "-exof File : External orientation File for external orientation trajectory\n" ); fprintf( stdout, "-dpid ID : Directivity pattern ID(s) (space-separated list of up to 4 numbers can be specified) for binaural output configuration\n" ); fprintf( stdout, "-aeid ID : Acoustic environment ID (number >= 0) for BINAURAL_ROOM_REVERB output configuration\n" ); 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" ); fprintf( stdout, "-q : Quiet mode, no frame counter\n" ); fprintf( stdout, " default is deactivated\n" ); #ifdef DEBUG_MODE_INFO #ifdef DEBUG_MODE_INFO_TWEAK fprintf( stdout, "-info <folder> : specify subfolder name for debug output\n" ); Loading apps/encoder.c +9 −17 Original line number Diff line number Diff line Loading @@ -1912,16 +1912,8 @@ static void usage_enc( void ) fprintf( stdout, " for 2 ISM, 3 ISM and 4 ISM also 160000, 192000, 256000) \n" ); fprintf( stdout, " for 3 ISM and 4 ISM also 384000 \n" ); fprintf( stdout, " for 4 ISM also 512000 \n" ); fprintf( stdout, " for IVAS SBA, MASA, MC R=(13200, 16400, 24400, 32000, 48000, 64000, 80000, \n" ); fprintf( stdout, " 96000, 128000, 160000, 192000, 256000, 384000, 512000) \n" ); #ifdef SBA_AND_OBJECTS fprintf( stdout, " for IVAS objects-SBA R =(13200, 16400, 24400, 32000, 48000, 64000, 96000, 128000, \n" ); fprintf( stdout, " 160000, 192000, 256000, 384000, 512000)\n" ); #endif #ifdef MASA_AND_OBJECTS fprintf( stdout, " for IVAS objects-MASA R =(13200, 16400, 24400, 32000, 48000, 64000, 96000, 128000, \n" ); fprintf( stdout, " 160000, 192000, 256000, 384000, 512000)\n" ); #endif fprintf( stdout, " for IVAS SBA, MASA, MC, ISM-SBA, and ISM-MASA R=(13200, 16400, 24400, 32000, 48000, 64000,\n" ); fprintf( stdout, " 80000, 96000, 128000, 160000, 192000, 256000, 384000, 512000) \n" ); fprintf( stdout, " Alternatively, R can be a bitrate switching file which consists of R values\n" ); fprintf( stdout, " indicating the bitrate for each frame in bps. These values are stored in\n" ); fprintf( stdout, " binary format using 4 bytes per value\n" ); Loading @@ -1932,7 +1924,7 @@ static void usage_enc( void ) fprintf( stdout, "Options:\n" ); fprintf( stdout, "--------\n" ); fprintf( stdout, "EVS mono is default, for IVAS choose one of the following: -stereo, -ism, -sba, -masa, -mc\n" ); fprintf( stdout, "EVS mono is default, for IVAS choose one of the following: -stereo, -ism, -sba, -masa, -mc, -ism_sba, -ism_masa\n" ); fprintf( stdout, "-stereo : Stereo format \n" ); fprintf( stdout, "-ism (+)Ch Files : ISM format \n" ); fprintf( stdout, " where Ch specifies the number of ISMs (1-4)\n" ); Loading @@ -1946,16 +1938,16 @@ static void usage_enc( void ) fprintf( stdout, " where Ch specifies the number of MASA input/transport channels (1 or 2): \n" ); fprintf( stdout, " and File specifies input file containing parametric MASA metadata \n" ); #ifdef SBA_AND_OBJECTS fprintf( stdout, "-ism_sba IsmChannels SBAorder IsmFiles : SBA and ISM format \n" ); fprintf( stdout, " where IsmChannels specifies the number of ISms (1-4)\n" ); fprintf( stdout, " and SBAorder specifies the SBA order (1 to 3) \n" ); fprintf( stdout, " and IsmFiles specify input files containing metadata, one file per object \n" ); fprintf( stdout, "-ism_sba IsmCh +/-Order IsmFiles : SBA and ISM combined format\n" ); fprintf( stdout, " where IsmCh specifies the number of ISMs (1-4)\n" ); fprintf( stdout, " and Order specifies the SBA order (1 to 3) \n" ); fprintf( stdout, " and IsmFiles specify input files containing ISM metadata, one file per object \n" ); #endif #ifdef MASA_AND_OBJECTS fprintf( stdout, "-ism_masa IsmCh MasaCh IsmFiles MasaFile : MASA and ISM format \n" ); fprintf( stdout, "-ism_masa IsmCh MasaCh IsmFiles MasaFile : MASA and ISM combined format \n" ); fprintf( stdout, " where IsmCh specifies the number of ISMs (1-4),\n" ); fprintf( stdout, " MasaCh specifies the number of MASA input/transport channels (1-2), \n" ); fprintf( stdout, " IsmFiles specify input files containing metadata, one file per object, \n" ); fprintf( stdout, " IsmFiles specify input files containing ISM metadata, one file per object, \n" ); fprintf( stdout, " and MasaFile specifies input file containing parametric MASA metadata \n" ); #endif fprintf( stdout, "-mc InputConf : Multi-channel format\n" ); Loading apps/renderer.c +29 −0 Original line number Diff line number Diff line Loading @@ -174,6 +174,9 @@ typedef struct int8_t orientation_tracking; int16_t nonDiegeticPan; float nonDiegeticPanGain; #ifdef FIX_706_REND_COMPLEXITY_LEVELS IVAS_REND_COMPLEXITY_LEVEL complexityLevel; #endif bool delayCompensationEnabled; bool quietModeEnabled; bool sceneDescriptionInput; Loading Loading @@ -207,6 +210,9 @@ typedef enum CmdLnOptionId_orientationTracking, CmdlnOptionId_lfePosition, CmdlnOptionId_lfeMatrix, #ifdef FIX_706_REND_COMPLEXITY_LEVELS CmdLnOptionId_complexityLevel, #endif CmdLnOptionId_noDelayCmp, CmdLnOptionId_quietModeEnabled, CmdLnOptionId_inputMetadata, Loading Loading @@ -333,6 +339,14 @@ static const CmdLnParser_Option cliOptions[] = { .matchShort = "ndc", .description = "[flag] Turn off delay compensation", }, #ifdef FIX_706_REND_COMPLEXITY_LEVELS { .id = CmdLnOptionId_complexityLevel, .match = "complexity_level", .matchShort = "level", .description = "Complexity level, level = (1, 2, 3), will be defined after characterisation.", }, #endif { .id = CmdLnOptionId_quietModeEnabled, .match = "quiet", Loading Loading @@ -2672,6 +2686,21 @@ static void parseOption( strncpy( args->inLfePanningMatrixFile, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 ); args->lfeCustomRoutingEnabled = true; break; #ifdef FIX_706_REND_COMPLEXITY_LEVELS case CmdLnOptionId_complexityLevel: assert( numOptionValues == 1 ); args->complexityLevel = (int32_t) ( strtol( optionValues[0], NULL, 10 ) ); if ( args->complexityLevel < IVAS_REND_COMPLEXITY_LEVEL_ONE || args->complexityLevel > IVAS_REND_COMPLEXITY_LEVEL_THREE ) { fprintf( stdout, "Invalid complexity level specified.\n" ); exit( -1 ); } else if ( args->complexityLevel == IVAS_REND_COMPLEXITY_LEVEL_ONE || args->complexityLevel == IVAS_REND_COMPLEXITY_LEVEL_TWO ) { fprintf( stdout, "Complexity levels 1 and 2 will be defined after characterisation - default to level 3 (full functionality).\n" ); } break; #endif case CmdLnOptionId_noDelayCmp: assert( numOptionValues == 0 ); args->delayCompensationEnabled = false; Loading lib_com/options.h 100755 → 100644 +2 −0 Original line number Diff line number Diff line Loading @@ -178,6 +178,8 @@ #define FIX_LARGE_RENDERER_DELAY_COMP /* Fix renderer delay compensation with delays greater than 1 frame */ #define API_5MS /*FhG, Dlb: add 5ms framing cmd line arg*/ #define FIX_706_REND_COMPLEXITY_LEVELS /* VoiceAge: Implement complexity levels to renderer */ /* ################## End BE DEVELOPMENT switches ######################### */ Loading lib_rend/lib_rend.h +9 −0 Original line number Diff line number Diff line Loading @@ -120,6 +120,15 @@ typedef enum typedef uint16_t IVAS_REND_InputId; #ifdef FIX_706_REND_COMPLEXITY_LEVELS typedef enum _IVAS_REND_COMPLEXITY_LEVEL { IVAS_REND_COMPLEXITY_LEVEL_ONE = 1, IVAS_REND_COMPLEXITY_LEVEL_TWO = 2, IVAS_REND_COMPLEXITY_LEVEL_THREE = 3 } IVAS_REND_COMPLEXITY_LEVEL; #endif /* clang-format off */ /*----------------------------------------------------------------------------------* Loading Loading
apps/decoder.c +4 −4 Original line number Diff line number Diff line Loading @@ -1592,8 +1592,6 @@ static void usage_dec( void ) #endif fprintf( stdout, "-non_diegetic_pan P : panning mono non-diegetic sound to stereo with paning P, -90<= P <=90,\n" ); fprintf( stdout, " left or l or 90->left, right or r or -90->right, center or c or 0->middle\n" ); fprintf( stdout, "-q : Quiet mode, no frame counter\n" ); fprintf( stdout, " default is deactivated\n" ); #ifdef DEBUGGING fprintf( stdout, "-FEC X : Insert frame erasures, X = 0-10 is the percentage\n" ); fprintf( stdout, " of erased frames, or X may be the name of binary file or \n" ); Loading @@ -1601,12 +1599,14 @@ static void usage_dec( void ) fprintf( stdout, " containing FEC pattern (short values of 0 (good) or 1 (bad))\n" ); 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" ); 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 fprintf( stdout, "-exof File : External orientation File for external orientation trajectory\n" ); fprintf( stdout, "-dpid ID : Directivity pattern ID(s) (space-separated list of up to 4 numbers can be specified) for binaural output configuration\n" ); fprintf( stdout, "-aeid ID : Acoustic environment ID (number >= 0) for BINAURAL_ROOM_REVERB output configuration\n" ); 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" ); fprintf( stdout, "-q : Quiet mode, no frame counter\n" ); fprintf( stdout, " default is deactivated\n" ); #ifdef DEBUG_MODE_INFO #ifdef DEBUG_MODE_INFO_TWEAK fprintf( stdout, "-info <folder> : specify subfolder name for debug output\n" ); Loading
apps/encoder.c +9 −17 Original line number Diff line number Diff line Loading @@ -1912,16 +1912,8 @@ static void usage_enc( void ) fprintf( stdout, " for 2 ISM, 3 ISM and 4 ISM also 160000, 192000, 256000) \n" ); fprintf( stdout, " for 3 ISM and 4 ISM also 384000 \n" ); fprintf( stdout, " for 4 ISM also 512000 \n" ); fprintf( stdout, " for IVAS SBA, MASA, MC R=(13200, 16400, 24400, 32000, 48000, 64000, 80000, \n" ); fprintf( stdout, " 96000, 128000, 160000, 192000, 256000, 384000, 512000) \n" ); #ifdef SBA_AND_OBJECTS fprintf( stdout, " for IVAS objects-SBA R =(13200, 16400, 24400, 32000, 48000, 64000, 96000, 128000, \n" ); fprintf( stdout, " 160000, 192000, 256000, 384000, 512000)\n" ); #endif #ifdef MASA_AND_OBJECTS fprintf( stdout, " for IVAS objects-MASA R =(13200, 16400, 24400, 32000, 48000, 64000, 96000, 128000, \n" ); fprintf( stdout, " 160000, 192000, 256000, 384000, 512000)\n" ); #endif fprintf( stdout, " for IVAS SBA, MASA, MC, ISM-SBA, and ISM-MASA R=(13200, 16400, 24400, 32000, 48000, 64000,\n" ); fprintf( stdout, " 80000, 96000, 128000, 160000, 192000, 256000, 384000, 512000) \n" ); fprintf( stdout, " Alternatively, R can be a bitrate switching file which consists of R values\n" ); fprintf( stdout, " indicating the bitrate for each frame in bps. These values are stored in\n" ); fprintf( stdout, " binary format using 4 bytes per value\n" ); Loading @@ -1932,7 +1924,7 @@ static void usage_enc( void ) fprintf( stdout, "Options:\n" ); fprintf( stdout, "--------\n" ); fprintf( stdout, "EVS mono is default, for IVAS choose one of the following: -stereo, -ism, -sba, -masa, -mc\n" ); fprintf( stdout, "EVS mono is default, for IVAS choose one of the following: -stereo, -ism, -sba, -masa, -mc, -ism_sba, -ism_masa\n" ); fprintf( stdout, "-stereo : Stereo format \n" ); fprintf( stdout, "-ism (+)Ch Files : ISM format \n" ); fprintf( stdout, " where Ch specifies the number of ISMs (1-4)\n" ); Loading @@ -1946,16 +1938,16 @@ static void usage_enc( void ) fprintf( stdout, " where Ch specifies the number of MASA input/transport channels (1 or 2): \n" ); fprintf( stdout, " and File specifies input file containing parametric MASA metadata \n" ); #ifdef SBA_AND_OBJECTS fprintf( stdout, "-ism_sba IsmChannels SBAorder IsmFiles : SBA and ISM format \n" ); fprintf( stdout, " where IsmChannels specifies the number of ISms (1-4)\n" ); fprintf( stdout, " and SBAorder specifies the SBA order (1 to 3) \n" ); fprintf( stdout, " and IsmFiles specify input files containing metadata, one file per object \n" ); fprintf( stdout, "-ism_sba IsmCh +/-Order IsmFiles : SBA and ISM combined format\n" ); fprintf( stdout, " where IsmCh specifies the number of ISMs (1-4)\n" ); fprintf( stdout, " and Order specifies the SBA order (1 to 3) \n" ); fprintf( stdout, " and IsmFiles specify input files containing ISM metadata, one file per object \n" ); #endif #ifdef MASA_AND_OBJECTS fprintf( stdout, "-ism_masa IsmCh MasaCh IsmFiles MasaFile : MASA and ISM format \n" ); fprintf( stdout, "-ism_masa IsmCh MasaCh IsmFiles MasaFile : MASA and ISM combined format \n" ); fprintf( stdout, " where IsmCh specifies the number of ISMs (1-4),\n" ); fprintf( stdout, " MasaCh specifies the number of MASA input/transport channels (1-2), \n" ); fprintf( stdout, " IsmFiles specify input files containing metadata, one file per object, \n" ); fprintf( stdout, " IsmFiles specify input files containing ISM metadata, one file per object, \n" ); fprintf( stdout, " and MasaFile specifies input file containing parametric MASA metadata \n" ); #endif fprintf( stdout, "-mc InputConf : Multi-channel format\n" ); Loading
apps/renderer.c +29 −0 Original line number Diff line number Diff line Loading @@ -174,6 +174,9 @@ typedef struct int8_t orientation_tracking; int16_t nonDiegeticPan; float nonDiegeticPanGain; #ifdef FIX_706_REND_COMPLEXITY_LEVELS IVAS_REND_COMPLEXITY_LEVEL complexityLevel; #endif bool delayCompensationEnabled; bool quietModeEnabled; bool sceneDescriptionInput; Loading Loading @@ -207,6 +210,9 @@ typedef enum CmdLnOptionId_orientationTracking, CmdlnOptionId_lfePosition, CmdlnOptionId_lfeMatrix, #ifdef FIX_706_REND_COMPLEXITY_LEVELS CmdLnOptionId_complexityLevel, #endif CmdLnOptionId_noDelayCmp, CmdLnOptionId_quietModeEnabled, CmdLnOptionId_inputMetadata, Loading Loading @@ -333,6 +339,14 @@ static const CmdLnParser_Option cliOptions[] = { .matchShort = "ndc", .description = "[flag] Turn off delay compensation", }, #ifdef FIX_706_REND_COMPLEXITY_LEVELS { .id = CmdLnOptionId_complexityLevel, .match = "complexity_level", .matchShort = "level", .description = "Complexity level, level = (1, 2, 3), will be defined after characterisation.", }, #endif { .id = CmdLnOptionId_quietModeEnabled, .match = "quiet", Loading Loading @@ -2672,6 +2686,21 @@ static void parseOption( strncpy( args->inLfePanningMatrixFile, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 ); args->lfeCustomRoutingEnabled = true; break; #ifdef FIX_706_REND_COMPLEXITY_LEVELS case CmdLnOptionId_complexityLevel: assert( numOptionValues == 1 ); args->complexityLevel = (int32_t) ( strtol( optionValues[0], NULL, 10 ) ); if ( args->complexityLevel < IVAS_REND_COMPLEXITY_LEVEL_ONE || args->complexityLevel > IVAS_REND_COMPLEXITY_LEVEL_THREE ) { fprintf( stdout, "Invalid complexity level specified.\n" ); exit( -1 ); } else if ( args->complexityLevel == IVAS_REND_COMPLEXITY_LEVEL_ONE || args->complexityLevel == IVAS_REND_COMPLEXITY_LEVEL_TWO ) { fprintf( stdout, "Complexity levels 1 and 2 will be defined after characterisation - default to level 3 (full functionality).\n" ); } break; #endif case CmdLnOptionId_noDelayCmp: assert( numOptionValues == 0 ); args->delayCompensationEnabled = false; Loading
lib_com/options.h 100755 → 100644 +2 −0 Original line number Diff line number Diff line Loading @@ -178,6 +178,8 @@ #define FIX_LARGE_RENDERER_DELAY_COMP /* Fix renderer delay compensation with delays greater than 1 frame */ #define API_5MS /*FhG, Dlb: add 5ms framing cmd line arg*/ #define FIX_706_REND_COMPLEXITY_LEVELS /* VoiceAge: Implement complexity levels to renderer */ /* ################## End BE DEVELOPMENT switches ######################### */ Loading
lib_rend/lib_rend.h +9 −0 Original line number Diff line number Diff line Loading @@ -120,6 +120,15 @@ typedef enum typedef uint16_t IVAS_REND_InputId; #ifdef FIX_706_REND_COMPLEXITY_LEVELS typedef enum _IVAS_REND_COMPLEXITY_LEVEL { IVAS_REND_COMPLEXITY_LEVEL_ONE = 1, IVAS_REND_COMPLEXITY_LEVEL_TWO = 2, IVAS_REND_COMPLEXITY_LEVEL_THREE = 3 } IVAS_REND_COMPLEXITY_LEVEL; #endif /* clang-format off */ /*----------------------------------------------------------------------------------* Loading