Skip to content
......@@ -1582,143 +1582,143 @@ eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g1
// stereo at 32 kbps, 48 kHz in, 32 kHz out, DTX on, JBM Prof 0
../IVAS_cod -stereo -dtx 32000 48 testv/ltv48_STEREO.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_0.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP STEREO 32 netsimoutput testv/ltv48_STEREO.wav_stereo_32000_48-32_DTX_JBM0.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP STEREO 32 netsimoutput testv/ltv48_STEREO.wav_stereo_32000_48-32_DTX_JBM0.tst
// 4 ISm with metadata at 64 kbps, 48 kHz in, 48 kHz out, DTX on, EXT out, JBM Prof 0
../IVAS_cod -dtx -ism 4 testv/ltvISM1.csv testv/ltvISM2.csv testv/ltvISM3.csv testv/ltvISM4.csv 64000 48 testv/ltv48_4ISM.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_0.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP EXT 48 netsimoutput testv/ltv48_4ISM.wav_64000_48-48_DTX_EXT_JBM0.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP EXT 48 netsimoutput testv/ltv48_4ISM.wav_64000_48-48_DTX_EXT_JBM0.tst
// MASA 1dir 1TC at 13.2 kbps, 48kHz in, 32kHz out, DTX on, EXT out, JBM Prof 0
../IVAS_cod -dtx -masa 1 testv/ltv48_MASA1TC.met 13200 48 testv/ltv48_MASA1TC.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_0.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP EXT 32 netsimoutput testv/ltv48_MASA1TC.wav_13200_48-32_DTX_EXT_JBM0.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP EXT 32 netsimoutput testv/ltv48_MASA1TC.wav_13200_48-32_DTX_EXT_JBM0.tst
// SBA at 24.4 kbps, 32kHz in, 32kHz out, DTX on, BINAURAL out, JBM 0
../IVAS_cod -sba 3 -dtx 24400 32 testv/ltv32_HOA3.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_0.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP BINAURAL 32 netsimoutput testv/ltv32_HOA3.wav_SBA_24400_32-32_DTX_Binaural_JBM0.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP BINAURAL 32 netsimoutput testv/ltv32_HOA3.wav_SBA_24400_32-32_DTX_Binaural_JBM0.tst
// stereo at 48 kbps, 16 kHz in, 16 kHz out, DTX on, JBM Prof 5
../IVAS_cod -stereo -dtx 48000 16 testv/ltv16_STEREO.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP STEREO 16 netsimoutput testv/ltv16_STEREO.wav_stereo_48000_16-16_DTX_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP STEREO 16 netsimoutput testv/ltv16_STEREO.wav_stereo_48000_16-16_DTX_JBM5.tst
// 4 ISm with metadata at 32 kbps, 48 kHz in, 48 kHz out, FOA out, JBM Prof 5
../IVAS_cod -ism 4 testv/ltvISM1.csv testv/ltvISM2.csv testv/ltvISM3.csv testv/ltvISM4.csv 32000 48 testv/ltv48_4ISM.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/ltv48_4ISM.wav_32000_48-48_FOA_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/ltv48_4ISM.wav_32000_48-48_FOA_JBM5.tst
// 3 ISM with metadata bitrate switching from 48 kbps to 32 kbps, 48 kHz in, 32 kHz out, DTX, BINAURAL_ROOM_IR out, JBM Prof 5
../IVAS_cod -dtx -ism 3 testv/ltvISM1.csv testv/ltvISM2.csv testv/ltvISM3.csv ../scripts/switchPaths/sw_48-32k_10fr.bin 48 testv/ltv48_3ISM.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP BINAURAL_ROOM_IR 32 netsimoutput testv/ltv48_3ISM.wav_sw_48-32_DTX_BINAURAL_ROOM_IR_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP BINAURAL_ROOM_IR 32 netsimoutput testv/ltv48_3ISM.wav_sw_48-32_DTX_BINAURAL_ROOM_IR_JBM5.tst
// SBA at 80 kbps, 32kHz in, 32kHz out, HOA3 out, JBM Prof 5
../IVAS_cod -sba 3 80000 32 testv/ltv32_HOA3.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP HOA3 32 netsimoutput testv/ltv32_HOA3.wav_SBA_80000_32-32_HOA3_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP HOA3 32 netsimoutput testv/ltv32_HOA3.wav_SBA_80000_32-32_HOA3_JBM5.tst
// SBA at 13.2 kbps, 48kHz in, 48kHz out, BINAURAL out, JBM Prof 5
../IVAS_cod -sba 1 13200 48 testv/ltv48_FOA.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP BINAURAL 48 netsimoutput testv/ltv48_FOA.wav_SBA_13200_48-48_BINAURAL_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP BINAURAL 48 netsimoutput testv/ltv48_FOA.wav_SBA_13200_48-48_BINAURAL_JBM5.tst
// Multi-channel 5_1 at 384 kbps, 48kHz in, 48kHz out, 7_1_4 out, JBM Prof 5
../IVAS_cod -mc 5_1 384000 48 testv/ltv48_MC51.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP 7_1_4 48 netsimoutput testv/ltv48_MC51.wav_MC51_384000_48-48_7_1_4_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP 7_1_4 48 netsimoutput testv/ltv48_MC51.wav_MC51_384000_48-48_7_1_4_JBM5.tst
// Multi-channel 7_1_4 at 256 kbps, 48kHz in, 48kHz out, 7_1_4 out, JBM Prof 5
../IVAS_cod -mc 7_1_4 256000 48 testv/ltv48_MC714.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP 7_1_4 48 netsimoutput testv/ltv48_MC714.wav_MC714_256000_48-48_7_1_4_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP 7_1_4 48 netsimoutput testv/ltv48_MC714.wav_MC714_256000_48-48_7_1_4_JBM5.tst
// Multi-channel 7_1 bitrate switching, 48kHz in, 32kHz out, BINAURAL_ROOM_REVERB out, HR, JBM Prof 5
../IVAS_cod -mc 7_1 ../scripts/switchPaths/sw_24k4_384k.bin 48 testv/ltv48_MC71.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -T testv/headrot.csv -Tracefile tracefile_dec -VOIP binaural_room_reverb 32 netsimoutput testv/ltv48_MC71.wav_MC71_brsw_48-32_BinauralRoomReverb_Headrot_JBM5.tst
../IVAS_dec -T testv/headrot.csv -no_delay_cmp -Tracefile tracefile_dec -VOIP binaural_room_reverb 32 netsimoutput testv/ltv48_MC71.wav_MC71_brsw_48-32_BinauralRoomReverb_Headrot_JBM5.tst
// Multi-channel 7_1_4 bitrate switching, 48kHz in, 48kHz out, BINAURAL out, HR, JBM Prof 5
../IVAS_cod -mc 7_1_4 ../scripts/switchPaths/sw_24k4_384k.bin 48 testv/ltv48_MC714.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -T testv/headrot.csv -Tracefile tracefile_dec -VOIP BINAURAL 48 netsimoutput testv/ltv48_MC714.wav_MC714_brsw_48-48_BINAURAL_Headrot_JBM5.tst
../IVAS_dec -T testv/headrot.csv -no_delay_cmp -Tracefile tracefile_dec -VOIP BINAURAL 48 netsimoutput testv/ltv48_MC714.wav_MC714_brsw_48-48_BINAURAL_Headrot_JBM5.tst
// MASA 1TC bitrate switching from 13.2 kbps to 128 kbps, 48kHz in, 32kHz out, 5_1 out, JBM Prof 5
../IVAS_cod -masa 1 testv/ltv48_MASA1TC.met ../scripts/switchPaths/sw_13k2_to_128k_10fr.bin 48 testv/ltv48_MASA1TC.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP 5_1 32 netsimoutput testv/ltv48_MASA1TC.wav_sw_48-32_5_1_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP 5_1 32 netsimoutput testv/ltv48_MASA1TC.wav_sw_48-32_5_1_JBM5.tst
// MASA 1TC bitrate switching from 13.2 kbps to 128 kbps, 48kHz in, 48kHz out, STEREO out, JBM Prof 5
../IVAS_cod -masa 1 testv/ltv48_MASA1TC.met ../scripts/switchPaths/sw_13k2_to_128k_10fr.bin 48 testv/ltv48_MASA1TC.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP STEREO 48 netsimoutput testv/ltv48_MASA1TC.wav_sw_48-48_STEREO_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP STEREO 48 netsimoutput testv/ltv48_MASA1TC.wav_sw_48-48_STEREO_JBM5.tst
// MASA 1TC bitrate switching from 13.2 kbps to 128 kbps, 48kHz in, 48kHz out, FOA out, JBM Prof 5
../IVAS_cod -masa 1 testv/ltv48_MASA1TC.met ../scripts/switchPaths/sw_13k2_to_128k_10fr.bin 48 testv/ltv48_MASA1TC.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/ltv48_MASA1TC.wav_sw_48-48_FOA_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/ltv48_MASA1TC.wav_sw_48-48_FOA_JBM5.tst
// MASA 2TC bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 16kHz out, BINAURAL out, JBM Prof 5
../IVAS_cod -masa 2 testv/ltv48_MASA2TC.met ../scripts/switchPaths/sw_13k2_512k.bin 48 testv/ltv48_MASA2TC.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP BINAURAL 16 netsimoutput testv/ltv48_MASA2TC.wav_sw_48-16_BINAURAL_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP BINAURAL 16 netsimoutput testv/ltv48_MASA2TC.wav_sw_48-16_BINAURAL_JBM5.tst
// MASA 2TC bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 32kHz out, MONO out, JBM Prof 5
../IVAS_cod -masa 2 testv/ltv48_MASA2TC.met ../scripts/switchPaths/sw_13k2_512k.bin 48 testv/ltv48_MASA2TC.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP MONO 32 netsimoutput testv/ltv48_MASA2TC.wav_sw_48-32_MONO_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP MONO 32 netsimoutput testv/ltv48_MASA2TC.wav_sw_48-32_MONO_JBM5.tst
// MASA 2TC bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 48kHz out, EXT out, JBM Prof 5
../IVAS_cod -masa 2 testv/ltv48_MASA2TC.met ../scripts/switchPaths/sw_13k2_512k.bin 48 testv/ltv48_MASA2TC.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP EXT 48 netsimoutput testv/ltv48_MASA2TC.wav_sw_48-48_EXT_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP EXT 48 netsimoutput testv/ltv48_MASA2TC.wav_sw_48-48_EXT_JBM5.tst
// MASA 1TC bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 16kHz out, BINAURAL out, JBM Prof 5
../IVAS_cod -masa 1 testv/ltv48_MASA1TC.met ../scripts/switchPaths/sw_13k2_512k.bin 48 testv/ltv48_MASA1TC.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP BINAURAL 16 netsimoutput testv/ltv48_MASA1TC.wav_sw_48-16_BINAURAL_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP BINAURAL 16 netsimoutput testv/ltv48_MASA1TC.wav_sw_48-16_BINAURAL_JBM5.tst
// OMASA 2TC 1ISM at br sw techs 13.2 to 512 kbps start 24.4 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_IR out, JBM Prof 5
../IVAS_cod -ism_masa 1 2 testv/ltv48_OMASA_1ISM_2TC_ISM1.csv testv/ltv48_OMASA_1ISM_2TC.met ../scripts/switchPaths/sw_13k2_512k_2fr_start_24k4_omasatechs_1ism.bin 48 testv/ltv48_OMASA_1ISM_2TC.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP BINAURAL_ROOM_IR 48 netsimoutput testv/ltv48_OMASA_1ISM_2TC.wav_BINAURAL_ROOM_IR_sw_48-48_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP BINAURAL_ROOM_IR 48 netsimoutput testv/ltv48_OMASA_1ISM_2TC.wav_BINAURAL_ROOM_IR_sw_48-48_JBM5.tst
// OMASA 2TC 2ISM at br sw techs 13.2 to 512 kbps start 48 kbps, 48kHz in, 48kHz out, 7.1 out, JBM Prof 5
../IVAS_cod -ism_masa 2 2 testv/ltv48_OMASA_2ISM_2TC_ISM1.csv NULL testv/ltv48_OMASA_2ISM_2TC.met ../scripts/switchPaths/sw_13k2_512k_2fr_start_48k_omasatechs_2ism.bin 48 testv/ltv48_OMASA_2ISM_2TC.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP 7_1 48 netsimoutput testv/ltv48_OMASA_2ISM_2TC.wav_7_1_sw_48-48_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP 7_1 48 netsimoutput testv/ltv48_OMASA_2ISM_2TC.wav_7_1_sw_48-48_JBM5.tst
// OMASA 2TC 3ISM at br sw techs 13.2 to 512 kbps start 160 kbps, 48kHz in, 48kHz out, MONO out, JBM Prof 5
../IVAS_cod -ism_masa 3 2 testv/ltv48_OMASA_3ISM_2TC_ISM1.csv testv/ltv48_OMASA_3ISM_2TC_ISM2.csv testv/ltv48_OMASA_3ISM_2TC_ISM3.csv testv/ltv48_OMASA_3ISM_2TC.met ../scripts/switchPaths/sw_13k2_512k_2fr_start_160k_omasatechs_3ism.bin 48 testv/ltv48_OMASA_3ISM_2TC.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP MONO 48 netsimoutput testv/ltv48_OMASA_3ISM_2TC.wav_MONO_sw_48-48_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP MONO 48 netsimoutput testv/ltv48_OMASA_3ISM_2TC.wav_MONO_sw_48-48_JBM5.tst
// OMASA 1TC 3ISM at br sw techs 13.2 to 512 kbps start 48 kbps, 48kHz in, 32kHz out, STEREO out, JBM Prof 5
../IVAS_cod -ism_masa 3 1 testv/ltv48_OMASA_3ISM_1TC_ISM1.csv testv/ltv48_OMASA_3ISM_1TC_ISM2.csv testv/ltv48_OMASA_3ISM_1TC_ISM3.csv testv/ltv48_OMASA_3ISM_1TC.met ../scripts/switchPaths/sw_13k2_512k_2fr_start_48k_omasatechs_3ism.bin 48 testv/ltv48_OMASA_3ISM_1TC.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP STEREO 32 netsimoutput testv/ltv48_OMASA_3ISM_1TC.wav_STEREO_sw_48-32_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP STEREO 32 netsimoutput testv/ltv48_OMASA_3ISM_1TC.wav_STEREO_sw_48-32_JBM5.tst
// OMASA 2TC 3ISM at br sw techs 13.2 to 512 kbps start 24.4 kbps, 32kHz in, 48kHz out, 5.1.2 out, JBM Prof 5
../IVAS_cod -ism_masa 3 2 testv/ltv48_OMASA_3ISM_2TC_ISM1.csv testv/ltv48_OMASA_3ISM_2TC_ISM2.csv testv/ltv48_OMASA_3ISM_2TC_ISM3.csv testv/ltv48_OMASA_3ISM_2TC.met ../scripts/switchPaths/sw_13k2_512k_2fr_start_24k4_omasatechs_3ism.bin 32 testv/ltv32_OMASA_3ISM_2TC.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP 5_1_2 48 netsimoutput testv/ltv32_OMASA_3ISM_2TC.wav_5_1_2_sw_32-48_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP 5_1_2 48 netsimoutput testv/ltv32_OMASA_3ISM_2TC.wav_5_1_2_sw_32-48_JBM5.tst
// OMASA 1TC 4ISM at br sw techs 13.2 to 512 kbps start 32 kbps, 48kHz in, 48kHz out, BINAURAL out, JBM Prof 5
../IVAS_cod -ism_masa 4 1 testv/ltv48_OMASA_4ISM_1TC_ISM1.csv testv/ltv48_OMASA_4ISM_1TC_ISM2.csv testv/ltv48_OMASA_4ISM_1TC_ISM3.csv testv/ltv48_OMASA_4ISM_1TC_ISM4.csv testv/ltv48_OMASA_4ISM_1TC.met ../scripts/switchPaths/sw_13k2_512k_2fr_start_32k_omasatechs_4ism.bin 48 testv/ltv48_OMASA_4ISM_1TC.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP BINAURAL 48 netsimoutput testv/ltv48_OMASA_4ISM_1TC.wav_BINAURAL_sw_48-48_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP BINAURAL 48 netsimoutput testv/ltv48_OMASA_4ISM_1TC.wav_BINAURAL_sw_48-48_JBM5.tst
// OMASA 2TC 4ISM at br sw techs 13.2 to 512 kbps start 80 kbps, 48kHz in, 48kHz out, FOA out, JBM Prof 5
../IVAS_cod -ism_masa 4 2 NULL testv/ltv48_OMASA_4ISM_2TC_ISM2.csv testv/ltv48_OMASA_4ISM_2TC_ISM3.csv testv/ltv48_OMASA_4ISM_2TC_ISM4.csv testv/ltv48_OMASA_4ISM_2TC.met ../scripts/switchPaths/sw_13k2_512k_2fr_start_80k_omasatechs_4ism.bin 48 testv/ltv48_OMASA_4ISM_2TC.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/ltv48_OMASA_4ISM_2TC.wav_FOA_sw_48-48_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/ltv48_OMASA_4ISM_2TC.wav_FOA_sw_48-48_JBM5.tst
// OMASA 2TC 4ISM at 256 kbps, 48kHz in, 48kHz out, EXT out, JBM Prof 5
../IVAS_cod -ism_masa 4 2 testv/ltv48_OMASA_4ISM_2TC_ISM1.csv testv/ltv48_OMASA_4ISM_2TC_ISM2.csv NULL testv/ltv48_OMASA_4ISM_2TC_ISM4.csv testv/ltv48_OMASA_4ISM_2TC.met 256000 48 testv/ltv48_OMASA_4ISM_2TC.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP EXT 48 netsimoutput testv/ltv48_OMASA_4ISM_2TC.wav_EXT_256000_48-48_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP EXT 48 netsimoutput testv/ltv48_OMASA_4ISM_2TC.wav_EXT_256000_48-48_JBM5.tst
// OMASA 1TC 4ISM 48 kbps 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out custom configuration
../IVAS_cod -ism_masa 4 1 testv/ltv48_OMASA_4ISM_1TC_ISM1.csv testv/ltv48_OMASA_4ISM_1TC_ISM2.csv testv/ltv48_OMASA_4ISM_1TC_ISM3.csv testv/ltv48_OMASA_4ISM_1TC_ISM4.csv testv/ltv48_OMASA_4ISM_1TC.met 48000 48 testv/ltv48_OMASA_4ISM_1TC.wav bit
......@@ -1993,7 +1993,7 @@ eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_10pct.g
// OSBA 2OA 2ISM bitrate switching, 32kHz in, 48kHz out, BINAURAL_ROOM_REVERB out, JBM Prof 5
../IVAS_cod -ism_sba 2 2 testv/ltvISM1.csv testv/ltvISM2.csv ../scripts/switchPaths/sw_24k4_256k.bin 32 testv/ltv32_OSBA_2ISM_HOA2.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP BINAURAL_ROOM_REVERB 48 netsimoutput testv/ltv32_OSBA_2ISM_HOA2.wav_BINAURAL_brsw_32-48_JBM5.tst
../IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP BINAURAL_ROOM_REVERB 48 netsimoutput testv/ltv32_OSBA_2ISM_HOA2.wav_BINAURAL_brsw_32-48_JBM5.tst
// OMASA 2TC 4ISM at 80 kbps, 48kHz in, 48kHz out, BINAURAL out, default object editing, 1SEP-PARAM
......@@ -2003,12 +2003,12 @@ networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit
// OMASA 2TC 4ISM at 256 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing, JBM Prof 5, DISC
../IVAS_cod -ism_masa 4 2 testv/ltv48_OMASA_4ISM_2TC_ISM1.csv testv/ltv48_OMASA_4ISM_2TC_ISM2.csv testv/ltv48_OMASA_4ISM_2TC_ISM3.csv testv/ltv48_OMASA_4ISM_2TC_ISM4.csv testv/ltv48_OMASA_4ISM_2TC.met 256000 48 testv/ltv48_OMASA_4ISM_2TC.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -obj_edit ../scripts/object_edit/combined_edit.txt -Tracefile tracefile_dec -VOIP BINAURAL 48 netsimoutput testv/ltv48_OMASA_4ISM_2TC.wav_BINAURAL_256000_48-48_OE_JBM5.tst
../IVAS_dec -obj_edit ../scripts/object_edit/combined_edit.txt -no_delay_cmp -Tracefile tracefile_dec -VOIP BINAURAL 48 netsimoutput testv/ltv48_OMASA_4ISM_2TC.wav_BINAURAL_256000_48-48_OE_JBM5.tst
// OMASA 2TC 2ISM at 96 kbps, 48kHz in, 48kHz out, FOA out, object editing, JBM Prof 5, DISC
../IVAS_cod -ism_masa 2 2 testv/ltv48_OMASA_2ISM_2TC_ISM1.csv testv/ltv48_OMASA_2ISM_2TC_ISM2.csv testv/ltv48_OMASA_2ISM_2TC.met 96000 48 testv/ltv48_OMASA_2ISM_2TC.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -obj_edit ../scripts/object_edit/combined_edit.txt -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/ltv48_OMASA_2ISM_2TC.wav_FOA_96000_48-48_OE_JBM5.tst
../IVAS_dec -obj_edit ../scripts/object_edit/combined_edit.txt -no_delay_cmp -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/ltv48_OMASA_2ISM_2TC.wav_FOA_96000_48-48_OE_JBM5.tst
// OMASA 2TC 2ISM br sw techs 13.2 to 512 kbps start 48 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing
../IVAS_cod -ism_masa 2 2 testv/ltv48_OMASA_2ISM_2TC_ISM1.csv testv/ltv48_OMASA_2ISM_2TC_ISM2.csv testv/ltv48_OMASA_2ISM_2TC.met ../scripts/switchPaths/sw_13k2_512k_2fr_start_48k_omasatechs_2ism.bin 48 testv/ltv48_OMASA_2ISM_2TC.wav bit
......@@ -2021,7 +2021,7 @@ networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit
// OSBA 2OA 3ISM at 128 kbps, 48kHz in, 48kHz out, FOA out, object editing, JBM Prof 5, DISC
../IVAS_cod -ism_sba 3 2 testv/ltv48_OSBA_3ISM_HOA2_ISM1.csv testv/ltv48_OSBA_3ISM_HOA2_ISM2.csv testv/ltv48_OSBA_3ISM_HOA2_ISM3.csv 128000 48 testv/ltv48_OSBA_3ISM_HOA2.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -obj_edit ../scripts/object_edit/combined_edit.txt -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/ltv48_OSBA_3ISM_HOA2.wav_FOA_128000_48-48_OE_JBM5.tst
../IVAS_dec -obj_edit ../scripts/object_edit/combined_edit.txt -no_delay_cmp -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/ltv48_OSBA_3ISM_HOA2.wav_FOA_128000_48-48_OE_JBM5.tst
// OSBA 2OA 3ISM at bitrate switching 13.2 to 512 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing
../IVAS_cod -ism_sba 3 2 testv/ltv48_OSBA_3ISM_HOA2_ISM1.csv testv/ltv48_OSBA_3ISM_HOA2_ISM2.csv testv/ltv48_OSBA_3ISM_HOA2_ISM3.csv ../scripts/switchPaths/sw_13k2_512k.bin 48 testv/ltv48_OSBA_3ISM_HOA2.wav bit
......@@ -2039,12 +2039,12 @@ eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g1
// 3 ISM with metadata at 24.4 kbps, 48 kHz in, 48 kHz out, FOA out, object editing, JBM Prof 5, PARAM_ISM
../IVAS_cod -ism 3 testv/ltvISM1.csv testv/ltvISM2.csv testv/ltvISM3.csv 24400 48 testv/ltv48_3ISM.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -obj_edit ../scripts/object_edit/combined_edit.txt -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/ltv48_3ISM.wav_24400_48-48_FOA_OE_JBM5.tst
../IVAS_dec -obj_edit ../scripts/object_edit/combined_edit.txt -no_delay_cmp -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/ltv48_3ISM.wav_24400_48-48_FOA_OE_JBM5.tst
// 3 ISM with metadata at 384 kbps, 48 kHz in, 48 kHz out, FOA out, object editing, JBM Prof 5, DISC
../IVAS_cod -ism 3 testv/ltvISM1.csv testv/ltvISM2.csv testv/ltvISM3.csv 384000 48 testv/ltv48_3ISM.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -obj_edit NULL -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/ltv48_3ISM.wav_384000_48-48_FOA_OE_JBM5.tst
../IVAS_dec -obj_edit NULL -no_delay_cmp -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/ltv48_3ISM.wav_384000_48-48_FOA_OE_JBM5.tst
// 4 ISM with metadata bitrate switching from 32 kbps to 48 kbps, 48 kHz in, 48 kHz out, BINAURAL_ROOM_IR out, object editing
../IVAS_cod -ism 4 testv/ltvISM1.csv testv/ltvISM2.csv testv/ltvISM3.csv testv/ltvISM4.csv ../scripts/switchPaths/sw_32-48k_10fr.bin 48 testv/ltv48_4ISM.wav bit
......@@ -2053,4 +2053,4 @@ networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit
// 4 ISM with metadata bitrate switching from 48 kbps to 32 kbps, 48 kHz in, 48 kHz out, BINAURAL out, object editing, JBM Prof 5
../IVAS_cod -ism 4 testv/ltvISM1.csv testv/ltvISM2.csv testv/ltvISM3.csv testv/ltvISM4.csv ../scripts/switchPaths/sw_48-32k_10fr.bin 48 testv/ltv48_4ISM.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -obj_edit ../scripts/object_edit/combined_edit.txt -Tracefile tracefile_dec -VOIP BINAURAL 48 netsimoutput testv/ltv48_4ISM.wav_sw_48-48_BINAURAL_OE_JBM5.tst
../IVAS_dec -obj_edit ../scripts/object_edit/combined_edit.txt -no_delay_cmp -Tracefile tracefile_dec -VOIP BINAURAL 48 netsimoutput testv/ltv48_4ISM.wav_sw_48-48_BINAURAL_OE_JBM5.tst
#!/usr/bin/env python3
from pathlib import Path
from scipy.io.wavfile import read, write
import numpy as np
MAX_NUM_CH = 20 # number of channel indices in file
MIN_DURATION_MS = 1200 # minimum duration needed for all indices at 16kHz
TESTV_DIR = Path(__file__).parent.joinpath("testv")
def create_vector(fs: int, num_ch: int):
in_file = TESTV_DIR / f"spectral_{fs}.wav"
# requires spectral_{16,32,48}.wav
if not in_file.exists():
raise FileNotFoundError(f"Source file {in_file} not found!")
# validate num_ch
if num_ch > MAX_NUM_CH or num_ch < 1:
raise ValueError(
f"Requested channel count of {num_ch} channels is invalid. Must be between 1 and {MAX_NUM_CH}!"
)
_, data = read(in_file)
# split source file into parts
part_len = data.shape[0] // MAX_NUM_CH
parts = data.reshape(MAX_NUM_CH, part_len).T
duration = fs * MIN_DURATION_MS
out = np.zeros([duration, num_ch], dtype=np.int16)
# populate output vector, loop over the channel indices
# until the duration is reached
for i in range(duration // part_len):
for ch in range(num_ch):
if i % num_ch == ch:
out[i * part_len : (i + 1) * part_len, ch] = parts[:, ch]
write(TESTV_DIR / f"spectral_test_{num_ch}ch_{fs}kHz.wav", fs * 1000, out)
def main():
for fs in [16, 32, 48]:
for ch in range(1, 21):
create_vector(fs, ch)
if __name__ == "__main__":
main()
......@@ -6,13 +6,13 @@ printf "Cleaning old version of LC3plus\n"
rm -rf lib_lc3plus
printf "Downloading LC3plus code\n"
if false; then
if true; then
# Waiting for official ETSI release.
# TODO: add new URL, remove `if false` when package goes public
curl -o ./lc3plus_sources.zip NEW_URL_HERE
curl -o ./lc3plus_sources.zip https://www.etsi.org/deliver/etsi_ts/103600_103699/103634/01.05.01_60/ts_103634v010501p0.zip
unzip lc3plus_sources.zip -d .
rm lc3plus_sources.zip
cp -r "ETSI_Release/<package name here>/src/floating_point" lib_lc3plus
cp -r "ETSI_Release/LC3plus_ETSI_src_v5f640bd48cc_20240516/src/floating_point" lib_lc3plus
rm -r ETSI_Release
else
# Temp solution for downloading WIP ETSI package
......@@ -59,7 +59,7 @@ sed -i 's/^#[[:space:]]\+/#/' {}
# fix for sanitizer issues
sed -i 's/st->low << 8/(LC3_INT)((LC3_UINT32)st->low << 8)/' lib_lc3plus/ari_codec.c
sed -i 's/~3/(uintptr_t)(~3)/' lib_lc3plus/lc3.c
sed -i 's/~3/(uintptr_t)(~3)/' lib_lc3plus/lc3plus.c
# Add .clang-format file to lib_lc3plus to disable formatting there
printf "Disabling clang-format in lib_lc3plus directory\n"
......
......@@ -647,7 +647,7 @@ def runner_setup(runner, args):
"0",
jbm_suffix,
]
dec_options = ["-Tracefile", "{dec_file_name}.tracefile_dec", "-VOIP"]
dec_options = ["-Tracefile", "{dec_file_name}.tracefile_dec", "-no_delay_cmp", "-VOIP"]
add_to_proc_chain(bs_proc_chain, jbm_cmd, dec_options)
if args["sidstart"]:
......@@ -771,7 +771,7 @@ def analyzer_setup(analyzer, args):
"0",
jbm_suffix,
]
dec_options = ["-Tracefile", "{dec_file_name}.tracefile_dec", "-VOIP"]
dec_options = ["-Tracefile", "{dec_file_name}.tracefile_dec", "-no_delay_cmp", "-VOIP"]
add_to_proc_chain(bs_proc_chain, jbm_cmd, dec_options)
if args["sidstart"]:
......
......@@ -38,16 +38,9 @@ the United Nations Convention on Contracts on the International Sales of Goods.
#include "isar_lc3plus_common.h"
#include "isar_lc3plus_dec.h"
#include "ivas_error_utils.h"
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
#include "lc3.h"
#endif
#include "lc3plus.h"
#ifdef SPLIT_REND_WITH_HEAD_ROT
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
#define MAX_SAMPLES_PER_CHANNEL 960 / 4
#else
#define MAX_SAMPLES_PER_CHANNEL 960
#endif
#define DEFAULT_BPS 256000
#ifndef PCM_SAMPLE_TYPEDEF_DEFINED
......@@ -100,7 +93,6 @@ static int encodeAndDecodeOneStereoFrame( LC3PLUS_CONFIG config, uint32_t bps )
uint8_t *bitstream_out = malloc( bitstreamSizePerIvasFrame );
memset( bitstream_out, 0, bitstreamSizePerIvasFrame );
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
int perChannelBitrate = lc3plus_enc_get_real_bitrate(encHandle->handles[0]);
int perLc3plusFrameDataBlockOctets = encHandle->num_ftds * perChannelBitrate / 8 / (1000*1000/config.lc3plus_frame_duration_us);
int targetOctets = bps / 8 / (1000*1000/config.isar_frame_duration_us);
......@@ -118,9 +110,6 @@ static int encodeAndDecodeOneStereoFrame( LC3PLUS_CONFIG config, uint32_t bps )
Word16 Q_in[16];
memset(Q_in, 0, sizeof(Q_in) );
err = ISAR_LC3PLUS_ENC_Encode( encHandle, pcm_in, bitstream_out, bitstreamSizePerIvasFrame, Q_in );
#else
err = ISAR_LC3PLUS_ENC_Encode( encHandle, pcm_in, bitstream_out );
#endif
if ( IVAS_ERR_OK != err )
{
ISAR_LC3PLUS_ENC_Close( &encHandle );
......@@ -200,11 +189,7 @@ static int encodeAndDecodeOneStereoFrame( LC3PLUS_CONFIG config, uint32_t bps )
static int openCloseEncoder( void )
{
ivas_error err;
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 5 * 1000, .isar_frame_duration_us = 5000, .channels = 1, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 20000, .channels = 1, .samplerate = 48000 };
#endif
uint32_t bps = 128000;
ISAR_LC3PLUS_ENC_HANDLE encHandle;
......@@ -221,36 +206,23 @@ static int openCloseEncoder( void )
static int tryOpenEncoderWithInvalidBitrate( void )
{
ivas_error err;
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 5 * 1000, .isar_frame_duration_us = 5000, .channels = 1, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 20000, .channels = 1, .samplerate = 48000 };
#endif
/* lc3plus max bitrate is 320000 per channel */
uint32_t invalid_high_bps = 700000;
uint32_t invalid_low_bps = 8;
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
uint32_t limitedBitrate;
#endif
ISAR_LC3PLUS_ENC_HANDLE encHandle;
err = ISAR_LC3PLUS_ENC_Open( config, invalid_high_bps, &encHandle );
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
/* setting an invalid bitrate should result in a limited bitrate*/
if ( IVAS_ERR_OK != err )
#else
/* setting an invalid bitrate should trigger an error - which is what we expect */
if ( IVAS_ERR_LC3PLUS_INVALID_BITRATE != err )
#endif
{
return 1;
}
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
limitedBitrate = lc3plus_enc_get_real_bitrate(encHandle->handles[0]);
if(limitedBitrate != 320000)
{
return 1;
}
#endif
ISAR_LC3PLUS_ENC_Close(&encHandle);
err = ISAR_LC3PLUS_ENC_Open( config, invalid_low_bps, &encHandle );
/* setting an invalid bitrate should trigger an error - which is what we expect */
......@@ -265,11 +237,7 @@ static int tryOpenEncoderWithInvalidBitrate( void )
static int tryOpenEncoderWithInvalidFrameDuration( void )
{
ivas_error err;
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 5 * 1000, .isar_frame_duration_us = 5000, .channels = 1, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 20000, .channels = 1, .samplerate = 48000 };
#endif
config.lc3plus_frame_duration_us = 1234; /*unsupported frame duration*/
uint32_t bps = 320000;
......@@ -286,11 +254,7 @@ static int tryOpenEncoderWithInvalidFrameDuration( void )
static int tryOpenEncoderWithInvalidSampleRate( void )
{
ivas_error err;
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 5 * 1000, .isar_frame_duration_us = 5000, .channels = 1, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 20000, .channels = 1, .samplerate = 48000 };
#endif
config.samplerate = 1234; /*unsupported sample rate */
uint32_t bps = 320000;
......@@ -330,22 +294,14 @@ static int tryCallEncoderApiWithInvalidParams( void )
return 1;
}
ISAR_LC3PLUS_ENC_Close( &invalidEncHandle );
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
Word16 Q_in[16];
memset(Q_in, 0, sizeof(Q_in) );
if ( IVAS_ERR_UNEXPECTED_NULL_POINTER != ISAR_LC3PLUS_ENC_Encode( invalidEncHandle, invalidPcm_in, invalidBitstream_out, bsSize, Q_in ) )
#else
if ( IVAS_ERR_UNEXPECTED_NULL_POINTER != ISAR_LC3PLUS_ENC_Encode( invalidEncHandle, invalidPcm_in, invalidBitstream_out ) )
#endif
{
return 1;
}
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
memset(Q_in, 0, sizeof(Q_in) );
if ( IVAS_ERR_UNEXPECTED_NULL_POINTER != ISAR_LC3PLUS_ENC_Encode( invalidEncHandle, pcm_in, invalidBitstream_out, bsSize, Q_in) || IVAS_ERR_UNEXPECTED_NULL_POINTER != ISAR_LC3PLUS_ENC_Encode( invalidEncHandle, invalidPcm_in, bitstream_out, bsSize, Q_in ) || IVAS_ERR_UNEXPECTED_NULL_POINTER != ISAR_LC3PLUS_ENC_Encode( invalidEncHandle, pcm_in, bitstream_out, bsSize, Q_in ) )
#else
if ( IVAS_ERR_UNEXPECTED_NULL_POINTER != ISAR_LC3PLUS_ENC_Encode( invalidEncHandle, pcm_in, invalidBitstream_out ) || IVAS_ERR_UNEXPECTED_NULL_POINTER != ISAR_LC3PLUS_ENC_Encode( invalidEncHandle, invalidPcm_in, bitstream_out ) || IVAS_ERR_UNEXPECTED_NULL_POINTER != ISAR_LC3PLUS_ENC_Encode( invalidEncHandle, pcm_in, bitstream_out ) )
#endif
{
return 1;
}
......@@ -391,11 +347,7 @@ static int tryCallDecoderApiWithInvalidParams( void )
static int openCloseDecoderWithCaching( void )
{
ivas_error err;
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 5 * 1000, .isar_frame_duration_us = 5000, .channels = 1, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 20000, .channels = 1, .samplerate = 48000 };
#endif
ISAR_LC3PLUS_DEC_HANDLE decHandle;
err = ISAR_LC3PLUS_DEC_Open( config,
#ifdef LC3PLUS_DEC_ALLOW_DISABLE_CACHING
......@@ -414,11 +366,7 @@ static int openCloseDecoderWithCaching( void )
static int openCloseDecoderWithoutCaching( void )
{
ivas_error err;
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 5 * 1000, .isar_frame_duration_us = 5000, .channels = 1, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 20000, .channels = 1, .samplerate = 48000 };
#endif
ISAR_LC3PLUS_DEC_HANDLE decHandle;
err = ISAR_LC3PLUS_DEC_Open( config,
#ifdef LC3PLUS_DEC_ALLOW_DISABLE_CACHING
......@@ -438,11 +386,7 @@ static int openCloseDecoderWithoutCaching( void )
static int tryOpenDecoderWithInvalidFrameDuration( void )
{
ivas_error err;
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 5 * 1000, .isar_frame_duration_us = 5000, .channels = 1, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 20000, .channels = 1, .samplerate = 48000 };
#endif
config.lc3plus_frame_duration_us = 1234; /*unsupported frame duration*/
ISAR_LC3PLUS_DEC_HANDLE decHandle;
......@@ -462,11 +406,7 @@ static int tryOpenDecoderWithInvalidFrameDuration( void )
static int tryOpenDecoderWithInvalidSampleRate( void )
{
ivas_error err;
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 5 * 1000, .isar_frame_duration_us = 5000, .channels = 1, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 20000, .channels = 1, .samplerate = 48000 };
#endif
config.samplerate = 1234; /*unsupported sample rate*/
ISAR_LC3PLUS_DEC_HANDLE decHandle;
......@@ -486,11 +426,7 @@ static int tryOpenDecoderWithInvalidSampleRate( void )
static int encodeOneFrame( void )
{
ivas_error err;
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 5 * 1000, .isar_frame_duration_us = 5000, .channels = 1, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 20000, .channels = 1, .samplerate = 48000 };
#endif
uint32_t bps = 128000;
ISAR_LC3PLUS_ENC_HANDLE encHandle;
......@@ -511,14 +447,10 @@ static int encodeOneFrame( void )
return err;
uint8_t *bitstream_out = malloc( bitstreamSizePerIvasFrame );
memset( bitstream_out, 0, bitstreamSizePerIvasFrame );
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
Word16 Q_in[16];
memset(Q_in, 0, sizeof(Q_in) );
err = ISAR_LC3PLUS_ENC_Encode( encHandle, pcm, bitstream_out, bitstreamSizePerIvasFrame, Q_in );
#else
err = ISAR_LC3PLUS_ENC_Encode( encHandle, pcm, bitstream_out );
#endif
if ( IVAS_ERR_OK != err )
return err;
......@@ -531,11 +463,7 @@ static int encodeOneFrame( void )
static int encodeAndDecodeOneMonoFrame( void )
{
ivas_error err;
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 5 * 1000, .isar_frame_duration_us = 5000, .channels = 1, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 20000, .channels = 1, .samplerate = 48000 };
#endif
uint32_t bps = 128000;
ISAR_LC3PLUS_ENC_HANDLE encHandle;
......@@ -559,13 +487,9 @@ static int encodeAndDecodeOneMonoFrame( void )
uint8_t *bitstream_out = malloc( bitstreamSizePerIvasFrame );
memset( bitstream_out, 0, bitstreamSizePerIvasFrame );
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
Word16 Q_in[16];
memset(Q_in, 0, sizeof(Q_in) );
err = ISAR_LC3PLUS_ENC_Encode( encHandle, pcm_in, bitstream_out, bitstreamSizePerIvasFrame, Q_in );
#else
err = ISAR_LC3PLUS_ENC_Encode( encHandle, pcm_in, bitstream_out );
#endif
if ( IVAS_ERR_OK != err )
return err;
ISAR_LC3PLUS_ENC_Close( &encHandle );
......@@ -608,11 +532,7 @@ static int encodeAndDecodeOneMonoFrame( void )
static int encodeAndDecodeOneStereoFrameIvas20msLc3plus10ms_48kHz( void )
{
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 20 * 1000, .channels = 2, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 20 * 1000, .channels = 2, .samplerate = 48000 };
#endif
return encodeAndDecodeOneStereoFrame( config, DEFAULT_BPS );
}
......@@ -630,140 +550,84 @@ static int encodeAndDecodeOneStereoFrameIvas20msLc3plus10ms_16kHz( void )
static int encodeAndDecodeOneStereoFrameIvas5msLc3plus5ms_48kHz( void )
{
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 5 * 1000, .isar_frame_duration_us = 5 * 1000, .channels = 2, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 5 * 1000, .isar_frame_duration_us = 5 * 1000, .channels = 2, .samplerate = 48000 };
#endif
return encodeAndDecodeOneStereoFrame( config, DEFAULT_BPS );
}
static int encodeAndDecodeOneStereoFrameIvas10msLc3plus10ms_48kHz( void )
{
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 10 * 1000, .channels = 2, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 5 * 1000, .isar_frame_duration_us = 5 * 1000, .channels = 2, .samplerate = 48000 };
#endif
return encodeAndDecodeOneStereoFrame( config, DEFAULT_BPS );
}
static int encodeAndDecodeOneMonoFrameIvas20msLc3plus10ms_48kHz( void )
{
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 20 * 1000, .channels = 1, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 20 * 1000, .channels = 1, .samplerate = 48000 };
#endif
return encodeAndDecodeOneStereoFrame( config, DEFAULT_BPS );
}
static int encodeAndDecodeOneMonoFrameIvas5msLc3plus5ms_48kHz( void )
{
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 5 * 1000, .isar_frame_duration_us = 5 * 1000, .channels = 1, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 5 * 1000, .isar_frame_duration_us = 5 * 1000, .channels = 1, .samplerate = 48000 };
#endif
return encodeAndDecodeOneStereoFrame( config, DEFAULT_BPS );
}
static int encodeAndDecodeOneStereoFrameIvas20msLc3plus2_5ms_48kHz( void )
{
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 2.5 * 1000, .isar_frame_duration_us = 20 * 1000, .channels = 2, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 2.5 * 1000, .isar_frame_duration_us = 20 * 1000, .channels = 2, .samplerate = 48000 };
#endif
return encodeAndDecodeOneStereoFrame( config, DEFAULT_BPS );
}
static int encodeAndDecodeOneStereoFrameIvas10msLc3_10ms_48kHz_80kbpsPerChannel( void )
{
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 10 * 1000, .channels = 2, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 10 * 1000, .channels = 2, .samplerate = 48000 };
#endif
return encodeAndDecodeOneStereoFrame( config, config.channels * 82*1000 );
}
static int encodeAndDecodeOneStereoFrameIvas10msLc3_10ms_48kHz_96kbpsPerChannel( void )
{
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 10 * 1000, .channels = 2, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 10 * 1000, .channels = 2, .samplerate = 48000 };
#endif
return encodeAndDecodeOneStereoFrame( config, config.channels * 98*1000 );
}
static int encodeAndDecodeOneStereoFrameIvas10msLc3_10ms_48kHz_124kbpsPerChannel( void )
{
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 10 * 1000, .channels = 2, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 10 * 1000, .channels = 2, .samplerate = 48000 };
#endif
return encodeAndDecodeOneStereoFrame( config, config.channels * 126*1000 );
}
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
static int encodeAndDecodeOneStereoFrameIvas10msLc3_10ms_48kHz_800kbpsPerChannel( void )
{
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 10 * 1000, .channels = 2, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 10 * 1000, .channels = 2, .samplerate = 48000 };
#endif
return encodeAndDecodeOneStereoFrame( config, config.channels * 800*1000 );
}
#endif
static int encodeAndDecodeOneStereoFrameIvas10msLc3_10ms_48kHz_204800bpsPerChannel( void )
{
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 10 * 1000, .channels = 1, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 10 * 1000, .channels = 2, .samplerate = 48000 };
#endif
return encodeAndDecodeOneStereoFrame( config, config.channels * 204800 );
}
static int encodeAndDecodeOneStereoFrameIvas10msLc3_10ms_48kHz_205600bpsPerChannel( void )
{
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 10 * 1000, .channels = 1, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 10 * 1000, .channels = 2, .samplerate = 48000 };
#endif
return encodeAndDecodeOneStereoFrame( config, config.channels * 205600 );
}
static int encodeAndDecodeOneStereoFrameIvas10msLc3_10ms_48kHz_206400bpsPerChannel( void )
{
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 10 * 1000, .channels = 1, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 10 * 1000, .channels = 2, .samplerate = 48000 };
#endif
return encodeAndDecodeOneStereoFrame( config, config.channels * 206400 );
}
static int encodeAndDecodeOneStereoFrameIvas10msLc3_10ms_48kHz_207200bpsPerChannel( void )
{
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 10 * 1000, .channels = 1, .samplerate = 48000, .high_res_mode_enabled = 0 };
#else
LC3PLUS_CONFIG config = { .lc3plus_frame_duration_us = 10 * 1000, .isar_frame_duration_us = 10 * 1000, .channels = 2, .samplerate = 48000 };
#endif
return encodeAndDecodeOneStereoFrame( config, config.channels * 207200 );
}
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
#include "ivas_lc3plus_unit_test_payload_format.c"
#endif
int main(
int argc,
......@@ -841,11 +705,9 @@ int main(
ret = encodeAndDecodeOneStereoFrameIvas10msLc3_10ms_48kHz_124kbpsPerChannel();
if ( ret != 0 )
return 1;
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
ret = encodeAndDecodeOneStereoFrameIvas10msLc3_10ms_48kHz_800kbpsPerChannel();
if ( ret != 0 )
return 1;
#endif
/* start configs around the FDL threshold */
ret = encodeAndDecodeOneStereoFrameIvas10msLc3_10ms_48kHz_204800bpsPerChannel();
if ( ret != 0 )
......@@ -860,16 +722,8 @@ int main(
if ( ret != 0 )
return 1;
/* end configs around the FDL threshold */
#ifdef ISAR_BITSTREAM_UPDATE_LC3PLUS
ret = run_all_payload_tests();
if ( ret != 0 )
return 1;
#endif
return 0;
}
#else
int main( void )
{
return EXIT_SUCCESS;
}
#endif /* SPLIT_REND_WITH_HEAD_ROT */
......@@ -38,7 +38,7 @@ the United Nations Convention on Contracts on the International Sales of Goods.
#include "isar_lc3plus_common.h"
#include "isar_lc3plus_dec.h"
#include "ivas_error_utils.h"
#include "lc3.h"
#include "lc3plus.h"
#define MAX_SAMPLES_PER_CHANNEL 960 / 4
#define DEFAULT_BPS 256000
......
mixed_mc714_foa_masa2_ism4_16.wav
7
MC
1
7_1_4
SBA
13
1
MASA
17
2
stv2MASA2TC16c.met
ISM
19
stvISM1.csv
ISM
20
stvISM2.csv
ISM
21
stvISM3.csv
ISM
22
stvISM4.csv
mixed_mc714_foa_masa2_ism4_32.wav
7
MC
1
7_1_4
SBA
13
1
MASA
17
2
stv2MASA2TC32c.met
ISM
19
stvISM1.csv
ISM
20
stvISM2.csv
ISM
21
stvISM3.csv
ISM
22
stvISM4.csv
spectral_test_16ch_16kHz.wav
4
ISM
1
ism_0a_0e.csv
ISM
2
1
1,-30,0
SBA
3
1
MC
7
5_1_4
spectral_test_16ch_32kHz.wav
4
ISM
1
ism_0a_0e.csv
ISM
2
1
1,-30,0
SBA
3
1
MC
7
5_1_4
spectral_test_4ch_16kHz.wav
3
ISM
1
ism_0a_0e.csv
ISM
2
1
1,-30,0
MC
3
STEREO
spectral_test_4ch_32kHz.wav
3
ISM
1
ism_0a_0e.csv
ISM
2
1
1,-30,0
MC
3
STEREO