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 apps/decoder.c +17 −0 Original line number Diff line number Diff line Loading @@ -1704,6 +1704,15 @@ static bool parseCmdlIVAS_dec( usage_dec(); return false; } #ifdef FIX_1081_BINAURAL_SPLIT_PCM_SANITY_CHECK if ( arg->outputMdFilename != NULL && arg->outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) { fprintf( stderr, "Error: Output split rendering metadata file is supported for BINAURAL_SPLIT_PCM output config. only\n\n" ); usage_dec(); return false; } #endif } else { Loading Loading @@ -1990,6 +1999,14 @@ static ivas_error initOnFirstGoodFrame( } else { #ifdef FIX_1081_BINAURAL_SPLIT_PCM_SANITY_CHECK if ( arg.outputMdFilename == NULL ) { fprintf( stderr, "\nOutput split rendering metadata file not specified\n" ); return IVAS_ERR_INVALID_SPLIT_REND_CONFIG; } #endif if ( ( error = split_rend_writer_open( splitRendWriter, arg.outputMdFilename, delayNumSamples_temp[0], delayTimeScale_temp, splitRendCodec, poseCorrection, splitRendCodecFrameSizeMs ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nUnable to open output split rendering metadata file %s\n", arg.outputWavFilename ); 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 +4 −0 Original line number Diff line number Diff line Loading @@ -160,6 +160,10 @@ #define FIX_1053_REVERB_RECONFIGURATION /* Philips: issue 1053: fix for dynamic switching of acoustic environment */ #define FIX_1082_INSTRUM_FAILED_LC3PLUS /* VoiceAge: issue 1082: fix ambiguous syntax in LC3Plus code leading to fails of instrumented builds */ #define FIX_1077_MEMORY_TEST_MISSING /* orange: issue 1077 : add missing memory test*/ #define FIX_1081_BINAURAL_SPLIT_PCM_SANITY_CHECK /* VA: issue 1081: correct error print-out when BINAURAL_SPLIT_PCM is requested */ /* #################### End BE switches ################################## */ Loading lib_dec/ivas_dirac_dec.c +4 −3 Original line number Diff line number Diff line Loading @@ -936,10 +936,11 @@ ivas_error ivas_dirac_dec_config( ivas_dirac_dec_get_frequency_axis( frequency_axis, st_ivas->hDecoderConfig->output_Fs, st_ivas->hSpatParamRendCom->num_freq_bands ); if ( ( error = ivas_dirac_dec_decorr_open( #ifdef SPLIT_REND_WITH_HEAD_ROT if ( ( error = ivas_dirac_dec_decorr_open( &( st_ivas->hDiracDecBin[0]->h_freq_domain_decorr_ap_params ), &( st_ivas->hDiracDecBin[0]->h_freq_domain_decorr_ap_state ), st_ivas->hSpatParamRendCom->num_freq_bands, BINAURAL_CHANNELS, BINAURAL_CHANNELS, &( st_ivas->hDiracDecBin[0]->h_freq_domain_decorr_ap_params ), &( st_ivas->hDiracDecBin[0]->h_freq_domain_decorr_ap_state ), st_ivas->hSpatParamRendCom->num_freq_bands, BINAURAL_CHANNELS, BINAURAL_CHANNELS, #else if ( ( error = ivas_dirac_dec_decorr_open( &( st_ivas->hDiracDecBin->h_freq_domain_decorr_ap_params ), &( st_ivas->hDiracDecBin->h_freq_domain_decorr_ap_state ), st_ivas->hSpatParamRendCom->num_freq_bands, BINAURAL_CHANNELS, BINAURAL_CHANNELS, &( st_ivas->hDiracDecBin->h_freq_domain_decorr_ap_params ), &( st_ivas->hDiracDecBin->h_freq_domain_decorr_ap_state ), st_ivas->hSpatParamRendCom->num_freq_bands, BINAURAL_CHANNELS, BINAURAL_CHANNELS, #endif DIRAC_SYNTHESIS_PSD_LS, frequency_axis, BINAURAL_CHANNELS, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK ) { 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
apps/decoder.c +17 −0 Original line number Diff line number Diff line Loading @@ -1704,6 +1704,15 @@ static bool parseCmdlIVAS_dec( usage_dec(); return false; } #ifdef FIX_1081_BINAURAL_SPLIT_PCM_SANITY_CHECK if ( arg->outputMdFilename != NULL && arg->outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) { fprintf( stderr, "Error: Output split rendering metadata file is supported for BINAURAL_SPLIT_PCM output config. only\n\n" ); usage_dec(); return false; } #endif } else { Loading Loading @@ -1990,6 +1999,14 @@ static ivas_error initOnFirstGoodFrame( } else { #ifdef FIX_1081_BINAURAL_SPLIT_PCM_SANITY_CHECK if ( arg.outputMdFilename == NULL ) { fprintf( stderr, "\nOutput split rendering metadata file not specified\n" ); return IVAS_ERR_INVALID_SPLIT_REND_CONFIG; } #endif if ( ( error = split_rend_writer_open( splitRendWriter, arg.outputMdFilename, delayNumSamples_temp[0], delayTimeScale_temp, splitRendCodec, poseCorrection, splitRendCodecFrameSizeMs ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nUnable to open output split rendering metadata file %s\n", arg.outputWavFilename ); 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 +4 −0 Original line number Diff line number Diff line Loading @@ -160,6 +160,10 @@ #define FIX_1053_REVERB_RECONFIGURATION /* Philips: issue 1053: fix for dynamic switching of acoustic environment */ #define FIX_1082_INSTRUM_FAILED_LC3PLUS /* VoiceAge: issue 1082: fix ambiguous syntax in LC3Plus code leading to fails of instrumented builds */ #define FIX_1077_MEMORY_TEST_MISSING /* orange: issue 1077 : add missing memory test*/ #define FIX_1081_BINAURAL_SPLIT_PCM_SANITY_CHECK /* VA: issue 1081: correct error print-out when BINAURAL_SPLIT_PCM is requested */ /* #################### End BE switches ################################## */ Loading
lib_dec/ivas_dirac_dec.c +4 −3 Original line number Diff line number Diff line Loading @@ -936,10 +936,11 @@ ivas_error ivas_dirac_dec_config( ivas_dirac_dec_get_frequency_axis( frequency_axis, st_ivas->hDecoderConfig->output_Fs, st_ivas->hSpatParamRendCom->num_freq_bands ); if ( ( error = ivas_dirac_dec_decorr_open( #ifdef SPLIT_REND_WITH_HEAD_ROT if ( ( error = ivas_dirac_dec_decorr_open( &( st_ivas->hDiracDecBin[0]->h_freq_domain_decorr_ap_params ), &( st_ivas->hDiracDecBin[0]->h_freq_domain_decorr_ap_state ), st_ivas->hSpatParamRendCom->num_freq_bands, BINAURAL_CHANNELS, BINAURAL_CHANNELS, &( st_ivas->hDiracDecBin[0]->h_freq_domain_decorr_ap_params ), &( st_ivas->hDiracDecBin[0]->h_freq_domain_decorr_ap_state ), st_ivas->hSpatParamRendCom->num_freq_bands, BINAURAL_CHANNELS, BINAURAL_CHANNELS, #else if ( ( error = ivas_dirac_dec_decorr_open( &( st_ivas->hDiracDecBin->h_freq_domain_decorr_ap_params ), &( st_ivas->hDiracDecBin->h_freq_domain_decorr_ap_state ), st_ivas->hSpatParamRendCom->num_freq_bands, BINAURAL_CHANNELS, BINAURAL_CHANNELS, &( st_ivas->hDiracDecBin->h_freq_domain_decorr_ap_params ), &( st_ivas->hDiracDecBin->h_freq_domain_decorr_ap_state ), st_ivas->hSpatParamRendCom->num_freq_bands, BINAURAL_CHANNELS, BINAURAL_CHANNELS, #endif DIRAC_SYNTHESIS_PSD_LS, frequency_axis, BINAURAL_CHANNELS, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK ) { Loading