Loading apps/renderer.c +12 −1 Original line number Diff line number Diff line Loading @@ -1083,7 +1083,18 @@ int main( fprintf( stderr, "\nFailed to read renderer configuration from file %s\n", args.renderConfigFilePath ); goto cleanup; } #ifdef NONBE_FIX_1337_MISSING_DIRECTIVITY_DISTATT_EXTREND if ( ( error = RenderConfigReader_getDirectivity( renderConfigReader, args.directivityPatternId, renderConfig.directivity ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Failed to get directivity patterns for one or more of IDs: %d %d %d %d\n\n", args.directivityPatternId[0], args.directivityPatternId[1], args.directivityPatternId[2], args.directivityPatternId[3] ); goto cleanup; } if ( ( error = RenderConfigReader_getDistanceAttenuation( renderConfigReader, renderConfig.distAtt ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Failed to get Distance Attenuation \n\n" ); goto cleanup; } #endif if ( args.outConfig.audioConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { aeID = args.aeSequence.count > 0 ? args.aeSequence.pID[0] : 65535; Loading ci/smoke_test.sh +23 −28 Original line number Diff line number Diff line Loading @@ -52,7 +52,6 @@ else usage fi cfg=./scripts/config/ci_linux.json dly_profile=./scripts/dly_error_profiles/dly_error_profile_10_smoke_test.dat ism_md_cmd="--ism_metadata_files /usr/local/ltv/ltvISM1.csv /usr/local/ltv/ltvISM2.csv /usr/local/ltv/ltvISM3.csv /usr/local/ltv/ltvISM4.csv" Loading @@ -77,10 +76,6 @@ if [ $BUILD -eq 1 ];then fi # prepare combined format test signals echo -e "\n======================= 0. preparing combined format test inputs =======================\n\n" ./scripts/prepare_combined_format_inputs.py # run all modes vanilla-fashion # treat ISM modes separately because passing the metadata files to MASA modes causes crashes readarray -t ism_modes < <(./scripts/runIvasCodec.py -l | grep ISM) Loading ci/smoke_test_complexity.sh +32 −37 Original line number Diff line number Diff line Loading @@ -61,10 +61,6 @@ duration_arg="" complexity_cmd="--checks COMPLEXITY --create_complexity_tables" max_num_workers="--max_workers $MAX_CORES" # prepare combined format test signals echo "\n======================= 0. preparing combined format test inputs =======================\n\n" ./scripts/prepare_combined_format_inputs.py # Modes mono_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^mono) FOA_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^FOA) Loading @@ -91,7 +87,6 @@ ISM_plus2_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^ISM+2) ISM_plus3_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^ISM+3) ISM_plus4_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^ISM+4) echo "\n======================= 1. Mono =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_mono_no_fec -m $mono_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_mono.txt rm -r ./COMPLEXITY/dec/ Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -176,6 +176,7 @@ #define NONBE_1250_MCMASA_LS_OUTPUT /* VA: issue 1250: fix crash in McMASA to custom LS output decoding */ #define NONBE_1302_FIX_OMASA_JBM_FLUSH /* VA: issue 1302: fix OMASA JBM bitrate switching flush in binaural output */ #define NONBE_1324_TC_BUFFER_MEMOERY_KEEP /* VA: issue 1324: do not reset TSM memory in JBM bitrate switching */ #define NONBE_FIX_1337_MISSING_DIRECTIVITY_DISTATT_EXTREND /* Eri: issue 1337: Missing directivity setting and distance attenuation in external renderer IVAS_rend */ #define NONBE_1329_FIX_OSBA_CRASH /* FhG: issue 1329: prevent assert when bit budget is low*/ /* ##################### End NON-BE switches ########################### */ Loading scripts/self_test.py +48 −55 Original line number Diff line number Diff line Loading @@ -30,7 +30,6 @@ the United Nations Convention on Contracts on the International Sales of Goods. """ import errno import os import platform Loading @@ -42,7 +41,6 @@ import urllib import urllib.parse import numpy import prepare_combined_format_inputs import pyaudio3dtools import pyivastest.constants as constants import pyivastest.ivas_svn as svn Loading @@ -63,7 +61,16 @@ MODES = { "5_1_4": "5_1_4", "7_1_4": "7_1_4", }, "-ISM": {"1": "ISM1", "2": "ISM2", "3": "ISM3", "4": "ISM4", "+1": "ISM+1", "+2": "ISM+2", "+3": "ISM+3", "+4": "ISM+4"}, "-ISM": { "1": "ISM1", "2": "ISM2", "3": "ISM3", "4": "ISM4", "+1": "ISM+1", "+2": "ISM+2", "+3": "ISM+3", "+4": "ISM+4", }, "-SBA": { "-3": "HOA3", "3": "HOA3", Loading Loading @@ -198,7 +205,7 @@ class SelfTest(IvasScriptsCommon.IvasScript): help="Run the decoder under test with specified render framn size", default=20, choices=[5, 10, 20], type=int type=int, ) if shutil.which("valgrind"): self.valgrind = [ Loading Loading @@ -522,7 +529,6 @@ class SelfTest(IvasScriptsCommon.IvasScript): # PESQ if self.run_pesq: pesq_success = True pesq_fs = min([16000, mode_dict["in_fs"], mode_dict["out_fs"]]) in_nchans = constants.OC_TO_NCHANNELS[ Loading Loading @@ -564,11 +570,9 @@ class SelfTest(IvasScriptsCommon.IvasScript): and not ref_condition_corrupt and not ref_condition_run_error ): fd_ref, decoded_item_ref_mono = tempfile.mkstemp(".pcm") os.close(fd_ref) if mode_dict["out_fs"] > pesq_fs or n_channels > 1: pyaudio3dtools.audiofile.mono( decoded_item_ref, decoded_item_ref_mono, Loading Loading @@ -629,7 +633,6 @@ class SelfTest(IvasScriptsCommon.IvasScript): and not test_condition_corrupt and not test_condition_run_error ): fd_test, decoded_item_test_mono = tempfile.mkstemp((".pcm")) os.close(fd_test) if mode_dict["out_fs"] > pesq_fs or n_channels > 1: Loading Loading @@ -1004,19 +1007,8 @@ class SelfTest(IvasScriptsCommon.IvasScript): # check if we need to produce missing combined formats if not os.path.exists(in_file): if is_osba_or_omasa: self.logger.info("Creating missing combined formats test vectors...") prepare_combined_format_inputs.main() if not os.path.exists(in_file): self.logger.error(f"Test vector {in_file} does not exist!") raise FileNotFoundError( errno.ENOENT, os.strerror(errno.ENOENT), in_file ) else: self.logger.error(f"Test vector {in_file} does not exist!") raise FileNotFoundError( errno.ENOENT, os.strerror(errno.ENOENT), in_file ) raise FileNotFoundError(errno.ENOENT, os.strerror(errno.ENOENT), in_file) # handle intermediate processing steps, e.g. networksimulator, eid-xor, ... in_file = bs_enc_file Loading Loading @@ -1174,7 +1166,6 @@ class SelfTest(IvasScriptsCommon.IvasScript): return mode_dict def run(self): self.parse_args() if self.args["list_conditions"] is True: Loading Loading @@ -1542,7 +1533,9 @@ class SelfTest(IvasScriptsCommon.IvasScript): logger_name="{}.testrunner".format(self.logger.name), ) test_runner.decoder_cmdline_options.extend(["-fr", f"{self.args['dut_fr']}"]) test_runner.decoder_cmdline_options.extend( ["-fr", f"{self.args['dut_fr']}"] ) test_runner.set_flat_mode_list(run_dict) test_runner.run() self.logger.console(" ") Loading Loading
apps/renderer.c +12 −1 Original line number Diff line number Diff line Loading @@ -1083,7 +1083,18 @@ int main( fprintf( stderr, "\nFailed to read renderer configuration from file %s\n", args.renderConfigFilePath ); goto cleanup; } #ifdef NONBE_FIX_1337_MISSING_DIRECTIVITY_DISTATT_EXTREND if ( ( error = RenderConfigReader_getDirectivity( renderConfigReader, args.directivityPatternId, renderConfig.directivity ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Failed to get directivity patterns for one or more of IDs: %d %d %d %d\n\n", args.directivityPatternId[0], args.directivityPatternId[1], args.directivityPatternId[2], args.directivityPatternId[3] ); goto cleanup; } if ( ( error = RenderConfigReader_getDistanceAttenuation( renderConfigReader, renderConfig.distAtt ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Failed to get Distance Attenuation \n\n" ); goto cleanup; } #endif if ( args.outConfig.audioConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { aeID = args.aeSequence.count > 0 ? args.aeSequence.pID[0] : 65535; Loading
ci/smoke_test.sh +23 −28 Original line number Diff line number Diff line Loading @@ -52,7 +52,6 @@ else usage fi cfg=./scripts/config/ci_linux.json dly_profile=./scripts/dly_error_profiles/dly_error_profile_10_smoke_test.dat ism_md_cmd="--ism_metadata_files /usr/local/ltv/ltvISM1.csv /usr/local/ltv/ltvISM2.csv /usr/local/ltv/ltvISM3.csv /usr/local/ltv/ltvISM4.csv" Loading @@ -77,10 +76,6 @@ if [ $BUILD -eq 1 ];then fi # prepare combined format test signals echo -e "\n======================= 0. preparing combined format test inputs =======================\n\n" ./scripts/prepare_combined_format_inputs.py # run all modes vanilla-fashion # treat ISM modes separately because passing the metadata files to MASA modes causes crashes readarray -t ism_modes < <(./scripts/runIvasCodec.py -l | grep ISM) Loading
ci/smoke_test_complexity.sh +32 −37 Original line number Diff line number Diff line Loading @@ -61,10 +61,6 @@ duration_arg="" complexity_cmd="--checks COMPLEXITY --create_complexity_tables" max_num_workers="--max_workers $MAX_CORES" # prepare combined format test signals echo "\n======================= 0. preparing combined format test inputs =======================\n\n" ./scripts/prepare_combined_format_inputs.py # Modes mono_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^mono) FOA_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^FOA) Loading @@ -91,7 +87,6 @@ ISM_plus2_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^ISM+2) ISM_plus3_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^ISM+3) ISM_plus4_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^ISM+4) echo "\n======================= 1. Mono =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_mono_no_fec -m $mono_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_mono.txt rm -r ./COMPLEXITY/dec/ Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -176,6 +176,7 @@ #define NONBE_1250_MCMASA_LS_OUTPUT /* VA: issue 1250: fix crash in McMASA to custom LS output decoding */ #define NONBE_1302_FIX_OMASA_JBM_FLUSH /* VA: issue 1302: fix OMASA JBM bitrate switching flush in binaural output */ #define NONBE_1324_TC_BUFFER_MEMOERY_KEEP /* VA: issue 1324: do not reset TSM memory in JBM bitrate switching */ #define NONBE_FIX_1337_MISSING_DIRECTIVITY_DISTATT_EXTREND /* Eri: issue 1337: Missing directivity setting and distance attenuation in external renderer IVAS_rend */ #define NONBE_1329_FIX_OSBA_CRASH /* FhG: issue 1329: prevent assert when bit budget is low*/ /* ##################### End NON-BE switches ########################### */ Loading
scripts/self_test.py +48 −55 Original line number Diff line number Diff line Loading @@ -30,7 +30,6 @@ the United Nations Convention on Contracts on the International Sales of Goods. """ import errno import os import platform Loading @@ -42,7 +41,6 @@ import urllib import urllib.parse import numpy import prepare_combined_format_inputs import pyaudio3dtools import pyivastest.constants as constants import pyivastest.ivas_svn as svn Loading @@ -63,7 +61,16 @@ MODES = { "5_1_4": "5_1_4", "7_1_4": "7_1_4", }, "-ISM": {"1": "ISM1", "2": "ISM2", "3": "ISM3", "4": "ISM4", "+1": "ISM+1", "+2": "ISM+2", "+3": "ISM+3", "+4": "ISM+4"}, "-ISM": { "1": "ISM1", "2": "ISM2", "3": "ISM3", "4": "ISM4", "+1": "ISM+1", "+2": "ISM+2", "+3": "ISM+3", "+4": "ISM+4", }, "-SBA": { "-3": "HOA3", "3": "HOA3", Loading Loading @@ -198,7 +205,7 @@ class SelfTest(IvasScriptsCommon.IvasScript): help="Run the decoder under test with specified render framn size", default=20, choices=[5, 10, 20], type=int type=int, ) if shutil.which("valgrind"): self.valgrind = [ Loading Loading @@ -522,7 +529,6 @@ class SelfTest(IvasScriptsCommon.IvasScript): # PESQ if self.run_pesq: pesq_success = True pesq_fs = min([16000, mode_dict["in_fs"], mode_dict["out_fs"]]) in_nchans = constants.OC_TO_NCHANNELS[ Loading Loading @@ -564,11 +570,9 @@ class SelfTest(IvasScriptsCommon.IvasScript): and not ref_condition_corrupt and not ref_condition_run_error ): fd_ref, decoded_item_ref_mono = tempfile.mkstemp(".pcm") os.close(fd_ref) if mode_dict["out_fs"] > pesq_fs or n_channels > 1: pyaudio3dtools.audiofile.mono( decoded_item_ref, decoded_item_ref_mono, Loading Loading @@ -629,7 +633,6 @@ class SelfTest(IvasScriptsCommon.IvasScript): and not test_condition_corrupt and not test_condition_run_error ): fd_test, decoded_item_test_mono = tempfile.mkstemp((".pcm")) os.close(fd_test) if mode_dict["out_fs"] > pesq_fs or n_channels > 1: Loading Loading @@ -1004,19 +1007,8 @@ class SelfTest(IvasScriptsCommon.IvasScript): # check if we need to produce missing combined formats if not os.path.exists(in_file): if is_osba_or_omasa: self.logger.info("Creating missing combined formats test vectors...") prepare_combined_format_inputs.main() if not os.path.exists(in_file): self.logger.error(f"Test vector {in_file} does not exist!") raise FileNotFoundError( errno.ENOENT, os.strerror(errno.ENOENT), in_file ) else: self.logger.error(f"Test vector {in_file} does not exist!") raise FileNotFoundError( errno.ENOENT, os.strerror(errno.ENOENT), in_file ) raise FileNotFoundError(errno.ENOENT, os.strerror(errno.ENOENT), in_file) # handle intermediate processing steps, e.g. networksimulator, eid-xor, ... in_file = bs_enc_file Loading Loading @@ -1174,7 +1166,6 @@ class SelfTest(IvasScriptsCommon.IvasScript): return mode_dict def run(self): self.parse_args() if self.args["list_conditions"] is True: Loading Loading @@ -1542,7 +1533,9 @@ class SelfTest(IvasScriptsCommon.IvasScript): logger_name="{}.testrunner".format(self.logger.name), ) test_runner.decoder_cmdline_options.extend(["-fr", f"{self.args['dut_fr']}"]) test_runner.decoder_cmdline_options.extend( ["-fr", f"{self.args['dut_fr']}"] ) test_runner.set_flat_mode_list(run_dict) test_runner.run() self.logger.console(" ") Loading