Loading apps/decoder.c +73 −0 Original line number Diff line number Diff line Loading @@ -586,6 +586,9 @@ static IVAS_DEC_AUDIO_CONFIG cmdline2config( char argv_to_upper[FILENAME_MAX]; strncpy( argv_to_upper, argv, sizeof( argv_to_upper ) - 1 ); #ifdef FIX_343_TO_UPPER argv_to_upper[sizeof( argv_to_upper ) - 1] = '\0'; #endif to_upper( argv_to_upper ); if ( strcmp( argv_to_upper, "EXT" ) == 0 ) /* external renderer */ Loading Loading @@ -664,7 +667,9 @@ static bool parseCmdlIVAS_dec( char argv_to_upper[FILENAME_MAX]; #ifdef DEBUGGING float ftmp; #ifndef FIX_343_TO_UPPER char stmp[FILENAME_MAX]; #endif arg->forcedRendMode = IVAS_DEC_FORCE_REND_UNFORCED; arg->forceSubframeBinauralization = false; Loading Loading @@ -728,6 +733,9 @@ static bool parseCmdlIVAS_dec( while ( argv[i][0] == '-' ) { strncpy( argv_to_upper, argv[i], sizeof( argv_to_upper ) - 1 ); #ifdef FIX_343_TO_UPPER argv_to_upper[sizeof( argv_to_upper ) - 1] = '\0'; #endif to_upper( argv_to_upper ); if ( strcmp( argv_to_upper, "-VOIP" ) == 0 ) Loading @@ -735,13 +743,21 @@ static bool parseCmdlIVAS_dec( arg->voipMode = 1; i++; } #ifdef FIX_343_TO_UPPER else if ( strcmp( argv_to_upper, "-VOIP_HF_ONLY=0" ) == 0 ) #else else if ( strcmp( to_upper( argv[i] ), "-VOIP_HF_ONLY=0" ) == 0 ) #endif { arg->voipMode = 1; arg->inputFormat = IVAS_DEC_INPUT_FORMAT_RTPDUMP; i++; } #ifdef FIX_343_TO_UPPER else if ( strcmp( argv_to_upper, "-VOIP_HF_ONLY=1" ) == 0 ) #else else if ( strcmp( to_upper( argv[i] ), "-VOIP_HF_ONLY=1" ) == 0 ) #endif { arg->voipMode = 1; arg->inputFormat = IVAS_DEC_INPUT_FORMAT_RTPDUMP_HF; Loading Loading @@ -814,8 +830,14 @@ static bool parseCmdlIVAS_dec( i++; if ( i < argc - 3 ) { #ifdef FIX_343_TO_UPPER strncpy( argv_to_upper, argv[i], sizeof( argv_to_upper ) - 1 ); argv_to_upper[sizeof( argv_to_upper ) - 1] = '\0'; arg->forcedRendMode = parseForcedRendModeDec( argv_to_upper ); #else strncpy( stmp, argv[i], sizeof( stmp ) ); arg->forcedRendMode = parseForcedRendModeDec( stmp ); #endif i++; } } Loading Loading @@ -867,8 +889,30 @@ static bool parseCmdlIVAS_dec( usage_dec(); return false; } #ifdef FIX_343_TO_UPPER strncpy( argv_to_upper, argv[i + 1], sizeof( argv_to_upper ) - 1 ); argv_to_upper[sizeof( argv_to_upper ) - 1] = '\0'; to_upper( argv_to_upper ); if ( strcmp( argv_to_upper, "REF" ) == 0 ) { arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_REF; } else if ( strcmp( argv_to_upper, "AVG" ) == 0 ) { arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_AVG; } else { fprintf( stderr, "Error: Invalid orientation tracking type %s \n\n", argv[i + 1] ); usage_dec(); return false; } #else char tmp[4]; strcpy( tmp, argv[i + 1] ); if ( strcmp( to_upper( tmp ), "REF" ) == 0 ) { arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_REF; Loading @@ -883,6 +927,7 @@ static bool parseCmdlIVAS_dec( usage_dec(); return false; } #endif i += 2; } else if ( strcmp( argv_to_upper, "-RENDER_CONFIG" ) == 0 ) Loading @@ -909,6 +954,33 @@ static bool parseCmdlIVAS_dec( return false; } #ifdef FIX_343_TO_UPPER strncpy( argv_to_upper, argv[i], sizeof( argv_to_upper ) - 1 ); argv_to_upper[sizeof( argv_to_upper ) - 1] = '\0'; if ( ( strcmp( argv_to_upper, "CENTER" ) == 0 ) || ( strchr( argv_to_upper, 'C' ) != NULL ) ) { arg->no_diegetic_pan = 0.f; } else if ( ( strcmp( argv_to_upper, "LEFT" ) == 0 ) || ( strchr( argv_to_upper, 'L' ) != NULL ) ) { arg->no_diegetic_pan = -1.f; } else if ( ( strcmp( argv_to_upper, "RIGHT" ) == 0 ) || ( strchr( argv_to_upper, 'R' ) != NULL ) ) { arg->no_diegetic_pan = 1.f; } else { arg->no_diegetic_pan = (float) atof( argv_to_upper ); if ( arg->no_diegetic_pan > 1.0f || arg->no_diegetic_pan < -1.0f ) { fprintf( stderr, "Error: Incorrect value for panning option argument specified: %s\n\n", argv[i] ); usage_dec(); return false; } } #else char *param = to_upper( argv[i] ); if ( ( strcmp( param, "CENTER" ) == 0 ) || ( strchr( param, 'C' ) != NULL ) ) { Loading @@ -933,6 +1005,7 @@ static bool parseCmdlIVAS_dec( return false; } } #endif i++; } Loading apps/encoder.c +30 −1 Original line number Diff line number Diff line Loading @@ -884,7 +884,11 @@ static bool parseCmdlIVAS_enc( while ( i < argc - 4 ) { strncpy( argv_to_upper, argv[i], sizeof( argv_to_upper ) - 1 ); #ifdef FIX_343_TO_UPPER argv_to_upper[sizeof( argv_to_upper ) - 1] = '\0'; #endif to_upper( argv_to_upper ); /*-----------------------------------------------------------------* * Bandwidth limitation *-----------------------------------------------------------------*/ Loading @@ -894,6 +898,9 @@ static bool parseCmdlIVAS_enc( arg->max_bwidth_user = true; strncpy( stmp, argv[i + 1], sizeof( stmp ) - 1 ); #ifdef FIX_343_TO_UPPER stmp[sizeof( stmp ) - 1] = '\0'; #endif to_upper( stmp ); if ( strcmp( stmp, "-NB" ) == 0 || strcmp( stmp, "NB" ) == 0 ) Loading Loading @@ -1081,7 +1088,9 @@ static bool parseCmdlIVAS_enc( if ( i < argc - 4 ) { strncpy( stmp, argv[i], sizeof( stmp ) ); #ifdef FIX_343_TO_UPPER stmp[sizeof( stmp ) - 1] = '\0'; #endif to_upper( argv[i] ); if ( strcmp( argv[i], "LO" ) == 0 ) { Loading Loading @@ -1369,6 +1378,25 @@ static bool parseCmdlIVAS_enc( if ( i < argc - 4 ) { #ifdef FIX_343_TO_UPPER if ( strcmp( argv[i], "5_1" ) == 0 ) { arg->inputFormatConfig.mcLayout = IVAS_ENC_MC_5_1; } else if ( strcmp( argv[i], "7_1" ) == 0 ) { arg->inputFormatConfig.mcLayout = IVAS_ENC_MC_7_1; } else if ( strcmp( argv[i], "5_1_2" ) == 0 ) { arg->inputFormatConfig.mcLayout = IVAS_ENC_MC_5_1_2; } else if ( strcmp( argv[i], "5_1_4" ) == 0 ) { arg->inputFormatConfig.mcLayout = IVAS_ENC_MC_5_1_4; } else if ( strcmp( argv[i], "7_1_4" ) == 0 ) #else if ( strcmp( to_upper( argv[i] ), "5_1" ) == 0 ) { arg->inputFormatConfig.mcLayout = IVAS_ENC_MC_5_1; Loading @@ -1386,6 +1414,7 @@ static bool parseCmdlIVAS_enc( arg->inputFormatConfig.mcLayout = IVAS_ENC_MC_5_1_4; } else if ( strcmp( to_upper( argv[i] ), "7_1_4" ) == 0 ) #endif { arg->inputFormatConfig.mcLayout = IVAS_ENC_MC_7_1_4; } Loading apps/renderer.c +9 −0 Original line number Diff line number Diff line Loading @@ -490,6 +490,9 @@ static void setupWithSingleFormatInput( /* It is allowed on CLI to have no metadata for an ISM input - skip opening if string is empty or contains "NULL" */ char charBuf[FILENAME_MAX]; strncpy( charBuf, args.inMetadataFilePaths[i], min( FILENAME_MAX, RENDERER_MAX_CLI_ARG_LENGTH ) - 1 ); #ifdef FIX_343_TO_UPPER charBuf[min( FILENAME_MAX, RENDERER_MAX_CLI_ARG_LENGTH ) - 1] = '\0'; #endif to_upper( charBuf ); if ( isEmptyString( args.inMetadataFilePaths[i] ) || strncmp( charBuf, "NULL", 4 ) == 0 ) { Loading Loading @@ -1100,6 +1103,9 @@ static bool parseInConfig( /* First check if input is being set to scene description file - this is not covered by parseAudioConfig(). */ strncpy( charBuf, inFormatStr, sizeof( charBuf ) - 1 ); #ifdef FIX_343_TO_UPPER charBuf[sizeof( charBuf ) - 1] = '\0'; #endif to_upper( charBuf ); if ( strcmp( charBuf, "META" ) == 0 ) { Loading Loading @@ -1285,6 +1291,9 @@ static IVAS_REND_AudioConfig parseAudioConfig( charBuf[13] = '\0'; strncpy( charBuf, configString, sizeof( charBuf ) - 1 ); #ifdef FIX_343_TO_UPPER charBuf[sizeof( charBuf ) - 1] = '\0'; #endif to_upper( charBuf ); if ( ( strcmp( charBuf, "MONO" ) == 0 ) || ( strcmp( charBuf, "HOA0" ) == 0 ) || ( strcmp( charBuf, "SBA0" ) == 0 ) ) Loading lib_com/options.h +3 −0 Original line number Diff line number Diff line Loading @@ -156,6 +156,9 @@ #define FIX_310_TD_REND_DELAY /* Adding HRTF delay being read from ROM/Binary file, fix rounding for delay compensation in renderer */ #define FIX_334_DEBUG_BE_STEREO_SWITCHING /* FhG: Fix non-BE issue for stereo switching when DEBUGGING is enabled */ #define FIX_343_TO_UPPER /* VA: issue 343: safeguard for function to_upper() */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ #endif Loading
apps/decoder.c +73 −0 Original line number Diff line number Diff line Loading @@ -586,6 +586,9 @@ static IVAS_DEC_AUDIO_CONFIG cmdline2config( char argv_to_upper[FILENAME_MAX]; strncpy( argv_to_upper, argv, sizeof( argv_to_upper ) - 1 ); #ifdef FIX_343_TO_UPPER argv_to_upper[sizeof( argv_to_upper ) - 1] = '\0'; #endif to_upper( argv_to_upper ); if ( strcmp( argv_to_upper, "EXT" ) == 0 ) /* external renderer */ Loading Loading @@ -664,7 +667,9 @@ static bool parseCmdlIVAS_dec( char argv_to_upper[FILENAME_MAX]; #ifdef DEBUGGING float ftmp; #ifndef FIX_343_TO_UPPER char stmp[FILENAME_MAX]; #endif arg->forcedRendMode = IVAS_DEC_FORCE_REND_UNFORCED; arg->forceSubframeBinauralization = false; Loading Loading @@ -728,6 +733,9 @@ static bool parseCmdlIVAS_dec( while ( argv[i][0] == '-' ) { strncpy( argv_to_upper, argv[i], sizeof( argv_to_upper ) - 1 ); #ifdef FIX_343_TO_UPPER argv_to_upper[sizeof( argv_to_upper ) - 1] = '\0'; #endif to_upper( argv_to_upper ); if ( strcmp( argv_to_upper, "-VOIP" ) == 0 ) Loading @@ -735,13 +743,21 @@ static bool parseCmdlIVAS_dec( arg->voipMode = 1; i++; } #ifdef FIX_343_TO_UPPER else if ( strcmp( argv_to_upper, "-VOIP_HF_ONLY=0" ) == 0 ) #else else if ( strcmp( to_upper( argv[i] ), "-VOIP_HF_ONLY=0" ) == 0 ) #endif { arg->voipMode = 1; arg->inputFormat = IVAS_DEC_INPUT_FORMAT_RTPDUMP; i++; } #ifdef FIX_343_TO_UPPER else if ( strcmp( argv_to_upper, "-VOIP_HF_ONLY=1" ) == 0 ) #else else if ( strcmp( to_upper( argv[i] ), "-VOIP_HF_ONLY=1" ) == 0 ) #endif { arg->voipMode = 1; arg->inputFormat = IVAS_DEC_INPUT_FORMAT_RTPDUMP_HF; Loading Loading @@ -814,8 +830,14 @@ static bool parseCmdlIVAS_dec( i++; if ( i < argc - 3 ) { #ifdef FIX_343_TO_UPPER strncpy( argv_to_upper, argv[i], sizeof( argv_to_upper ) - 1 ); argv_to_upper[sizeof( argv_to_upper ) - 1] = '\0'; arg->forcedRendMode = parseForcedRendModeDec( argv_to_upper ); #else strncpy( stmp, argv[i], sizeof( stmp ) ); arg->forcedRendMode = parseForcedRendModeDec( stmp ); #endif i++; } } Loading Loading @@ -867,8 +889,30 @@ static bool parseCmdlIVAS_dec( usage_dec(); return false; } #ifdef FIX_343_TO_UPPER strncpy( argv_to_upper, argv[i + 1], sizeof( argv_to_upper ) - 1 ); argv_to_upper[sizeof( argv_to_upper ) - 1] = '\0'; to_upper( argv_to_upper ); if ( strcmp( argv_to_upper, "REF" ) == 0 ) { arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_REF; } else if ( strcmp( argv_to_upper, "AVG" ) == 0 ) { arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_AVG; } else { fprintf( stderr, "Error: Invalid orientation tracking type %s \n\n", argv[i + 1] ); usage_dec(); return false; } #else char tmp[4]; strcpy( tmp, argv[i + 1] ); if ( strcmp( to_upper( tmp ), "REF" ) == 0 ) { arg->orientation_tracking = IVAS_PUBLIC_ORIENT_TRK_REF; Loading @@ -883,6 +927,7 @@ static bool parseCmdlIVAS_dec( usage_dec(); return false; } #endif i += 2; } else if ( strcmp( argv_to_upper, "-RENDER_CONFIG" ) == 0 ) Loading @@ -909,6 +954,33 @@ static bool parseCmdlIVAS_dec( return false; } #ifdef FIX_343_TO_UPPER strncpy( argv_to_upper, argv[i], sizeof( argv_to_upper ) - 1 ); argv_to_upper[sizeof( argv_to_upper ) - 1] = '\0'; if ( ( strcmp( argv_to_upper, "CENTER" ) == 0 ) || ( strchr( argv_to_upper, 'C' ) != NULL ) ) { arg->no_diegetic_pan = 0.f; } else if ( ( strcmp( argv_to_upper, "LEFT" ) == 0 ) || ( strchr( argv_to_upper, 'L' ) != NULL ) ) { arg->no_diegetic_pan = -1.f; } else if ( ( strcmp( argv_to_upper, "RIGHT" ) == 0 ) || ( strchr( argv_to_upper, 'R' ) != NULL ) ) { arg->no_diegetic_pan = 1.f; } else { arg->no_diegetic_pan = (float) atof( argv_to_upper ); if ( arg->no_diegetic_pan > 1.0f || arg->no_diegetic_pan < -1.0f ) { fprintf( stderr, "Error: Incorrect value for panning option argument specified: %s\n\n", argv[i] ); usage_dec(); return false; } } #else char *param = to_upper( argv[i] ); if ( ( strcmp( param, "CENTER" ) == 0 ) || ( strchr( param, 'C' ) != NULL ) ) { Loading @@ -933,6 +1005,7 @@ static bool parseCmdlIVAS_dec( return false; } } #endif i++; } Loading
apps/encoder.c +30 −1 Original line number Diff line number Diff line Loading @@ -884,7 +884,11 @@ static bool parseCmdlIVAS_enc( while ( i < argc - 4 ) { strncpy( argv_to_upper, argv[i], sizeof( argv_to_upper ) - 1 ); #ifdef FIX_343_TO_UPPER argv_to_upper[sizeof( argv_to_upper ) - 1] = '\0'; #endif to_upper( argv_to_upper ); /*-----------------------------------------------------------------* * Bandwidth limitation *-----------------------------------------------------------------*/ Loading @@ -894,6 +898,9 @@ static bool parseCmdlIVAS_enc( arg->max_bwidth_user = true; strncpy( stmp, argv[i + 1], sizeof( stmp ) - 1 ); #ifdef FIX_343_TO_UPPER stmp[sizeof( stmp ) - 1] = '\0'; #endif to_upper( stmp ); if ( strcmp( stmp, "-NB" ) == 0 || strcmp( stmp, "NB" ) == 0 ) Loading Loading @@ -1081,7 +1088,9 @@ static bool parseCmdlIVAS_enc( if ( i < argc - 4 ) { strncpy( stmp, argv[i], sizeof( stmp ) ); #ifdef FIX_343_TO_UPPER stmp[sizeof( stmp ) - 1] = '\0'; #endif to_upper( argv[i] ); if ( strcmp( argv[i], "LO" ) == 0 ) { Loading Loading @@ -1369,6 +1378,25 @@ static bool parseCmdlIVAS_enc( if ( i < argc - 4 ) { #ifdef FIX_343_TO_UPPER if ( strcmp( argv[i], "5_1" ) == 0 ) { arg->inputFormatConfig.mcLayout = IVAS_ENC_MC_5_1; } else if ( strcmp( argv[i], "7_1" ) == 0 ) { arg->inputFormatConfig.mcLayout = IVAS_ENC_MC_7_1; } else if ( strcmp( argv[i], "5_1_2" ) == 0 ) { arg->inputFormatConfig.mcLayout = IVAS_ENC_MC_5_1_2; } else if ( strcmp( argv[i], "5_1_4" ) == 0 ) { arg->inputFormatConfig.mcLayout = IVAS_ENC_MC_5_1_4; } else if ( strcmp( argv[i], "7_1_4" ) == 0 ) #else if ( strcmp( to_upper( argv[i] ), "5_1" ) == 0 ) { arg->inputFormatConfig.mcLayout = IVAS_ENC_MC_5_1; Loading @@ -1386,6 +1414,7 @@ static bool parseCmdlIVAS_enc( arg->inputFormatConfig.mcLayout = IVAS_ENC_MC_5_1_4; } else if ( strcmp( to_upper( argv[i] ), "7_1_4" ) == 0 ) #endif { arg->inputFormatConfig.mcLayout = IVAS_ENC_MC_7_1_4; } Loading
apps/renderer.c +9 −0 Original line number Diff line number Diff line Loading @@ -490,6 +490,9 @@ static void setupWithSingleFormatInput( /* It is allowed on CLI to have no metadata for an ISM input - skip opening if string is empty or contains "NULL" */ char charBuf[FILENAME_MAX]; strncpy( charBuf, args.inMetadataFilePaths[i], min( FILENAME_MAX, RENDERER_MAX_CLI_ARG_LENGTH ) - 1 ); #ifdef FIX_343_TO_UPPER charBuf[min( FILENAME_MAX, RENDERER_MAX_CLI_ARG_LENGTH ) - 1] = '\0'; #endif to_upper( charBuf ); if ( isEmptyString( args.inMetadataFilePaths[i] ) || strncmp( charBuf, "NULL", 4 ) == 0 ) { Loading Loading @@ -1100,6 +1103,9 @@ static bool parseInConfig( /* First check if input is being set to scene description file - this is not covered by parseAudioConfig(). */ strncpy( charBuf, inFormatStr, sizeof( charBuf ) - 1 ); #ifdef FIX_343_TO_UPPER charBuf[sizeof( charBuf ) - 1] = '\0'; #endif to_upper( charBuf ); if ( strcmp( charBuf, "META" ) == 0 ) { Loading Loading @@ -1285,6 +1291,9 @@ static IVAS_REND_AudioConfig parseAudioConfig( charBuf[13] = '\0'; strncpy( charBuf, configString, sizeof( charBuf ) - 1 ); #ifdef FIX_343_TO_UPPER charBuf[sizeof( charBuf ) - 1] = '\0'; #endif to_upper( charBuf ); if ( ( strcmp( charBuf, "MONO" ) == 0 ) || ( strcmp( charBuf, "HOA0" ) == 0 ) || ( strcmp( charBuf, "SBA0" ) == 0 ) ) Loading
lib_com/options.h +3 −0 Original line number Diff line number Diff line Loading @@ -156,6 +156,9 @@ #define FIX_310_TD_REND_DELAY /* Adding HRTF delay being read from ROM/Binary file, fix rounding for delay compensation in renderer */ #define FIX_334_DEBUG_BE_STEREO_SWITCHING /* FhG: Fix non-BE issue for stereo switching when DEBUGGING is enabled */ #define FIX_343_TO_UPPER /* VA: issue 343: safeguard for function to_upper() */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ #endif