Loading Workspace_msvc/lib_com.vcxproj +1 −1 Original line number Diff line number Diff line Loading @@ -244,9 +244,9 @@ <ClCompile Include="..\lib_com\ivas_entropy_coder_common.c" /> <ClCompile Include="..\lib_com\ivas_fb_mixer.c" /> <ClCompile Include="..\lib_com\ivas_filters.c" /> <ClCompile Include="..\lib_com\ivas_ism_com.c" /> <ClCompile Include="..\lib_com\ivas_mcmasa_com.c" /> <ClCompile Include="..\lib_com\ivas_dirac_com.c" /> <ClCompile Include="..\lib_com\ivas_ism_config.c" /> <ClCompile Include="..\lib_com\ivas_masa_com.c" /> <ClCompile Include="..\lib_com\ivas_mct_com.c" /> <ClCompile Include="..\lib_com\ivas_mc_com.c" /> Loading Workspace_msvc/lib_com.vcxproj.filters +3 −3 Original line number Diff line number Diff line Loading @@ -379,9 +379,6 @@ <ClCompile Include="..\lib_com\swb_bwe_com_lr.c"> <Filter>common_evs_c</Filter> </ClCompile> <ClCompile Include="..\lib_com\ivas_ism_config.c"> <Filter>common_ivas_c</Filter> </ClCompile> <ClCompile Include="..\lib_com\ivas_qmetadata_com.c"> <Filter>common_ivas_c</Filter> </ClCompile> Loading Loading @@ -466,6 +463,9 @@ <ClCompile Include="..\lib_com\ivas_td_decorr.c"> <Filter>common_ivas_c</Filter> </ClCompile> <ClCompile Include="..\lib_com\ivas_ism_com.c"> <Filter>common_ivas_c</Filter> </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\lib_com\basop_proto_func.h"> Loading Workspace_msvc/lib_util.vcxproj +2 −0 Original line number Diff line number Diff line Loading @@ -146,6 +146,7 @@ <ClCompile Include="..\lib_util\evs_rtp_payload.c" /> <ClCompile Include="..\lib_util\g192.c" /> <ClCompile Include="..\lib_util\head_rotation_file_reader.c" /> <ClCompile Include="..\lib_util\vector3_pair_file_reader.c" /> <ClCompile Include="..\lib_util\hrtf_file_reader.c" /> <ClCompile Include="..\lib_util\ism_file_reader.c" /> <ClCompile Include="..\lib_util\ism_file_writer.c" /> Loading @@ -167,6 +168,7 @@ <ClInclude Include="..\lib_util\cmdl_tools.h" /> <ClInclude Include="..\lib_util\evs_rtp_payload.h" /> <ClInclude Include="..\lib_util\g192.h" /> <ClInclude Include="..\lib_util\vector3_pair_file_reader.h" /> <ClInclude Include="..\lib_util\head_rotation_file_reader.h" /> <ClInclude Include="..\lib_util\hrtf_file_reader.h" /> <ClInclude Include="..\lib_util\ism_file_reader.h" /> Loading apps/decoder.c +280 −48 File changed.Preview size limit exceeded, changes collapsed. Show changes apps/encoder.c +25 −26 Original line number Diff line number Diff line Loading @@ -126,6 +126,9 @@ typedef struct #endif #endif bool pca; #ifdef TD5 bool ism_extended_metadata; #endif } EncArguments; Loading Loading @@ -213,23 +216,6 @@ int main( goto cleanup; } #ifndef FIX_94_VERIFY_WAV_NUM_CHANNELS /*------------------------------------------------------------------------------------------* * Open input audio file *------------------------------------------------------------------------------------------*/ int32_t inFileSampleRate = 0; if ( AudioFileReader_open( &audioReader, arg.inputWavFilename, &inFileSampleRate ) != IVAS_ERR_OK ) { fprintf( stderr, "\nCan't open %s\n\n", arg.inputWavFilename ); goto cleanup; } if ( inFileSampleRate != 0 && /* inFileSampleRate will remain zero if input file is raw PCM */ inFileSampleRate != arg.inputFs ) { fprintf( stderr, "Sampling rate mismatch: %d Hz requested, but %d Hz found in file %s\n", arg.inputFs, inFileSampleRate, arg.inputWavFilename ); goto cleanup; } #endif /*------------------------------------------------------------------------------------------* * Open output bitstream file Loading Loading @@ -395,7 +381,11 @@ int main( } break; case IVAS_ENC_INPUT_ISM: #ifdef TD5 if ( ( error = IVAS_ENC_ConfigureForObjects( hIvasEnc, arg.inputFs, totalBitrate, arg.max_bwidth_user, bandwidth, arg.dtxConfig, arg.inputFormatConfig.ism.numObjects, arg.ism_extended_metadata ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_ENC_ConfigureForObjects( hIvasEnc, arg.inputFs, totalBitrate, arg.max_bwidth_user, bandwidth, arg.dtxConfig, arg.inputFormatConfig.ism.numObjects ) ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "\nIVAS_ENC_ConfigureForObjects failed: %s\n\n", IVAS_ENC_GetErrorMessage( error ) ); goto cleanup; Loading Loading @@ -452,7 +442,6 @@ int main( goto cleanup; } #ifdef FIX_94_VERIFY_WAV_NUM_CHANNELS /*------------------------------------------------------------------------------------------* * Open input audio file *------------------------------------------------------------------------------------------*/ Loading Loading @@ -511,7 +500,6 @@ int main( fprintf( stderr, "\nError: %s\n", ivas_error_to_string( error ) ); goto cleanup; } #endif /*------------------------------------------------------------------------------------------* * Open input metadata files Loading Loading @@ -718,7 +706,7 @@ int main( } #endif /* Read ISm input metadata */ /* Read ISM input metadata */ for ( i = 0; i < numIsmInputs; ++i ) { if ( ismReaders[i] == NULL ) Loading Loading @@ -778,8 +766,8 @@ int main( } #ifdef WMOPS update_wmops(); update_mem(); update_wmops(); #endif } Loading Loading @@ -895,6 +883,9 @@ static void initArgStruct( EncArguments *arg ) arg->caConfig = IVAS_ENC_GetDefaultChannelAwareConfig(); arg->ca_config_file = NULL; arg->mimeOutput = false; #ifdef TD5 arg->ism_extended_metadata = false; #endif #ifdef DEBUGGING arg->forcedMode = IVAS_ENC_FORCE_UNFORCED; Loading Loading @@ -1282,6 +1273,13 @@ static bool parseCmdlIVAS_enc( if ( i < argc - 4 ) { #ifdef TD5 if ( argv[i][0] == '+' ) { argv[i]++; arg->ism_extended_metadata = true; } #endif if ( !is_digits_only( argv[i] ) ) { fprintf( stderr, "Error: Number of ISM channels must be an integer number!\n\n" ); Loading Loading @@ -1640,7 +1638,6 @@ static void usage_enc( void ) fprintf( stdout, " *VBR mode (average bitrate),\n" ); fprintf( stdout, " for AMR-WB IO modes R = (6600, 8850, 12650, 14250, 15850, 18250,\n" ); fprintf( stdout, " 19850, 23050, 23850) \n" ); #ifdef ISM_HIGHEST_BITRATE fprintf( stdout, " for IVAS stereo R = (13200, 16400, 24400, 32000, 48000, 64000, 80000, \n" ); fprintf( stdout, " 96000, 128000, 160000, 192000, 256000) \n" ); fprintf( stdout, " for IVAS ISM R = 13200 for 1 ISM, 16400 for 1 ISM and 2 ISM, \n" ); Loading @@ -1648,10 +1645,6 @@ 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" ); #else fprintf( stdout, " for IVAS stereo & ISm R =(13200, 16400, 24400, 32000, 48000, 64000, 80000, \n" ); fprintf( stdout, " 96000, 128000, 160000, 192000, 256000) \n" ); #endif 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" ); fprintf( stdout, " Alternatively, R can be a bitrate switching file which consists of R values\n" ); Loading @@ -1667,8 +1660,14 @@ static void usage_enc( void ) fprintf( stdout, "EVS mono is default, for IVAS choose one of the following: -stereo, -ism, -sba, -masa, -mc\n" ); fprintf( stdout, "-stereo [Mode] : Stereo format, default is unified stereo \n" ); fprintf( stdout, " optional for Mode: 1: DFT Stereo, 2: TD Stereo, 3: MDCT Stereo\n" ); #ifdef TD5 fprintf( stdout, "-ism (+)Ch Files : ISM format \n" ); fprintf( stdout, " where Ch specifies the number of ISMs (1-4)\n" ); fprintf( stdout, " where positive (+) means extended metadata format is used (including orientation and radius) \n" ); #else fprintf( stdout, "-ism Channels Files : ISM format \n" ); fprintf( stdout, " where Channels specifies the number of ISMs (1-4)\n" ); #endif fprintf( stdout, " and Files specify input files containing metadata, one file per object\n" ); fprintf( stdout, " (use NULL for no input metadata)\n" ); fprintf( stdout, "-sba +/-Order : Scene Based Audio input format (Ambisonics ACN/SN3D),\n" ); Loading Loading
Workspace_msvc/lib_com.vcxproj +1 −1 Original line number Diff line number Diff line Loading @@ -244,9 +244,9 @@ <ClCompile Include="..\lib_com\ivas_entropy_coder_common.c" /> <ClCompile Include="..\lib_com\ivas_fb_mixer.c" /> <ClCompile Include="..\lib_com\ivas_filters.c" /> <ClCompile Include="..\lib_com\ivas_ism_com.c" /> <ClCompile Include="..\lib_com\ivas_mcmasa_com.c" /> <ClCompile Include="..\lib_com\ivas_dirac_com.c" /> <ClCompile Include="..\lib_com\ivas_ism_config.c" /> <ClCompile Include="..\lib_com\ivas_masa_com.c" /> <ClCompile Include="..\lib_com\ivas_mct_com.c" /> <ClCompile Include="..\lib_com\ivas_mc_com.c" /> Loading
Workspace_msvc/lib_com.vcxproj.filters +3 −3 Original line number Diff line number Diff line Loading @@ -379,9 +379,6 @@ <ClCompile Include="..\lib_com\swb_bwe_com_lr.c"> <Filter>common_evs_c</Filter> </ClCompile> <ClCompile Include="..\lib_com\ivas_ism_config.c"> <Filter>common_ivas_c</Filter> </ClCompile> <ClCompile Include="..\lib_com\ivas_qmetadata_com.c"> <Filter>common_ivas_c</Filter> </ClCompile> Loading Loading @@ -466,6 +463,9 @@ <ClCompile Include="..\lib_com\ivas_td_decorr.c"> <Filter>common_ivas_c</Filter> </ClCompile> <ClCompile Include="..\lib_com\ivas_ism_com.c"> <Filter>common_ivas_c</Filter> </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\lib_com\basop_proto_func.h"> Loading
Workspace_msvc/lib_util.vcxproj +2 −0 Original line number Diff line number Diff line Loading @@ -146,6 +146,7 @@ <ClCompile Include="..\lib_util\evs_rtp_payload.c" /> <ClCompile Include="..\lib_util\g192.c" /> <ClCompile Include="..\lib_util\head_rotation_file_reader.c" /> <ClCompile Include="..\lib_util\vector3_pair_file_reader.c" /> <ClCompile Include="..\lib_util\hrtf_file_reader.c" /> <ClCompile Include="..\lib_util\ism_file_reader.c" /> <ClCompile Include="..\lib_util\ism_file_writer.c" /> Loading @@ -167,6 +168,7 @@ <ClInclude Include="..\lib_util\cmdl_tools.h" /> <ClInclude Include="..\lib_util\evs_rtp_payload.h" /> <ClInclude Include="..\lib_util\g192.h" /> <ClInclude Include="..\lib_util\vector3_pair_file_reader.h" /> <ClInclude Include="..\lib_util\head_rotation_file_reader.h" /> <ClInclude Include="..\lib_util\hrtf_file_reader.h" /> <ClInclude Include="..\lib_util\ism_file_reader.h" /> Loading
apps/encoder.c +25 −26 Original line number Diff line number Diff line Loading @@ -126,6 +126,9 @@ typedef struct #endif #endif bool pca; #ifdef TD5 bool ism_extended_metadata; #endif } EncArguments; Loading Loading @@ -213,23 +216,6 @@ int main( goto cleanup; } #ifndef FIX_94_VERIFY_WAV_NUM_CHANNELS /*------------------------------------------------------------------------------------------* * Open input audio file *------------------------------------------------------------------------------------------*/ int32_t inFileSampleRate = 0; if ( AudioFileReader_open( &audioReader, arg.inputWavFilename, &inFileSampleRate ) != IVAS_ERR_OK ) { fprintf( stderr, "\nCan't open %s\n\n", arg.inputWavFilename ); goto cleanup; } if ( inFileSampleRate != 0 && /* inFileSampleRate will remain zero if input file is raw PCM */ inFileSampleRate != arg.inputFs ) { fprintf( stderr, "Sampling rate mismatch: %d Hz requested, but %d Hz found in file %s\n", arg.inputFs, inFileSampleRate, arg.inputWavFilename ); goto cleanup; } #endif /*------------------------------------------------------------------------------------------* * Open output bitstream file Loading Loading @@ -395,7 +381,11 @@ int main( } break; case IVAS_ENC_INPUT_ISM: #ifdef TD5 if ( ( error = IVAS_ENC_ConfigureForObjects( hIvasEnc, arg.inputFs, totalBitrate, arg.max_bwidth_user, bandwidth, arg.dtxConfig, arg.inputFormatConfig.ism.numObjects, arg.ism_extended_metadata ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_ENC_ConfigureForObjects( hIvasEnc, arg.inputFs, totalBitrate, arg.max_bwidth_user, bandwidth, arg.dtxConfig, arg.inputFormatConfig.ism.numObjects ) ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "\nIVAS_ENC_ConfigureForObjects failed: %s\n\n", IVAS_ENC_GetErrorMessage( error ) ); goto cleanup; Loading Loading @@ -452,7 +442,6 @@ int main( goto cleanup; } #ifdef FIX_94_VERIFY_WAV_NUM_CHANNELS /*------------------------------------------------------------------------------------------* * Open input audio file *------------------------------------------------------------------------------------------*/ Loading Loading @@ -511,7 +500,6 @@ int main( fprintf( stderr, "\nError: %s\n", ivas_error_to_string( error ) ); goto cleanup; } #endif /*------------------------------------------------------------------------------------------* * Open input metadata files Loading Loading @@ -718,7 +706,7 @@ int main( } #endif /* Read ISm input metadata */ /* Read ISM input metadata */ for ( i = 0; i < numIsmInputs; ++i ) { if ( ismReaders[i] == NULL ) Loading Loading @@ -778,8 +766,8 @@ int main( } #ifdef WMOPS update_wmops(); update_mem(); update_wmops(); #endif } Loading Loading @@ -895,6 +883,9 @@ static void initArgStruct( EncArguments *arg ) arg->caConfig = IVAS_ENC_GetDefaultChannelAwareConfig(); arg->ca_config_file = NULL; arg->mimeOutput = false; #ifdef TD5 arg->ism_extended_metadata = false; #endif #ifdef DEBUGGING arg->forcedMode = IVAS_ENC_FORCE_UNFORCED; Loading Loading @@ -1282,6 +1273,13 @@ static bool parseCmdlIVAS_enc( if ( i < argc - 4 ) { #ifdef TD5 if ( argv[i][0] == '+' ) { argv[i]++; arg->ism_extended_metadata = true; } #endif if ( !is_digits_only( argv[i] ) ) { fprintf( stderr, "Error: Number of ISM channels must be an integer number!\n\n" ); Loading Loading @@ -1640,7 +1638,6 @@ static void usage_enc( void ) fprintf( stdout, " *VBR mode (average bitrate),\n" ); fprintf( stdout, " for AMR-WB IO modes R = (6600, 8850, 12650, 14250, 15850, 18250,\n" ); fprintf( stdout, " 19850, 23050, 23850) \n" ); #ifdef ISM_HIGHEST_BITRATE fprintf( stdout, " for IVAS stereo R = (13200, 16400, 24400, 32000, 48000, 64000, 80000, \n" ); fprintf( stdout, " 96000, 128000, 160000, 192000, 256000) \n" ); fprintf( stdout, " for IVAS ISM R = 13200 for 1 ISM, 16400 for 1 ISM and 2 ISM, \n" ); Loading @@ -1648,10 +1645,6 @@ 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" ); #else fprintf( stdout, " for IVAS stereo & ISm R =(13200, 16400, 24400, 32000, 48000, 64000, 80000, \n" ); fprintf( stdout, " 96000, 128000, 160000, 192000, 256000) \n" ); #endif 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" ); fprintf( stdout, " Alternatively, R can be a bitrate switching file which consists of R values\n" ); Loading @@ -1667,8 +1660,14 @@ static void usage_enc( void ) fprintf( stdout, "EVS mono is default, for IVAS choose one of the following: -stereo, -ism, -sba, -masa, -mc\n" ); fprintf( stdout, "-stereo [Mode] : Stereo format, default is unified stereo \n" ); fprintf( stdout, " optional for Mode: 1: DFT Stereo, 2: TD Stereo, 3: MDCT Stereo\n" ); #ifdef TD5 fprintf( stdout, "-ism (+)Ch Files : ISM format \n" ); fprintf( stdout, " where Ch specifies the number of ISMs (1-4)\n" ); fprintf( stdout, " where positive (+) means extended metadata format is used (including orientation and radius) \n" ); #else fprintf( stdout, "-ism Channels Files : ISM format \n" ); fprintf( stdout, " where Channels specifies the number of ISMs (1-4)\n" ); #endif fprintf( stdout, " and Files specify input files containing metadata, one file per object\n" ); fprintf( stdout, " (use NULL for no input metadata)\n" ); fprintf( stdout, "-sba +/-Order : Scene Based Audio input format (Ambisonics ACN/SN3D),\n" ); Loading