Loading apps/decoder.c +28 −3 Original line number Diff line number Diff line Loading @@ -494,11 +494,13 @@ int main( } #endif if ( ( error = IVAS_DEC_Configure( hIvasDec, arg.output_Fs, arg.outputConfig, arg.tsmEnabled, arg.enable5ms, if ( ( error = IVAS_DEC_Configure( hIvasDec, arg.output_Fs, arg.outputConfig, arg.tsmEnabled, arg.enable5ms, arg.customLsOutputEnabled, arg.hrtfReaderEnabled, arg.enableHeadRotation, arg.enableExternalOrientation, arg.orientation_tracking, arg.renderConfigEnabled, arg.Opt_non_diegetic_pan, arg.non_diegetic_pan_gain, #ifdef FIX_708_DPID_COMMAND_LINE arg.Opt_dpid_on, #endif #ifdef FIX_708_AEID_COMMAND_LINE arg.acousticEnvironmentId, #endif arg.delayCompensationEnabled ) ) != IVAS_ERR_OK ) { Loading Loading @@ -696,7 +698,11 @@ int main( goto cleanup; } } #ifdef FIX_708_AEID_COMMAND_LINE else #else else if ( error != IVAS_ERR_ACOUSTIC_ENVIRONMENT_MISSING ) #endif { fprintf( stderr, "Failed to get acoustic environment with ID: %d\n\n", arg.acousticEnvironmentId ); goto cleanup; Loading Loading @@ -1069,8 +1075,11 @@ static bool parseCmdlIVAS_dec( arg->noBadFrameDelay = false; #endif #endif #ifdef FIX_708_AEID_COMMAND_LINE arg->acousticEnvironmentId = 65535; #else arg->acousticEnvironmentId = 0; #endif for ( i = 0; i < IVAS_MAX_NUM_OBJECTS; ++i ) { #ifdef FIX_730_DPID_NOT_SET_CORRECTLY Loading @@ -1079,6 +1088,7 @@ static bool parseCmdlIVAS_dec( arg->directivityPatternId[i] = 0; #endif } /*-----------------------------------------------------------------* * Initialization *-----------------------------------------------------------------*/ Loading Loading @@ -1448,6 +1458,21 @@ static bool parseCmdlIVAS_dec( else if ( strcmp( argv_to_upper, "-AEID" ) == 0 ) { ++i; #ifdef FIX_708_AEID_COMMAND_LINE if ( argc - i <= 4 ) { fprintf( stderr, "Error: Acoustic environment ID not specified!\n\n" ); usage_dec(); return false; } if ( !is_digits_only( argv[i] ) ) { fprintf( stdout, "Error: Invalid acoustic environment ID specified: %s\n\n", argv[i] ); usage_dec(); return false; } #endif arg->acousticEnvironmentId = (int16_t) atoi( argv[i++] ); } else if ( strcmp( argv_to_upper, "-DPID" ) == 0 ) Loading apps/renderer.c +12 −0 Original line number Diff line number Diff line Loading @@ -2581,7 +2581,12 @@ static CmdlnArgs defaultArgs( #endif } #ifdef FIX_708_AEID_COMMAND_LINE args.acousticEnvironmentId = 65535; #else args.acousticEnvironmentId = 0; #endif return args; } Loading Loading @@ -2748,6 +2753,13 @@ static void parseOption( break; case CmdLnOptionId_acousticEnvironmentId: assert( numOptionValues == 1 ); #ifdef FIX_708_AEID_COMMAND_LINE if ( !is_digits_only( optionValues[0] ) ) { fprintf( stderr, "Invalid acousting environment ID specified: %s\n", optionValues[0] ); exit( -1 ); } #endif args->acousticEnvironmentId = (int16_t) strtol( optionValues[0], NULL, 10 ); break; case CmdLnOptionId_syncMdDelay: Loading lib_com/ivas_error.h +7 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,9 @@ typedef enum IVAS_ERR_EXT_ORIENTATION_NOT_SUPPORTED, #ifdef FIX_708_DPID_COMMAND_LINE IVAS_ERR_DIRECTIVITY_NOT_SUPPORTED, #endif #ifdef FIX_708_AEID_COMMAND_LINE IVAS_ERR_ACOUSTIC_ENVIRONMENT_NOT_SUPPORTED, #endif IVAS_ERR_INVALID_HRTF, IVAS_ERR_INVALID_INPUT_FORMAT, Loading Loading @@ -257,6 +260,10 @@ static inline const char *ivas_error_to_string( ivas_error error_code ) #ifdef FIX_708_DPID_COMMAND_LINE case IVAS_ERR_DIRECTIVITY_NOT_SUPPORTED: return "Directivity not supported"; #endif #ifdef FIX_708_AEID_COMMAND_LINE case IVAS_ERR_ACOUSTIC_ENVIRONMENT_NOT_SUPPORTED: return "Acoustic environment not supported"; #endif case IVAS_ERR_INVALID_HRTF: return "Unsupported HRTF filter set"; Loading lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -168,6 +168,8 @@ #define FIX_786_ERROR_ISM_METADATA_READ /* VA: fix error reading past the last line of .csv metadata files */ #define FIX_632_USAN_ERROR_NULL_POINTER /* FhG: issue 632 USAN offset to null pointer proto_diffuse_buffer_f in dirac rendering*/ #define FIX_759_CODE_COVERAGE_OSBA /* VA: issue 759: remove obsolete code in the OSBA encoder */ #define FIX_708_AEID_COMMAND_LINE /* VA: issue 708: improve AEID command-line robustness */ /* #################### End BE switches ################################## */ Loading lib_dec/ivas_init_dec.c +10 −0 Original line number Diff line number Diff line Loading @@ -3054,6 +3054,16 @@ static ivas_error doSanityChecks_IVAS( } #endif #ifdef FIX_708_AEID_COMMAND_LINE if ( st_ivas->hDecoderConfig->Opt_aeid_on ) { if ( output_config != AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { return IVAS_ERROR( IVAS_ERR_ACOUSTIC_ENVIRONMENT_NOT_SUPPORTED, "Wrong set-up: Acoustic environment is not supported in this output configuration." ); } } #endif if ( st_ivas->ivas_format == MASA_ISM_FORMAT ) { if ( st_ivas->ism_mode != ISM_MASA_MODE_DISC && output_config == AUDIO_CONFIG_EXTERNAL ) Loading Loading
apps/decoder.c +28 −3 Original line number Diff line number Diff line Loading @@ -494,11 +494,13 @@ int main( } #endif if ( ( error = IVAS_DEC_Configure( hIvasDec, arg.output_Fs, arg.outputConfig, arg.tsmEnabled, arg.enable5ms, if ( ( error = IVAS_DEC_Configure( hIvasDec, arg.output_Fs, arg.outputConfig, arg.tsmEnabled, arg.enable5ms, arg.customLsOutputEnabled, arg.hrtfReaderEnabled, arg.enableHeadRotation, arg.enableExternalOrientation, arg.orientation_tracking, arg.renderConfigEnabled, arg.Opt_non_diegetic_pan, arg.non_diegetic_pan_gain, #ifdef FIX_708_DPID_COMMAND_LINE arg.Opt_dpid_on, #endif #ifdef FIX_708_AEID_COMMAND_LINE arg.acousticEnvironmentId, #endif arg.delayCompensationEnabled ) ) != IVAS_ERR_OK ) { Loading Loading @@ -696,7 +698,11 @@ int main( goto cleanup; } } #ifdef FIX_708_AEID_COMMAND_LINE else #else else if ( error != IVAS_ERR_ACOUSTIC_ENVIRONMENT_MISSING ) #endif { fprintf( stderr, "Failed to get acoustic environment with ID: %d\n\n", arg.acousticEnvironmentId ); goto cleanup; Loading Loading @@ -1069,8 +1075,11 @@ static bool parseCmdlIVAS_dec( arg->noBadFrameDelay = false; #endif #endif #ifdef FIX_708_AEID_COMMAND_LINE arg->acousticEnvironmentId = 65535; #else arg->acousticEnvironmentId = 0; #endif for ( i = 0; i < IVAS_MAX_NUM_OBJECTS; ++i ) { #ifdef FIX_730_DPID_NOT_SET_CORRECTLY Loading @@ -1079,6 +1088,7 @@ static bool parseCmdlIVAS_dec( arg->directivityPatternId[i] = 0; #endif } /*-----------------------------------------------------------------* * Initialization *-----------------------------------------------------------------*/ Loading Loading @@ -1448,6 +1458,21 @@ static bool parseCmdlIVAS_dec( else if ( strcmp( argv_to_upper, "-AEID" ) == 0 ) { ++i; #ifdef FIX_708_AEID_COMMAND_LINE if ( argc - i <= 4 ) { fprintf( stderr, "Error: Acoustic environment ID not specified!\n\n" ); usage_dec(); return false; } if ( !is_digits_only( argv[i] ) ) { fprintf( stdout, "Error: Invalid acoustic environment ID specified: %s\n\n", argv[i] ); usage_dec(); return false; } #endif arg->acousticEnvironmentId = (int16_t) atoi( argv[i++] ); } else if ( strcmp( argv_to_upper, "-DPID" ) == 0 ) Loading
apps/renderer.c +12 −0 Original line number Diff line number Diff line Loading @@ -2581,7 +2581,12 @@ static CmdlnArgs defaultArgs( #endif } #ifdef FIX_708_AEID_COMMAND_LINE args.acousticEnvironmentId = 65535; #else args.acousticEnvironmentId = 0; #endif return args; } Loading Loading @@ -2748,6 +2753,13 @@ static void parseOption( break; case CmdLnOptionId_acousticEnvironmentId: assert( numOptionValues == 1 ); #ifdef FIX_708_AEID_COMMAND_LINE if ( !is_digits_only( optionValues[0] ) ) { fprintf( stderr, "Invalid acousting environment ID specified: %s\n", optionValues[0] ); exit( -1 ); } #endif args->acousticEnvironmentId = (int16_t) strtol( optionValues[0], NULL, 10 ); break; case CmdLnOptionId_syncMdDelay: Loading
lib_com/ivas_error.h +7 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,9 @@ typedef enum IVAS_ERR_EXT_ORIENTATION_NOT_SUPPORTED, #ifdef FIX_708_DPID_COMMAND_LINE IVAS_ERR_DIRECTIVITY_NOT_SUPPORTED, #endif #ifdef FIX_708_AEID_COMMAND_LINE IVAS_ERR_ACOUSTIC_ENVIRONMENT_NOT_SUPPORTED, #endif IVAS_ERR_INVALID_HRTF, IVAS_ERR_INVALID_INPUT_FORMAT, Loading Loading @@ -257,6 +260,10 @@ static inline const char *ivas_error_to_string( ivas_error error_code ) #ifdef FIX_708_DPID_COMMAND_LINE case IVAS_ERR_DIRECTIVITY_NOT_SUPPORTED: return "Directivity not supported"; #endif #ifdef FIX_708_AEID_COMMAND_LINE case IVAS_ERR_ACOUSTIC_ENVIRONMENT_NOT_SUPPORTED: return "Acoustic environment not supported"; #endif case IVAS_ERR_INVALID_HRTF: return "Unsupported HRTF filter set"; Loading
lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -168,6 +168,8 @@ #define FIX_786_ERROR_ISM_METADATA_READ /* VA: fix error reading past the last line of .csv metadata files */ #define FIX_632_USAN_ERROR_NULL_POINTER /* FhG: issue 632 USAN offset to null pointer proto_diffuse_buffer_f in dirac rendering*/ #define FIX_759_CODE_COVERAGE_OSBA /* VA: issue 759: remove obsolete code in the OSBA encoder */ #define FIX_708_AEID_COMMAND_LINE /* VA: issue 708: improve AEID command-line robustness */ /* #################### End BE switches ################################## */ Loading
lib_dec/ivas_init_dec.c +10 −0 Original line number Diff line number Diff line Loading @@ -3054,6 +3054,16 @@ static ivas_error doSanityChecks_IVAS( } #endif #ifdef FIX_708_AEID_COMMAND_LINE if ( st_ivas->hDecoderConfig->Opt_aeid_on ) { if ( output_config != AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { return IVAS_ERROR( IVAS_ERR_ACOUSTIC_ENVIRONMENT_NOT_SUPPORTED, "Wrong set-up: Acoustic environment is not supported in this output configuration." ); } } #endif if ( st_ivas->ivas_format == MASA_ISM_FORMAT ) { if ( st_ivas->ism_mode != ISM_MASA_MODE_DISC && output_config == AUDIO_CONFIG_EXTERNAL ) Loading