Loading scripts/IvasBuildAndRunChecks.py +12 −0 Original line number Diff line number Diff line Loading @@ -100,6 +100,16 @@ class IvasBuildAndRunChecks(IvasScriptsCommon.IvasScript): help="pass the '-s' argument to the wmc tool to only measure memory", action="store_true", ) self.parser.add_argument( "--basop", help="build the basop version for instrumentation", action="store_true", ) self.parser.add_argument( "--skip_build", help="skip instrumentation and build", action="store_true", ) def run(self): Loading Loading @@ -165,6 +175,8 @@ class IvasBuildAndRunChecks(IvasScriptsCommon.IvasScript): formats_fname=self.args["format_file"], max_workers=self.args["max_workers"], mem_only=self.args["wmc_tool_mem_only"], basop=self.args["basop"], skip_build=self.args["skip_build"], ) else: br.add_check( Loading scripts/pyivastest/IvasSvnBuilder.py +126 −98 Original line number Diff line number Diff line Loading @@ -227,6 +227,8 @@ class IvasBuilder(IvasBaseClass): defines_to_disable=[], instrumented=False, mem_only=False, basop=False, skip_build=False, ): """ Loading Loading @@ -265,6 +267,9 @@ class IvasBuilder(IvasBaseClass): build_log = open(build_log_name, "w") # build if instrumented: if skip_build: self.logger.console("Skipping instrumentation", logging.INFO) else: self.logger.console("Instrumenting...", logging.INFO) make_dir = os.path.join(self.src_dir, "scripts", "c-code_instrument") # remove if it c-code_instrument already exists Loading @@ -274,7 +279,11 @@ class IvasBuilder(IvasBaseClass): os.path.join(self.src_dir, "scripts", "prepare_instrumentation.sh") ] if mem_only: instrument_cmd.append("-m") instrument_cmd.append("mem_only") if basop: instrument_cmd.append("-p") instrument_cmd.append("basop") build_log.write(" ".join(instrument_cmd)) build_log.write("\n") build_result = subprocess.run( Loading @@ -288,6 +297,9 @@ class IvasBuilder(IvasBaseClass): build_log.write("".join(["Build directory: ", make_dir])) build_log.write("\n") if skip_build: self.logger.console("Skipping building", logging.INFO) else: self.logger.console("Building...", logging.INFO) # to be safe remove existing binaries Loading Loading @@ -644,6 +656,8 @@ class IvasSvnBuilder(IvasBuilder): defines_to_disable=[], instrumented=False, mem_only=False, basop=False, skip_build=False, ): """ Loading Loading @@ -673,6 +687,8 @@ class IvasSvnBuilder(IvasBuilder): defines_to_disable=defines_to_disable, instrumented=instrumented, mem_only=mem_only, basop=basop, skip_build=skip_build, ) Loading Loading @@ -781,6 +797,8 @@ class IvasBuilderAndRunner(IvasBaseClass): max_workers=1, timeout=None, mem_only=False, basop=False, skip_build=False, ): """ Loading Loading @@ -826,6 +844,8 @@ class IvasBuilderAndRunner(IvasBaseClass): self.build_and_run_dict[cfg_name]["instrumented"] = instrumented self.build_and_run_dict[cfg_name]["mem_only"] = mem_only self.build_and_run_dict[cfg_name]["make_options"] = make_options self.build_and_run_dict[cfg_name]["basop"] = basop self.build_and_run_dict[cfg_name]["skip_build"] = skip_build else: self.logger.console("Adding config {}".format(cfg_name), logging.INFO) run_dir = os.path.join(self.builder.src_dir, cfg_name) Loading Loading @@ -871,6 +891,8 @@ class IvasBuilderAndRunner(IvasBaseClass): "mem_only": mem_only, "make_options": make_options, "analyzer": new_analyzer, "basop": basop, "skip_build": skip_build, } } self.build_and_run_dict.update(cfg_dict) Loading Loading @@ -1054,6 +1076,8 @@ class IvasBuilderAndRunner(IvasBaseClass): defines_to_disable=cfg["defines_to_disable"], instrumented=cfg["instrumented"], mem_only=cfg["mem_only"], basop=cfg["basop"], skip_build=cfg["skip_build"] ) self.build_and_run_dict[cfg_name]["runner"].encoder = self.builder.encoder self.build_and_run_dict[cfg_name]["runner"].decoder = self.builder.decoder Loading Loading @@ -1255,6 +1279,8 @@ class IvasBuilderAndRunner(IvasBaseClass): formats_fname="", max_workers=1, mem_only=False, basop=False, skip_build=False, ): """ Loading Loading @@ -1288,6 +1314,8 @@ class IvasBuilderAndRunner(IvasBaseClass): formats_fname=formats_fname, max_workers=max_workers, mem_only=mem_only, basop=basop, skip_build=skip_build, ) # TODO: this is used nowhere, is this still needed? Loading scripts/smoke_test_complexity_basop.sh 0 → 100644 +214 −0 Original line number Diff line number Diff line #! /usr/bin/bash # (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, # Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., # Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, # Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other # contributors to this repository. All Rights Reserved. # This software is protected by copyright law and by international treaties. # The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, # Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., # Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, # Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other # contributors to this repository retain full ownership rights in their respective contributions in # the software. This notice grants no license of any kind, including but not limited to patent # license, nor is any license granted by implication, estoppel or otherwise. # Contributors are required to enter into the IVAS codec Public Collaboration agreement before making # contributions. # This software is provided "AS IS", without any express or implied warranties. The software is in the # development stage. It is intended exclusively for experts who have experience with such software and # solely for the purpose of inspection. All implied warranties of non-infringement, merchantability # and fitness for a particular purpose are hereby disclaimed and excluded. # Any dispute, controversy or claim arising under or in relation to providing this software shall be # submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in # accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and # the United Nations Convention on Contracts on the International Sales of Goods. function usage { echo echo "Usage:" echo " smoke_test_complexity_basop.sh [--max_cores nMaxCores]" echo echo " nMaxCores - the number of CPUs to use (default 42)" exit } if [ ! -d "lib_com" ]; then echo "not in root directory! - please run in IVAS root" exit 1 fi if [[ -z "$1" ]]; then MAX_CORES=42 elif [[ "$1" == "--max_cores" ]]; then if [[ -z "$2" ]]; then echo "Need maximum number of cores" exit 1 else MAX_CORES=$2 fi else usage fi cfg=./scripts/config/ci_linux_ltv.json 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" duration_arg="" complexity_cmd="--checks COMPLEXITY --wmc_tool_mem_only --basop --skip_build --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) HOA2_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^HOA2) HOA3_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^HOA3) PlanarFOA_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^PlanarFOA) PlanarHOA2_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^PlanarHOA2) PlanarHOA3_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^PlanarHOA3) MASA_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^MASA) MC_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^MC) stereo_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^stereo) stereoDmx_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^StereoDmx) OMASA_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^OMASA) OSBA_ISM1_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^OSBA_ISM1) OSBA_ISM2_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^OSBA_ISM2) OSBA_ISM3_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^OSBA_ISM3) OSBA_ISM4_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^OSBA_ISM4) ISM1_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^ISM1) ISM2_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^ISM2) ISM3_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^ISM3) ISM4_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^ISM4) ISM_plus1_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^ISM+1) 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/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 2. FOA =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_FOA_no_fec -m $FOA_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_FOA.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 3. HOA2 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_HOA2_no_fec -m $HOA2_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_HOA2.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 4. HOA3 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_HOA3_no_fec -m $HOA3_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_HOA3.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 5. PlanarFOA =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_PlanarFOA_no_fec -m $PlanarFOA_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_PlanarFOA.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 6. PlanarHOA2 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_PlanarHOA2_no_fec -m $PlanarHOA2_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_PlanarHOA2.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 7. PlanarHOA3 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_PlanarHOA3_no_fec -m $PlanarHOA3_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_PlanarHOA3.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 8. MASA =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_MASA_no_fec -m $MASA_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_MASA.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 9. MC =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_MC_no_fec -m $MC_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_MC.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 10. stereo =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_stereo_no_fec -m $stereo_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_stereo.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 11. stereoDmx =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_stereoDmx_no_fec -m $stereoDmx_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_stereoDmx.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 12. OMASA =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_OMASA_no_fec -m $OMASA_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_OMASA.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 13. OSBA ISM1 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_OSBA_ISM1_no_fec -m $OSBA_ISM1_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_OSBA_ISM1.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 14. OSBA ISM2 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_OSBA_ISM2_no_fec -m $OSBA_ISM2_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_OSBA_ISM2.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 15. OSBA ISM3 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_OSBA_ISM3_no_fec -m $OSBA_ISM3_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_OSBA_ISM3.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 16. OSBA ISM4 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_OSBA_ISM4_no_fec -m $OSBA_ISM4_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_OSBA_ISM4.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 15. ISM1 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_ISM1_no_fec -m $ISM1_modes -p $cfg $duration_arg $ism_md_cmd $max_num_workers | tee smoke_test_output_ISM1.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 16. ISM2 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_ISM2_no_fec -m $ISM2_modes -p $cfg $duration_arg $ism_md_cmd $max_num_workers | tee smoke_test_output_ISM2.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 17. ISM3 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_ISM3_no_fec -m $ISM3_modes -p $cfg $duration_arg $ism_md_cmd $max_num_workers | tee smoke_test_output_ISM3.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 18. ISM4 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_ISM4_no_fec -m $ISM4_modes -p $cfg $duration_arg $ism_md_cmd $max_num_workers | tee smoke_test_output_ISM4.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 19. ISM1 + extended metadata =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_ISM_plus1_no_fec -m $ISM_plus1_modes -p $cfg $duration_arg $ism_md_cmd $max_num_workers | tee smoke_test_output_ISM_plus1.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 20. ISM2 + extended metadata =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_ISM_plus2_no_fec -m $ISM_plus2_modes -p $cfg $duration_arg $ism_md_cmd $max_num_workers | tee smoke_test_output_ISM_plus2.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 21. ISM3 + extended metadata =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_ISM_plus3_no_fec -m $ISM_plus3_modes -p $cfg $duration_arg $ism_md_cmd $max_num_workers | tee smoke_test_output_ISM_plus3.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 22. ISM4 + extended metadata =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_ISM_plus4_no_fec -m $ISM_plus4_modes -p $cfg $duration_arg $ism_md_cmd $max_num_workers | tee smoke_test_output_ISM_plus4.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ Loading
scripts/IvasBuildAndRunChecks.py +12 −0 Original line number Diff line number Diff line Loading @@ -100,6 +100,16 @@ class IvasBuildAndRunChecks(IvasScriptsCommon.IvasScript): help="pass the '-s' argument to the wmc tool to only measure memory", action="store_true", ) self.parser.add_argument( "--basop", help="build the basop version for instrumentation", action="store_true", ) self.parser.add_argument( "--skip_build", help="skip instrumentation and build", action="store_true", ) def run(self): Loading Loading @@ -165,6 +175,8 @@ class IvasBuildAndRunChecks(IvasScriptsCommon.IvasScript): formats_fname=self.args["format_file"], max_workers=self.args["max_workers"], mem_only=self.args["wmc_tool_mem_only"], basop=self.args["basop"], skip_build=self.args["skip_build"], ) else: br.add_check( Loading
scripts/pyivastest/IvasSvnBuilder.py +126 −98 Original line number Diff line number Diff line Loading @@ -227,6 +227,8 @@ class IvasBuilder(IvasBaseClass): defines_to_disable=[], instrumented=False, mem_only=False, basop=False, skip_build=False, ): """ Loading Loading @@ -265,6 +267,9 @@ class IvasBuilder(IvasBaseClass): build_log = open(build_log_name, "w") # build if instrumented: if skip_build: self.logger.console("Skipping instrumentation", logging.INFO) else: self.logger.console("Instrumenting...", logging.INFO) make_dir = os.path.join(self.src_dir, "scripts", "c-code_instrument") # remove if it c-code_instrument already exists Loading @@ -274,7 +279,11 @@ class IvasBuilder(IvasBaseClass): os.path.join(self.src_dir, "scripts", "prepare_instrumentation.sh") ] if mem_only: instrument_cmd.append("-m") instrument_cmd.append("mem_only") if basop: instrument_cmd.append("-p") instrument_cmd.append("basop") build_log.write(" ".join(instrument_cmd)) build_log.write("\n") build_result = subprocess.run( Loading @@ -288,6 +297,9 @@ class IvasBuilder(IvasBaseClass): build_log.write("".join(["Build directory: ", make_dir])) build_log.write("\n") if skip_build: self.logger.console("Skipping building", logging.INFO) else: self.logger.console("Building...", logging.INFO) # to be safe remove existing binaries Loading Loading @@ -644,6 +656,8 @@ class IvasSvnBuilder(IvasBuilder): defines_to_disable=[], instrumented=False, mem_only=False, basop=False, skip_build=False, ): """ Loading Loading @@ -673,6 +687,8 @@ class IvasSvnBuilder(IvasBuilder): defines_to_disable=defines_to_disable, instrumented=instrumented, mem_only=mem_only, basop=basop, skip_build=skip_build, ) Loading Loading @@ -781,6 +797,8 @@ class IvasBuilderAndRunner(IvasBaseClass): max_workers=1, timeout=None, mem_only=False, basop=False, skip_build=False, ): """ Loading Loading @@ -826,6 +844,8 @@ class IvasBuilderAndRunner(IvasBaseClass): self.build_and_run_dict[cfg_name]["instrumented"] = instrumented self.build_and_run_dict[cfg_name]["mem_only"] = mem_only self.build_and_run_dict[cfg_name]["make_options"] = make_options self.build_and_run_dict[cfg_name]["basop"] = basop self.build_and_run_dict[cfg_name]["skip_build"] = skip_build else: self.logger.console("Adding config {}".format(cfg_name), logging.INFO) run_dir = os.path.join(self.builder.src_dir, cfg_name) Loading Loading @@ -871,6 +891,8 @@ class IvasBuilderAndRunner(IvasBaseClass): "mem_only": mem_only, "make_options": make_options, "analyzer": new_analyzer, "basop": basop, "skip_build": skip_build, } } self.build_and_run_dict.update(cfg_dict) Loading Loading @@ -1054,6 +1076,8 @@ class IvasBuilderAndRunner(IvasBaseClass): defines_to_disable=cfg["defines_to_disable"], instrumented=cfg["instrumented"], mem_only=cfg["mem_only"], basop=cfg["basop"], skip_build=cfg["skip_build"] ) self.build_and_run_dict[cfg_name]["runner"].encoder = self.builder.encoder self.build_and_run_dict[cfg_name]["runner"].decoder = self.builder.decoder Loading Loading @@ -1255,6 +1279,8 @@ class IvasBuilderAndRunner(IvasBaseClass): formats_fname="", max_workers=1, mem_only=False, basop=False, skip_build=False, ): """ Loading Loading @@ -1288,6 +1314,8 @@ class IvasBuilderAndRunner(IvasBaseClass): formats_fname=formats_fname, max_workers=max_workers, mem_only=mem_only, basop=basop, skip_build=skip_build, ) # TODO: this is used nowhere, is this still needed? Loading
scripts/smoke_test_complexity_basop.sh 0 → 100644 +214 −0 Original line number Diff line number Diff line #! /usr/bin/bash # (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, # Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., # Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, # Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other # contributors to this repository. All Rights Reserved. # This software is protected by copyright law and by international treaties. # The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, # Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., # Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, # Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other # contributors to this repository retain full ownership rights in their respective contributions in # the software. This notice grants no license of any kind, including but not limited to patent # license, nor is any license granted by implication, estoppel or otherwise. # Contributors are required to enter into the IVAS codec Public Collaboration agreement before making # contributions. # This software is provided "AS IS", without any express or implied warranties. The software is in the # development stage. It is intended exclusively for experts who have experience with such software and # solely for the purpose of inspection. All implied warranties of non-infringement, merchantability # and fitness for a particular purpose are hereby disclaimed and excluded. # Any dispute, controversy or claim arising under or in relation to providing this software shall be # submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in # accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and # the United Nations Convention on Contracts on the International Sales of Goods. function usage { echo echo "Usage:" echo " smoke_test_complexity_basop.sh [--max_cores nMaxCores]" echo echo " nMaxCores - the number of CPUs to use (default 42)" exit } if [ ! -d "lib_com" ]; then echo "not in root directory! - please run in IVAS root" exit 1 fi if [[ -z "$1" ]]; then MAX_CORES=42 elif [[ "$1" == "--max_cores" ]]; then if [[ -z "$2" ]]; then echo "Need maximum number of cores" exit 1 else MAX_CORES=$2 fi else usage fi cfg=./scripts/config/ci_linux_ltv.json 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" duration_arg="" complexity_cmd="--checks COMPLEXITY --wmc_tool_mem_only --basop --skip_build --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) HOA2_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^HOA2) HOA3_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^HOA3) PlanarFOA_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^PlanarFOA) PlanarHOA2_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^PlanarHOA2) PlanarHOA3_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^PlanarHOA3) MASA_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^MASA) MC_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^MC) stereo_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^stereo) stereoDmx_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^StereoDmx) OMASA_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^OMASA) OSBA_ISM1_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^OSBA_ISM1) OSBA_ISM2_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^OSBA_ISM2) OSBA_ISM3_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^OSBA_ISM3) OSBA_ISM4_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^OSBA_ISM4) ISM1_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^ISM1) ISM2_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^ISM2) ISM3_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^ISM3) ISM4_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^ISM4) ISM_plus1_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^ISM+1) 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/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 2. FOA =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_FOA_no_fec -m $FOA_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_FOA.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 3. HOA2 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_HOA2_no_fec -m $HOA2_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_HOA2.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 4. HOA3 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_HOA3_no_fec -m $HOA3_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_HOA3.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 5. PlanarFOA =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_PlanarFOA_no_fec -m $PlanarFOA_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_PlanarFOA.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 6. PlanarHOA2 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_PlanarHOA2_no_fec -m $PlanarHOA2_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_PlanarHOA2.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 7. PlanarHOA3 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_PlanarHOA3_no_fec -m $PlanarHOA3_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_PlanarHOA3.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 8. MASA =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_MASA_no_fec -m $MASA_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_MASA.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 9. MC =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_MC_no_fec -m $MC_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_MC.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 10. stereo =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_stereo_no_fec -m $stereo_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_stereo.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 11. stereoDmx =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_stereoDmx_no_fec -m $stereoDmx_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_stereoDmx.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 12. OMASA =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_OMASA_no_fec -m $OMASA_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_OMASA.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 13. OSBA ISM1 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_OSBA_ISM1_no_fec -m $OSBA_ISM1_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_OSBA_ISM1.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 14. OSBA ISM2 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_OSBA_ISM2_no_fec -m $OSBA_ISM2_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_OSBA_ISM2.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 15. OSBA ISM3 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_OSBA_ISM3_no_fec -m $OSBA_ISM3_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_OSBA_ISM3.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 16. OSBA ISM4 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_OSBA_ISM4_no_fec -m $OSBA_ISM4_modes -p $cfg $duration_arg $max_num_workers | tee smoke_test_output_OSBA_ISM4.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 15. ISM1 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_ISM1_no_fec -m $ISM1_modes -p $cfg $duration_arg $ism_md_cmd $max_num_workers | tee smoke_test_output_ISM1.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 16. ISM2 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_ISM2_no_fec -m $ISM2_modes -p $cfg $duration_arg $ism_md_cmd $max_num_workers | tee smoke_test_output_ISM2.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 17. ISM3 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_ISM3_no_fec -m $ISM3_modes -p $cfg $duration_arg $ism_md_cmd $max_num_workers | tee smoke_test_output_ISM3.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 18. ISM4 =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_ISM4_no_fec -m $ISM4_modes -p $cfg $duration_arg $ism_md_cmd $max_num_workers | tee smoke_test_output_ISM4.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 19. ISM1 + extended metadata =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_ISM_plus1_no_fec -m $ISM_plus1_modes -p $cfg $duration_arg $ism_md_cmd $max_num_workers | tee smoke_test_output_ISM_plus1.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 20. ISM2 + extended metadata =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_ISM_plus2_no_fec -m $ISM_plus2_modes -p $cfg $duration_arg $ism_md_cmd $max_num_workers | tee smoke_test_output_ISM_plus2.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 21. ISM3 + extended metadata =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_ISM_plus3_no_fec -m $ISM_plus3_modes -p $cfg $duration_arg $ism_md_cmd $max_num_workers | tee smoke_test_output_ISM_plus3.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/ echo "\n======================= 22. ISM4 + extended metadata =======================\n\n" ./scripts/IvasBuildAndRunChecks.py $complexity_cmd ltv_complexity_ISM_plus4_no_fec -m $ISM_plus4_modes -p $cfg $duration_arg $ism_md_cmd $max_num_workers | tee smoke_test_output_ISM_plus4.txt rm -r ./COMPLEXITY/dec/ rm -r ./COMPLEXITY/enc/ rm -r ./COMPLEXITY/pcm/