Loading .gitlab-ci.yml +5 −5 Original line number Diff line number Diff line Loading @@ -1578,7 +1578,7 @@ ltv-msan: - .sanitizer-selftest-ltv rules: - if: $SANITIZER_SCHEDULE_E timeout: 2 hour timeout: 3 hour tags: - ivas-linux-fast before_script: Loading @@ -1594,10 +1594,10 @@ ltv-asan: rules: - if: $SANITIZER_SCHEDULE_E when: delayed start_in: 2 hours start_in: 3 hours tags: - ivas-linux-fast timeout: 2 hour timeout: 3 hour before_script: - CLANG_NUM=2 - SELFTEST_SANITY_TIMEOUT=$TESTCASE_TIMEOUT_LTV_SANITIZERS Loading @@ -1611,10 +1611,10 @@ ltv-usan: rules: - if: $SANITIZER_SCHEDULE_E when: delayed start_in: 3 hours start_in: 6 hours tags: - ivas-linux-fast timeout: 2 hour timeout: 3 hour before_script: - CLANG_NUM=3 - SELFTEST_SANITY_TIMEOUT=$TESTCASE_TIMEOUT_LTV_SANITIZERS Loading ci/smoke_test_complexity.sh 0 → 100755 +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.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 --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/ lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,7 @@ /*#define FIX_I4_OL_PITCH*/ /* fix open-loop pitch used for EVS core switching */ #define SPLIT_REND_WITH_HEAD_ROT /* Dlb,FhG: Split Rendering contributions 21 and 35 */ #define SPLIT_REND_POSE_CORRECTION_UNUSED_BITS #define FIX_NUM_SUBFRAME_UPDATE Loading lib_isar/isar_cnst.h +6 −0 Original line number Diff line number Diff line Loading @@ -82,7 +82,12 @@ typedef enum #define MAX_SPLIT_REND_MD_BANDS 20 #define MAX_SPLIT_MD_SUBFRAMES 1 #define COMPLEX_MD_BAND_THRESH MAX_SPLIT_REND_MD_BANDS #ifdef SPLIT_REND_POSE_CORRECTION_UNUSED_BITS #define COMPLEX_MD_BAND_THRESH_LOW 4 #define COMPLEX_MD_BAND_THRESH_HIGH 10 #else #define COMPLEX_MD_BAND_THRESH_LOW 5 #endif #define SPLIT_REND_RO_MD_BAND_THRESH 4 #define ISAR_SPLIT_REND_NUM_QUANT_STRATS 4 Loading Loading @@ -115,6 +120,7 @@ typedef enum #define ISAR_SPLIT_REND_DOF_BITS 2 #define ISAR_SPLIT_REND_HQ_MODE_BITS 1 #define ISAR_SPLIT_REND_ROT_AXIS_BITS 3 #define ISAR_SPLIT_REND_RO_FLAG_BITS 1 /*----------------------------------------------------------------------------------* * Split rendering bitrate constants Loading lib_isar/isar_prot.h +23 −2 Original line number Diff line number Diff line Loading @@ -200,8 +200,15 @@ void isar_split_rend_get_quant_params( int16_t bands_pitch[ISAR_SPLIT_REND_NUM_QUANT_STRATS], int16_t pred_real_bands_roll[ISAR_SPLIT_REND_NUM_QUANT_STRATS], int16_t pred_imag_bands_roll[ISAR_SPLIT_REND_NUM_QUANT_STRATS], int16_t *num_quant_strats, int16_t *num_complex_bands ); #ifdef SPLIT_REND_POSE_CORRECTION_UNUSED_BITS const int16_t ro_flag, #endif int16_t *num_quant_strats #ifndef SPLIT_REND_POSE_CORRECTION_UNUSED_BITS , int16_t *num_complex_bands #endif ); void isar_splitBinPostRendMdDec( ISAR_SPLIT_REND_BITS_HANDLE pBits, Loading Loading @@ -279,6 +286,20 @@ void isar_renderSplitGetMultiBinPoseData( MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData, const ISAR_SPLIT_REND_ROT_AXIS rot_axis ); #ifdef SPLIT_REND_POSE_CORRECTION_UNUSED_BITS int16_t isar_renderSplitGetRot_axisNumBits( const int16_t dof ); ISAR_SPLIT_REND_ROT_AXIS isar_renderSplitGetRot_axisFromCode( const int16_t dof, const int16_t code ); int16_t isar_renderSplitGetCodeFromRot_axis( const int16_t dof, const ISAR_SPLIT_REND_ROT_AXIS rot_axis, int16_t *num_bits ); #endif void isar_init_split_post_rend_handles( ISAR_SPLIT_POST_REND_WRAPPER *hSplitRendWrapper ); Loading Loading
.gitlab-ci.yml +5 −5 Original line number Diff line number Diff line Loading @@ -1578,7 +1578,7 @@ ltv-msan: - .sanitizer-selftest-ltv rules: - if: $SANITIZER_SCHEDULE_E timeout: 2 hour timeout: 3 hour tags: - ivas-linux-fast before_script: Loading @@ -1594,10 +1594,10 @@ ltv-asan: rules: - if: $SANITIZER_SCHEDULE_E when: delayed start_in: 2 hours start_in: 3 hours tags: - ivas-linux-fast timeout: 2 hour timeout: 3 hour before_script: - CLANG_NUM=2 - SELFTEST_SANITY_TIMEOUT=$TESTCASE_TIMEOUT_LTV_SANITIZERS Loading @@ -1611,10 +1611,10 @@ ltv-usan: rules: - if: $SANITIZER_SCHEDULE_E when: delayed start_in: 3 hours start_in: 6 hours tags: - ivas-linux-fast timeout: 2 hour timeout: 3 hour before_script: - CLANG_NUM=3 - SELFTEST_SANITY_TIMEOUT=$TESTCASE_TIMEOUT_LTV_SANITIZERS Loading
ci/smoke_test_complexity.sh 0 → 100755 +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.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 --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/
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,7 @@ /*#define FIX_I4_OL_PITCH*/ /* fix open-loop pitch used for EVS core switching */ #define SPLIT_REND_WITH_HEAD_ROT /* Dlb,FhG: Split Rendering contributions 21 and 35 */ #define SPLIT_REND_POSE_CORRECTION_UNUSED_BITS #define FIX_NUM_SUBFRAME_UPDATE Loading
lib_isar/isar_cnst.h +6 −0 Original line number Diff line number Diff line Loading @@ -82,7 +82,12 @@ typedef enum #define MAX_SPLIT_REND_MD_BANDS 20 #define MAX_SPLIT_MD_SUBFRAMES 1 #define COMPLEX_MD_BAND_THRESH MAX_SPLIT_REND_MD_BANDS #ifdef SPLIT_REND_POSE_CORRECTION_UNUSED_BITS #define COMPLEX_MD_BAND_THRESH_LOW 4 #define COMPLEX_MD_BAND_THRESH_HIGH 10 #else #define COMPLEX_MD_BAND_THRESH_LOW 5 #endif #define SPLIT_REND_RO_MD_BAND_THRESH 4 #define ISAR_SPLIT_REND_NUM_QUANT_STRATS 4 Loading Loading @@ -115,6 +120,7 @@ typedef enum #define ISAR_SPLIT_REND_DOF_BITS 2 #define ISAR_SPLIT_REND_HQ_MODE_BITS 1 #define ISAR_SPLIT_REND_ROT_AXIS_BITS 3 #define ISAR_SPLIT_REND_RO_FLAG_BITS 1 /*----------------------------------------------------------------------------------* * Split rendering bitrate constants Loading
lib_isar/isar_prot.h +23 −2 Original line number Diff line number Diff line Loading @@ -200,8 +200,15 @@ void isar_split_rend_get_quant_params( int16_t bands_pitch[ISAR_SPLIT_REND_NUM_QUANT_STRATS], int16_t pred_real_bands_roll[ISAR_SPLIT_REND_NUM_QUANT_STRATS], int16_t pred_imag_bands_roll[ISAR_SPLIT_REND_NUM_QUANT_STRATS], int16_t *num_quant_strats, int16_t *num_complex_bands ); #ifdef SPLIT_REND_POSE_CORRECTION_UNUSED_BITS const int16_t ro_flag, #endif int16_t *num_quant_strats #ifndef SPLIT_REND_POSE_CORRECTION_UNUSED_BITS , int16_t *num_complex_bands #endif ); void isar_splitBinPostRendMdDec( ISAR_SPLIT_REND_BITS_HANDLE pBits, Loading Loading @@ -279,6 +286,20 @@ void isar_renderSplitGetMultiBinPoseData( MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData, const ISAR_SPLIT_REND_ROT_AXIS rot_axis ); #ifdef SPLIT_REND_POSE_CORRECTION_UNUSED_BITS int16_t isar_renderSplitGetRot_axisNumBits( const int16_t dof ); ISAR_SPLIT_REND_ROT_AXIS isar_renderSplitGetRot_axisFromCode( const int16_t dof, const int16_t code ); int16_t isar_renderSplitGetCodeFromRot_axis( const int16_t dof, const ISAR_SPLIT_REND_ROT_AXIS rot_axis, int16_t *num_bits ); #endif void isar_init_split_post_rend_handles( ISAR_SPLIT_POST_REND_WRAPPER *hSplitRendWrapper ); Loading