From 91f4fe1080d0d50a51b2809a82cb78a76db13d53 Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Wed, 18 Jun 2025 14:31:04 +0200 Subject: [PATCH 01/11] Set reference branch to float-pc for testing. Use HRTF model files from 78154d0b3f1b2c6c8ff8a234f3f7cf865d467d35 --- .gitlab-ci.yml | 4 ++-- .../binaural_renderers_hrtf_data/ivas_binaural_16kHz.bin | 4 ++-- .../binaural_renderers_hrtf_data/ivas_binaural_32kHz.bin | 4 ++-- .../binaural_renderers_hrtf_data/ivas_binaural_48kHz.bin | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 884708ec4f..c94e3125e6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,7 @@ variables: # note: GitLab cannot reference variables defined by users in the include ref:, we need to use a YAML anchor for this # see https://docs.gitlab.com/ci/yaml/includes/#use-variables-with-include for more information - IVAS_CODEC_CI_REF: &IVAS_CODEC_CI_REF 44cb5638949b874ce0f5c3bf4359f9db860d88bc + IVAS_CODEC_CI_REF: &IVAS_CODEC_CI_REF 2cd9604cf9a4eb927076e21ff181098a837ea9f6 include: - local: .gitlab-ci/variables.yml @@ -63,7 +63,7 @@ workflow: ("echo 'System time is'", "Get-Date -Format 'dddd dd/MM/yyyy HH:mm K'") | Invoke-Expression .get-basop-float-reference: &get-basop-float-reference - - git clone -b $BASOP_REFERENCE_BRANCH https://forge.3gpp.org/rep/sa4/audio/ivas-basop.git --single-branch --depth 1 ivas-basop + - git clone -b $BASOP_REFERENCE_BRANCH_PC https://forge.3gpp.org/rep/sa4/audio/ivas-basop.git --single-branch --depth 1 ivas-basop - cd ivas-basop - git status - make -j diff --git a/scripts/binauralRenderer_interface/binaural_renderers_hrtf_data/ivas_binaural_16kHz.bin b/scripts/binauralRenderer_interface/binaural_renderers_hrtf_data/ivas_binaural_16kHz.bin index 9a988eb588..ffb4662687 100644 --- a/scripts/binauralRenderer_interface/binaural_renderers_hrtf_data/ivas_binaural_16kHz.bin +++ b/scripts/binauralRenderer_interface/binaural_renderers_hrtf_data/ivas_binaural_16kHz.bin @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a263c5498fc7ec0407c4f448e78e1f0aaf97163234ef44f2f79a1dfcb5adc37f -size 1968026 +oid sha256:600f05865baeeb01c6435725f87c6a91e6e75e481ffae2ec3d6a7c62aba5fc7c +size 1971974 diff --git a/scripts/binauralRenderer_interface/binaural_renderers_hrtf_data/ivas_binaural_32kHz.bin b/scripts/binauralRenderer_interface/binaural_renderers_hrtf_data/ivas_binaural_32kHz.bin index 73f151217e..97190b44f8 100644 --- a/scripts/binauralRenderer_interface/binaural_renderers_hrtf_data/ivas_binaural_32kHz.bin +++ b/scripts/binauralRenderer_interface/binaural_renderers_hrtf_data/ivas_binaural_32kHz.bin @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8622b0f7969a3126f8ab147c10392916b5e9cbe8d8bd9c04798abd3836e36c76 -size 2431246 +oid sha256:cda90cc841793f0a1ed76b580e46b9989564b055b664ed6746ebfa0033a74f2b +size 2430778 diff --git a/scripts/binauralRenderer_interface/binaural_renderers_hrtf_data/ivas_binaural_48kHz.bin b/scripts/binauralRenderer_interface/binaural_renderers_hrtf_data/ivas_binaural_48kHz.bin index d847e74613..e1f6981162 100644 --- a/scripts/binauralRenderer_interface/binaural_renderers_hrtf_data/ivas_binaural_48kHz.bin +++ b/scripts/binauralRenderer_interface/binaural_renderers_hrtf_data/ivas_binaural_48kHz.bin @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:30bcf48f0c851d4e676d5b92be7eb3032442f5106a1072ef8fc9b335d60d0fbf -size 2673694 +oid sha256:c1654ead069a420b97af8755edbb1c358806aa3c5c07db3113789fe0942642de +size 2673946 -- GitLab From e1f03be33ebf0994d2e5e2aeb7097772d92500e3 Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Wed, 18 Jun 2025 15:11:10 +0200 Subject: [PATCH 02/11] Setup MR pipeline rules for basop-ci-branch-pc --- .gitlab-ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c94e3125e6..5c829947f8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,7 @@ variables: # note: GitLab cannot reference variables defined by users in the include ref:, we need to use a YAML anchor for this # see https://docs.gitlab.com/ci/yaml/includes/#use-variables-with-include for more information - IVAS_CODEC_CI_REF: &IVAS_CODEC_CI_REF 2cd9604cf9a4eb927076e21ff181098a837ea9f6 + IVAS_CODEC_CI_REF: &IVAS_CODEC_CI_REF 1ed1eb9dba06245fbcc80bcd24ea43be284f7f8e include: - local: .gitlab-ci/variables.yml @@ -238,7 +238,7 @@ branch-is-up-to-date-with-main-post: .basop-ci-branch-compat-template: extends: - .test-job-linux - - .rules-merge-request-to-basop-ci-branch + - .rules-merge-request-to-basop-ci-branch-pc tags: - ivas-linux before_script: @@ -401,7 +401,7 @@ build-codec-windows-msbuild: codec-smoke-test: extends: - .test-job-linux-needs-testv-dir - - .rules-merge-request-to-basop-ci-branch-or-main + - .rules-merge-request-to-basop-ci-branch-pc-or-main timeout: "20 minutes" tags: - ivas-linux-fast -- GitLab From f4558667e07746223742d8ff347962de55fcdcc3 Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Tue, 24 Jun 2025 09:26:41 +0200 Subject: [PATCH 03/11] Set --use-main-pc-set for correct filtering of test cases for float-pc --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5c829947f8..ad128ace23 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -243,7 +243,7 @@ branch-is-up-to-date-with-main-post: - ivas-linux before_script: - !reference [.job-linux, before_script] - - python3 ci/remove_unsupported_testcases.py scripts/config/self_test.prm scripts/config/self_test_ltv.prm + - python3 ci/remove_unsupported_testcases.py scripts/config/self_test.prm scripts/config/self_test_ltv.prm --use-main-pc-set - python3 tests/create_short_testvectors.py - python3 scripts/prepare_combined_format_inputs.py -- GitLab From d189eaedb4ab7e445579c8512cdd1ddcdf1abbfc Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Tue, 24 Jun 2025 09:47:21 +0200 Subject: [PATCH 04/11] Fix codec-smoke-test for basop-ci-branch-pc target --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ad128ace23..a4a6fa3991 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -412,9 +412,9 @@ codec-smoke-test: # LTV update needed as ltv ISM metadata files are used - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/update-ltv-repo.sh - # for MRs to basop-ci-branch, we want to test with the BASOP float reference build + # for MRs to basop-ci-branch-pc, we want to test with the BASOP float reference build # per default, the smoke test builds the current repo again with WMOPS activated to catch unbalanced instrumentation macros - - if [ "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" = "basop-ci-branch" ]; then + - if [ "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" = "basop-ci-branch-pc" ]; then - python3 scripts/smoketest-basop-filter.py scripts/config/ivas_modes.json --inline - *get-basop-float-reference - bash ci/smoke_test.sh coverage -- GitLab From 0be82d4b033d171ce18050a3cba491868234e629 Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Fri, 27 Jun 2025 14:10:18 +0200 Subject: [PATCH 05/11] Disable test case, not yet supported --- ci/remove_unsupported_testcases.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/remove_unsupported_testcases.py b/ci/remove_unsupported_testcases.py index 6751f55e76..ed49c4f4d0 100644 --- a/ci/remove_unsupported_testcases.py +++ b/ci/remove_unsupported_testcases.py @@ -105,7 +105,7 @@ TESTCASES_MAIN_PC = [ "OSBA 2OA 2ISM bitrate switching, 32kHz in, 48kHz out, BINAURAL_ROOM_REVERB out, JBM Prof 5", ] TESTCASES_MAIN_PC_REENABLE = [ - "4 ISM with extended metadata at 128 kbps, 48 kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out, rendconf dir w id", + #"4 ISM with extended metadata at 128 kbps, 48 kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out, rendconf dir w id", ] def remove_testcases(cfg: Path, testcases: list): """ -- GitLab From ec73f1bd015954293a4cda3a06ed55e9afb9f4bb Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Wed, 30 Jul 2025 15:45:11 +0200 Subject: [PATCH 06/11] add set of testcases to remove based on merge back to main --- ci/remove_unsupported_testcases.py | 91 ++++++++---------------------- 1 file changed, 22 insertions(+), 69 deletions(-) diff --git a/ci/remove_unsupported_testcases.py b/ci/remove_unsupported_testcases.py index ed49c4f4d0..424642ed95 100644 --- a/ci/remove_unsupported_testcases.py +++ b/ci/remove_unsupported_testcases.py @@ -32,81 +32,41 @@ from pathlib import Path import argparse # Enter tag of testcases to remove here WITHOUT the leading // -TESTCASES_MAIN = [ - "OMASA 2Dir2TC 4ISM at br sw techs 13.2 to 512 kbps start 80 kbps, 48kHz in, 48kHz out, EXT out", - "OSBA planar FOA 2ISM at 512 kbps, 48 kHz in, 48 kHz out, BINAURAL out", - "4 ISM with extended metadata at 128 kbps, 48 kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out, rendconf dir w id", - "OSBA planar FOA 1ISM at 256 kbps, 48 kHz in, 48 kHz out, BINAURAL out", - "Multi-channel 5_1 bitrate switching from 24.4 kbps to 256 kbps, 48kHz in, 48kHz out, BINAURAL out, FER at 10%, bandwidth switching", - "OSBA FOA 4ISM at bitrate switching 13.2 to 512 kbps, 48kHz in, 48kHz out, BINAURAL out, FER at 5%, bandwidth switching", - "OSBA FOA 2ISM at 64 kbps, 48kHz in, 48kHz out, HOA3 out, bandwidth switching", - "OMASA 2Dir2TC 4ISM at br sw techs 13.2 to 512 kbps start 80 kbps, 48kHz in, 48kHz out, EXT out", - "OSBA planar FOA 2ISM at 512 kbps, 48 kHz in, 48 kHz out, BINAURAL out", - "OSBA planar FOA 1ISM at 256 kbps, 48 kHz in, 48 kHz out, BINAURAL out", - "SBA 3OA at 128 kbps, 48kHz in 48kHz out, BINAURAL_ROOM_REVERB rendconf sel acoustic env", - "OSBA FOA 4ISM at br sw 13.2 to 512 kbps, 48kHz in, 16kHz out, BINAURAL out (Model from file), FER at 5%, bandwidth switching", +TESTCASES = [ + # self_test.prm "stereo bitrate switching from 13.2 kbps to 128 kbps, 48kHz in, 48kHz out, DTX on, EXT out", - "SBA FOA bitrate switching from 13.2 kbps to 192 kbps, 32kHz in, 32kHz out, DTX on, EXT out", - "SBA 2OA bitrate switching from 13.2 kbps to 128 kbps, 32kHz in, 32kHz out, DTX on, EXT out", - "SBA 3OA bitrate switching from 13.2 kbps to 128 kbps, 48kHz in, 48kHz out, DTX on, random FER at 5%, EXT out", - "Multi-channel 5_1 bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 48kHz out, EXT out", - "Multi-channel 5_1_2 bitrate switching from 24.4 kbps to 256 kbps, 48kHz in, 48kHz out, EXT out", + "Multi-channel 5_1 at 512 kbps, 48kHz in 48kHz out, BINAURAL_ROOM_REVERB out custom acoustic environment with a sequence (CREND)", "Multi-channel 5_1_4 bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 32kHz out, EXT out", + "Multi-channel 5_1 at 64 kbps, 48kHz in 48kHz out, BINAURAL_ROOM_REVERB out custom acoustic environment with a sequence (FastConv)", "Multi-channel 7_1 bitrate switching from 24.4 kbps to 256 kbps, 48kHz in, 16kHz out, EXT out", "Multi-channel 7_1_4 bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 48kHz out, EXT out", - "SBA planar 2OA bitrate switching from 13.2 kbps to 128 kbps, 32kHz in, 32kHz out, DTX on, EXT out", - "SBA planar FOA bitrate switching from 13.2 kbps to 512 kbps, 32kHz in, 32kHz out, EXT out", - "SBA 2OA bitrate switching from 13.2 kbps to 512 kbps, 32kHz in, 32kHz out, EXT out", - "SBA planar 3OA bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 48kHz out, random FER at 5%, EXT out", - "Multi-channel 5_1 at 512 kbps, 48kHz in 48kHz out, BINAURAL_ROOM_REVERB out custom acoustic environment with a sequence (CREND)", - "Multi-channel 5_1 at 64 kbps, 48kHz in 48kHz out, BINAURAL_ROOM_REVERB out custom acoustic environment with a sequence (FastConv)", "Multi-channel 5_1 at 32 kbps, 48kHz in 48kHz out, BINAURAL_ROOM_REVERB out custom acoustic environment with a sequence (ParamBin)", - "MASA 1dir 1TC at 256 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out, HR custom configuration", - "MASA 1dir 1TC at 256kbps, 48kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out custom configuration", - "MASA 1TC at 256kbps, 48kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out custom configuration", - "MASA 1TC at 256 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out, HR custom configuration", - "OMASA 2TC 4ISM at br sw techs 13.2 to 512 kbps start 80 kbps, 48kHz in, 48kHz out, EXT out", "Multi-channel 7_1_4 bitrate switching, 48kHz in, 48kHz out, BINAURAL out, HR, JBM Prof 5", + "Multi-channel 5_1_2 bitrate switching from 24.4 kbps to 256 kbps, 48kHz in, 48kHz out, EXT out", "Multi-channel 7_1 bitrate switching, 48kHz in, 32kHz out, BINAURAL_ROOM_REVERB out, HR, JBM Prof 5", - "3 ISM with metadata bitrate switching from 48 kbps to 32 kbps, 48 kHz in, 32 kHz out, DTX, BINAURAL_ROOM_IR out, JBM Prof 5", - # object editing starts here + "OMASA 2Dir2TC 4ISM at br sw techs 13.2 to 512 kbps start 80 kbps, 48kHz in, 48kHz out, EXT out", "OMASA 2Dir2TC 4ISM at 80 kbps, 48kHz in, 48kHz out, BINAURAL out, default object editing, 1SEP-PARAM", + "OMASA 2Dir2TC 2ISM br sw techs 13.2 to 512 kbps start 48 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing", + "4 ISM with metadata at 32 kbps, 48 kHz in, 48 kHz out, BINAURAL out, object editing, PARAM_ISM", "OMASA 2Dir2TC 4ISM at 256 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing, JBM Prof 5, DISC", + "4 ISM with metadata bitrate switching from 48 kbps to 32 kbps, 48 kHz in, 48 kHz out, BINAURAL out, object editing, JBM Prof 5", + "3 ISM with metadata at 384 kbps, 48 kHz in, 48 kHz out, FOA out, object editing, JBM Prof 5, DISC", + "4 ISM with metadata at 128 kbps, 48 kHz in, 48 kHz out, BINAURAL out, object editing, DISC, FER at 5%", + "3 ISM with metadata at 24.4 kbps, 48 kHz in, 48 kHz out, FOA out, object editing, JBM Prof 5, PARAM_ISM", + "4 ISM with metadata bitrate switching from 32 kbps to 48 kbps, 48 kHz in, 48 kHz out, BINAURAL_ROOM_IR out, object editing", "OMASA 2Dir2TC 2ISM at 96 kbps, 48kHz in, 48kHz out, FOA out, object editing, JBM Prof 5, DISC", - "OMASA 2Dir2TC 2ISM br sw techs 13.2 to 512 kbps start 48 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing", - # the next four lines are basically duplicates of the last four, but without "Dir", because the ltv MASA cases do not have dedicated testvectors for numbers of directions - "OMASA 2TC 4ISM at 80 kbps, 48kHz in, 48kHz out, BINAURAL out, default object editing, 1SEP-PARAM", - "OMASA 2TC 4ISM at 256 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing, JBM Prof 5, DISC", - "OMASA 2TC 2ISM at 96 kbps, 48kHz in, 48kHz out, FOA out, object editing, JBM Prof 5, DISC", - "OMASA 2TC 2ISM br sw techs 13.2 to 512 kbps start 48 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing", "OSBA 3OA 4ISM at 256 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing, DISC", "OSBA 2OA 3ISM at 128 kbps, 48kHz in, 48kHz out, FOA out, object editing, JBM Prof 5, DISC", "OSBA 2OA 3ISM at bitrate switching 13.2 to 512 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing", - "4 ISM with metadata at 32 kbps, 48 kHz in, 48 kHz out, BINAURAL out, object editing, PARAM_ISM", - "4 ISM with metadata at 128 kbps, 48 kHz in, 48 kHz out, BINAURAL out, object editing, DISC", - "3 ISM with metadata at 24.4 kbps, 48 kHz in, 48 kHz out, FOA out, object editing, JBM Prof 5, PARAM_ISM", - "3 ISM with metadata at 384 kbps, 48 kHz in, 48 kHz out, FOA out, object editing, JBM Prof 5, DISC", - "4 ISM with metadata bitrate switching from 32 kbps to 48 kbps, 48 kHz in, 48 kHz out, BINAURAL_ROOM_IR out, object editing", - "4 ISM with metadata bitrate switching from 48 kbps to 32 kbps, 48 kHz in, 48 kHz out, BINAURAL out, object editing, JBM Prof 5", -] -TESTCASES_MAIN_PC = [ - "SBA at 128 kbps, 32kHZ in, 32kHz out, BINAURAL_ROOM_REVERB out, Config renderer, HR", - "SBA at 128 kbps, 32kHZ in, 16kHz out, BINAURAL_ROOM_REVERB out (Model from file), HR", - "Planar SBA at 128 kbps, 48kHZ in, 32kHz out, BINAURAL_ROOM_REVERB out (Model from file), Config renderer, HR", - "Multi-channel 7_1_4 at 160 kbps, 48kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out default configuration", - "Multi-channel 5_1 at 80 kbps, 48kHz in, 32kHz out, BINAURAL_ROOM_REVERB out Config renderer, HR", - "OSBA planar 2OA 4ISM at 512 kbps, 48 kHz in, 48 kHz out, BINAURAL ROOM REVERB (Model from file) out", - "SBA 3OA 4ISM at 96 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out custom configuration", - "Multi-channel 7_1_4 at 160 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out Config recreation, HR", - "Multi-channel 5_1_2 at 64 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out Config renderer, HR", - "OSBA 3OA 4ISM at 512 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out", - "OSBA 3ISM 3OA at bitrate switching 13.2 to 512 kbps, 48kHz in, 32kHz out, BINAURAL ROOM REVERB out", - "Multi-channel 5_1 bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 16kHz out, BINAURAL_ROOM_REVERB out", - "OSBA 2OA 2ISM bitrate switching, 32kHz in, 48kHz out, BINAURAL_ROOM_REVERB out, JBM Prof 5", -] -TESTCASES_MAIN_PC_REENABLE = [ - #"4 ISM with extended metadata at 128 kbps, 48 kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out, rendconf dir w id", + # self_test_ltv.prm + "OMASA 2TC 4ISM at br sw techs 13.2 to 512 kbps start 80 kbps, 48kHz in, 48kHz out, EXT out]", + "OMASA 2TC 2ISM at 96 kbps, 48kHz in, 48kHz out, FOA out, object editing, JBM Prof 5, DISC]", + "OMASA 2TC 4ISM at 80 kbps, 48kHz in, 48kHz out, BINAURAL out, default object editing, 1SEP-PARAM]", + "OMASA 2TC 4ISM at 256 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing, JBM Prof 5, DISC]", + "OMASA 2TC 2ISM br sw techs 13.2 to 512 kbps start 48 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing]", ] + + def remove_testcases(cfg: Path, testcases: list): """ Go through file line by line and copy all testcases except the given ones @@ -132,16 +92,9 @@ def remove_testcases(cfg: Path, testcases: list): if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("cfg_files", nargs="+", type=Path) - parser.add_argument("--use-main-pc-set", action="store_true") args = parser.parse_args() - testcases = TESTCASES_MAIN - if args.use_main_pc_set: - # Add further unsupported test cases - testcases.extend(TESTCASES_MAIN_PC) - # Re-enable test cases that are now supported - for case in TESTCASES_MAIN_PC_REENABLE: - testcases.remove(case) + testcases = TESTCASES for f in args.cfg_files: remove_testcases(f, testcases) -- GitLab From ff959f1313c567c5c2cbbe269168b27b0b25704f Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Thu, 31 Jul 2025 11:45:03 +0200 Subject: [PATCH 07/11] add sorting to output of parse_xml_report.py --- scripts/parse_xml_report.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/scripts/parse_xml_report.py b/scripts/parse_xml_report.py index 948bda4308..f157731713 100644 --- a/scripts/parse_xml_report.py +++ b/scripts/parse_xml_report.py @@ -18,6 +18,10 @@ class Result(str, Enum): PASS = "PASS" +SORT_KEYS = ["MAX_ABS_DIFF", "MLD", "MIN_SSNR", "MIN_ODG"] +SORT_ASCENDING = [False, False, True, True] + + class TestcaseParser(dict): def __init__(self, testcases: list): super().__init__() @@ -111,6 +115,11 @@ class TestcaseParser(dict): def to_df(self) -> pd.DataFrame: testcases = list(self.values()) df = pd.DataFrame(testcases) + + for key in SORT_KEYS: + df[key] = pd.to_numeric(df[key], errors="coerce") + df = df.sort_values(by=SORT_KEYS, ascending=SORT_ASCENDING) + return df -- GitLab From 4f3147ab7689ce35553379a7581804d6ffc0a639 Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Thu, 31 Jul 2025 13:26:36 +0200 Subject: [PATCH 08/11] remove basop-ci-branch-pc-related stuff from CI --- .gitlab-ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index eed40ad1f3..995f332013 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -63,7 +63,7 @@ workflow: ("echo 'System time is'", "Get-Date -Format 'dddd dd/MM/yyyy HH:mm K'") | Invoke-Expression .get-basop-float-reference: &get-basop-float-reference - - git clone -b $BASOP_REFERENCE_BRANCH_PC https://forge.3gpp.org/rep/sa4/audio/ivas-basop.git --single-branch --depth 1 ivas-basop + - git clone -b $BASOP_REFERENCE_BRANCH https://forge.3gpp.org/rep/sa4/audio/ivas-basop.git --single-branch --depth 1 ivas-basop - cd ivas-basop - git status - make -j @@ -238,12 +238,12 @@ branch-is-up-to-date-with-main-post: .basop-ci-branch-compat-template: extends: - .test-job-linux - - .rules-merge-request-to-basop-ci-branch-pc + - .rules-merge-request-to-basop-ci-branch tags: - ivas-linux before_script: - !reference [.job-linux, before_script] - - python3 ci/remove_unsupported_testcases.py scripts/config/self_test.prm scripts/config/self_test_ltv.prm --use-main-pc-set + - python3 ci/remove_unsupported_testcases.py scripts/config/self_test.prm scripts/config/self_test_ltv.prm - python3 tests/create_short_testvectors.py - python3 scripts/prepare_combined_format_inputs.py @@ -401,7 +401,7 @@ build-codec-windows-msbuild: codec-smoke-test: extends: - .test-job-linux-needs-testv-dir - - .rules-merge-request-to-basop-ci-branch-pc-or-main + - .rules-merge-request-to-basop-ci-branch-or-main timeout: "20 minutes" tags: - ivas-linux-fast @@ -414,7 +414,7 @@ codec-smoke-test: # for MRs to basop-ci-branch-pc, we want to test with the BASOP float reference build # per default, the smoke test builds the current repo again with WMOPS activated to catch unbalanced instrumentation macros - - if [ "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" = "basop-ci-branch-pc" ]; then + - if [ "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" = "basop-ci-branch" ]; then - python3 scripts/smoketest-basop-filter.py scripts/config/ivas_modes.json --inline - *get-basop-float-reference - bash ci/smoke_test.sh coverage -- GitLab From 67470514e09761f08bef515a3866facc76fdc484 Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Thu, 31 Jul 2025 13:49:13 +0200 Subject: [PATCH 09/11] remove filtering of EXT outputs --- scripts/smoketest-basop-filter.py | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/scripts/smoketest-basop-filter.py b/scripts/smoketest-basop-filter.py index faa170f7e0..e931a5f34e 100644 --- a/scripts/smoketest-basop-filter.py +++ b/scripts/smoketest-basop-filter.py @@ -6,16 +6,20 @@ import logging import sys -logging.basicConfig(level=logging.INFO, format='%(levelname)s: %(message)s') +logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") logger = logging.getLogger() def main(): parser = argparse.ArgumentParser() - parser.add_argument("input", help="input JSON", type=argparse.FileType('r')) - parser.add_argument("output", help="output JSON", type=argparse.FileType('w'), nargs="?") - parser.add_argument("--inline", "-i", help="patch input inline", action="store_true") + parser.add_argument("input", help="input JSON", type=argparse.FileType("r")) + parser.add_argument( + "output", help="output JSON", type=argparse.FileType("w"), nargs="?" + ) + parser.add_argument( + "--inline", "-i", help="patch input inline", action="store_true" + ) args = parser.parse_args() @@ -25,18 +29,8 @@ def main(): modes = json.load(args.input) - for mode in ("MC", "stereo", "OMASA"): - for encoder_config_name in modes[mode].keys(): - try: - del modes[mode][encoder_config_name]["dec"]["EXT"] - except KeyError: - logger.warning(f"No EXT dec in {mode} -> {encoder_config_name}, skipping") - continue - else: - logger.info(f"Found EXT dec in {mode} -> {encoder_config_name}, removing") - for encoder_config_name in tuple(modes["OSBA"].keys()): - if not "FOA" in encoder_config_name: + if "FOA" not in encoder_config_name: continue logger.info(f"Removing OSBA FOA encoder config {encoder_config_name}") -- GitLab From 5a7cb840921138d3efa741be46a0a10d5641cbac Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Thu, 31 Jul 2025 14:27:04 +0200 Subject: [PATCH 10/11] remove trailing ] from ltv testcases --- ci/remove_unsupported_testcases.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ci/remove_unsupported_testcases.py b/ci/remove_unsupported_testcases.py index 424642ed95..28dc94c18b 100644 --- a/ci/remove_unsupported_testcases.py +++ b/ci/remove_unsupported_testcases.py @@ -59,11 +59,11 @@ TESTCASES = [ "OSBA 2OA 3ISM at 128 kbps, 48kHz in, 48kHz out, FOA out, object editing, JBM Prof 5, DISC", "OSBA 2OA 3ISM at bitrate switching 13.2 to 512 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing", # self_test_ltv.prm - "OMASA 2TC 4ISM at br sw techs 13.2 to 512 kbps start 80 kbps, 48kHz in, 48kHz out, EXT out]", - "OMASA 2TC 2ISM at 96 kbps, 48kHz in, 48kHz out, FOA out, object editing, JBM Prof 5, DISC]", - "OMASA 2TC 4ISM at 80 kbps, 48kHz in, 48kHz out, BINAURAL out, default object editing, 1SEP-PARAM]", - "OMASA 2TC 4ISM at 256 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing, JBM Prof 5, DISC]", - "OMASA 2TC 2ISM br sw techs 13.2 to 512 kbps start 48 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing]", + "OMASA 2TC 4ISM at br sw techs 13.2 to 512 kbps start 80 kbps, 48kHz in, 48kHz out, EXT out", + "OMASA 2TC 2ISM at 96 kbps, 48kHz in, 48kHz out, FOA out, object editing, JBM Prof 5, DISC", + "OMASA 2TC 4ISM at 80 kbps, 48kHz in, 48kHz out, BINAURAL out, default object editing, 1SEP-PARAM", + "OMASA 2TC 4ISM at 256 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing, JBM Prof 5, DISC", + "OMASA 2TC 2ISM br sw techs 13.2 to 512 kbps start 48 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing", ] -- GitLab From a8ad2891ab989299e960a3a2d6964c7fe1a0d257 Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Thu, 31 Jul 2025 14:27:47 +0200 Subject: [PATCH 11/11] Revert "remove filtering of EXT outputs" This reverts commit 67470514e09761f08bef515a3866facc76fdc484. --- scripts/smoketest-basop-filter.py | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/scripts/smoketest-basop-filter.py b/scripts/smoketest-basop-filter.py index e931a5f34e..faa170f7e0 100644 --- a/scripts/smoketest-basop-filter.py +++ b/scripts/smoketest-basop-filter.py @@ -6,20 +6,16 @@ import logging import sys -logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") +logging.basicConfig(level=logging.INFO, format='%(levelname)s: %(message)s') logger = logging.getLogger() def main(): parser = argparse.ArgumentParser() - parser.add_argument("input", help="input JSON", type=argparse.FileType("r")) - parser.add_argument( - "output", help="output JSON", type=argparse.FileType("w"), nargs="?" - ) - parser.add_argument( - "--inline", "-i", help="patch input inline", action="store_true" - ) + parser.add_argument("input", help="input JSON", type=argparse.FileType('r')) + parser.add_argument("output", help="output JSON", type=argparse.FileType('w'), nargs="?") + parser.add_argument("--inline", "-i", help="patch input inline", action="store_true") args = parser.parse_args() @@ -29,8 +25,18 @@ def main(): modes = json.load(args.input) + for mode in ("MC", "stereo", "OMASA"): + for encoder_config_name in modes[mode].keys(): + try: + del modes[mode][encoder_config_name]["dec"]["EXT"] + except KeyError: + logger.warning(f"No EXT dec in {mode} -> {encoder_config_name}, skipping") + continue + else: + logger.info(f"Found EXT dec in {mode} -> {encoder_config_name}, removing") + for encoder_config_name in tuple(modes["OSBA"].keys()): - if "FOA" not in encoder_config_name: + if not "FOA" in encoder_config_name: continue logger.info(f"Removing OSBA FOA encoder config {encoder_config_name}") -- GitLab