Commit f4678064 authored by Lauros Pajunen's avatar Lauros Pajunen
Browse files

Merge remote-tracking branch 'origin/main' into 1154-add-rtpdump-support

parents cb4ca374 827fc94b
Loading
Loading
Loading
Loading
Loading
+105 −50
Original line number Diff line number Diff line
@@ -27,10 +27,17 @@ variables:
      - 'test-branch-vs-input-passthrough'

  GIT_CLEAN_FLAGS: -ffdxq
  TESTCASE_TIMEOUT_STV_SANITIZERS: 180
  TESTCASE_TIMEOUT_STV_SANITIZERS: 240
  TESTCASE_TIMEOUT_LTV_SANITIZERS: 2400
  BASOP_REFERENCE_BRANCH: "ivas-float-update"
  SCALE_FACTOR: "3.162"
  PYTEST_ARGS: ""
  LONG_TEST_SUITE: "tests/codec_be_on_mr_nonselection tests/renderer --param_file scripts/config/self_test_ltv.prm --use_ltv"
  LONG_TEST_SUITE_NO_RENDERER: "tests/codec_be_on_mr_nonselection --param_file scripts/config/self_test_ltv.prm --use_ltv"
  SHORT_TEST_SUITE: "tests/codec_be_on_mr_nonselection"
  SHORT_TEST_SUITE_ENCODER: "tests/codec_be_on_mr_nonselection/test_param_file.py --param_file scripts/config/self_test_basop_encoder.prm"
  LONG_TEST_SUITE_ENCODER: "tests/codec_be_on_mr_nonselection/test_param_file.py --param_file scripts/config/self_test_ltv_basop_encoder.prm"
  TEST_SUITE: ""


default:
@@ -132,6 +139,15 @@ stages:
  - sed -i.bak -e "s/\/\*\ *\(#define\ *DEBUGGING\ *\)\*\//\1/g" lib_com/options.h
  - sed -i.bak -e "s/\/\/\ *\(#define\ *DEBUGGING\ *\)/\1/g" lib_com/options.h

.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
  - cd ivas-basop
  - git status
  - make -j
  - cd -
  - cp ivas-basop/IVAS_cod ./
  - cp ivas-basop/IVAS_dec ./

.merge-request-comparison-setup-codec: &merge-request-comparison-setup-codec 
  ### build test binaries, initial clean for paranoia reasons
  - *disable-debugging-macro
@@ -279,10 +295,24 @@ stages:
      when: never
    - when: on_success

.rules-merge-request:
.rules-merge-request-to-main:
  extends: .rules-basis
  rules:
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"
    - if: $CI_PIPELINE_SOURCE == 'push'
      when: never

.rules-merge-request-to-basop-ci-branch:
  extends: .rules-basis
  rules:
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main" # only have MR pipelines for MRs to main
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "basop-ci-branch"
    - if: $CI_PIPELINE_SOURCE == 'push'
      when: never

.rules-merge-request-to-basop-ci-branch-or-main:
  extends: .rules-basis
  rules:
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "basop-ci-branch" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main")
    - if: $CI_PIPELINE_SOURCE == 'push'
      when: never

@@ -327,7 +357,7 @@ stages:
  stage: test
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
    - .rules-merge-request-to-main
  artifacts:
    name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--stage-$CI_JOB_STAGE--results"
    expire_in: 1 week
@@ -396,7 +426,7 @@ uninterruptible:

branch-is-up-to-date-with-main-pre:
  extends:
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: prevalidate
  needs: []
  tags:
@@ -408,7 +438,7 @@ branch-is-up-to-date-with-main-pre:

check-self-test-names-pre:
  extends:
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: prevalidate
  needs: []
  tags:
@@ -418,7 +448,7 @@ check-self-test-names-pre:

check-no-duplicates-in-self-tests:
  extends:
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: prevalidate
  needs: []
  tags:
@@ -428,7 +458,7 @@ check-no-duplicates-in-self-tests:

branch-is-up-to-date-with-main-post:
  extends:
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: postvalidate
  tags:
    - ivas-linux
@@ -440,26 +470,22 @@ branch-is-up-to-date-with-main-post:
.basop-ci-branch-compat-template:
  extends:
    - .test-job-linux
  rules:
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "basop-ci-branch"
      changes:
        - tests/**/*
        - scripts/**/*
    - if: $CI_PIPELINE_SOURCE == 'push'
      when: never
    - .rules-merge-request-to-basop-ci-branch
  tags:
    - ivas-linux-fast
    - ivas-linux
  before_script:
    - git clone -b $BASOP_REFERENCE_BRANCH https://forge.3gpp.org/rep/sa4/audio/ivas-basop.git --single-branch
    - make -j -C ivas-basop
    - python3 ci/remove_unsupported_testcases.py $PARAM_FILE
    - 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

    - *update-ltv-repo
    - *copy-ltv-files-to-testv-dir

    - python3 -m pytest tests/codec_be_on_mr_nonselection --param_file $PARAM_FILE --update_ref 1 --ref_encoder_path ivas-basop/IVAS_cod --ref_decoder_path ivas-basop/IVAS_dec --html=report.html --self-contained-html --junit-xml=report-junit.xml || true
    - *get-basop-float-reference

    - python3 -m pytest $TEST_SUITE $PYTEST_ARGS --update_ref 1 --ref_encoder_path IVAS_cod --ref_decoder_path IVAS_dec --html=report.html --self-contained-html --junit-xml=report-junit.xml --testcase_timeout=$TESTCASE_TIMEOUT || true
    - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true
    - if [ $zero_errors != 1 ]; then echo "Run errors encountered with $PARAM_FILE !"; exit $EXIT_CODE_FAIL; fi
    - if [ $zero_errors != 1 ]; then echo "Run errors encountered with TEST_SUITE=$TEST_SUITE !"; exit $EXIT_CODE_FAIL; fi

  artifacts:
    name: "$CI_JOB_NAME--sha-$CI_COMMIT_SHORT_SHA--results"
@@ -474,35 +500,54 @@ branch-is-up-to-date-with-main-post:
      junit:
        - report-junit.xml

check-compatibility-with-basop-reference-branch-stv:
basop-ref-compat-stv:
  extends:
    - .basop-ci-branch-compat-template
  variables:
    TEST_SUITE: "$SHORT_TEST_SUITE tests/renderer"
    TESTCASE_TIMEOUT: $TESTCASE_TIMEOUT_STV_SANITIZERS
  script:
    - exit 0

basop-ref-compat-ltv:
  extends:
    - .basop-ci-branch-compat-template
  tags:
    - ivas-linux-fast
  variables:
    PARAM_FILE: scripts/config/self_test.prm
    TEST_SUITE: $LONG_TEST_SUITE
    TESTCASE_TIMEOUT: $TESTCASE_TIMEOUT_LTV_SANITIZERS
  script:
    - exit 0

check-compatibility-with-basop-reference-branch-ltv:
basop-ref-compat-encoder-stv:
  extends:
    - .basop-ci-branch-compat-template
  variables:
    PARAM_FILE: scripts/config/self_test_ltv.prm
    TEST_SUITE: $SHORT_TEST_SUITE_ENCODER
    TESTCASE_TIMEOUT: $TESTCASE_TIMEOUT_STV_SANITIZERS
  script:
    - exit 0

check-compatibility-with-basop-reference-branch-encoder-stv:
basop-ref-compat-encoder-ltv:
  extends:
    - .basop-ci-branch-compat-template
  tags:
    - ivas-linux-fast
  variables:
    PARAM_FILE: scripts/config/self_test_basop_encoder.prm
    TEST_SUITE: $LONG_TEST_SUITE_ENCODER
    TESTCASE_TIMEOUT: $TESTCASE_TIMEOUT_LTV_SANITIZERS
  script:
    - exit 0

check-compatibility-with-basop-reference-branch-encoder-ltv:
basop-ref-compat-encoder-dmx-comp:
  extends:
    - .basop-ci-branch-compat-template
  variables:
    PARAM_FILE: scripts/config/self_test_ltv_basop_encoder.prm
    TEST_SUITE: $SHORT_TEST_SUITE_ENCODER
    # USING PYTEST_ADDOPTS env var did not work for some reason when testing locally - maybe because this is a custom option
    PYTEST_ARGS: "--compare_enc_dmx"
    TESTCASE_TIMEOUT: $TESTCASE_TIMEOUT_STV_SANITIZERS
  script:
    - exit 0

@@ -579,7 +624,7 @@ build-codec-windows-msbuild:
codec-smoke-test:
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
    - .rules-merge-request-to-basop-ci-branch-or-main
  timeout: "20 minutes"
  tags:
    - ivas-linux-fast
@@ -589,7 +634,17 @@ codec-smoke-test:
    - *print-common-info
    # LTV update needed as ltv ISM metadata files are used
    - *update-ltv-repo

    # for MRs to basop-ci-branch, 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
    -   python3 scripts/smoketest-basop-filter.py scripts/config/ivas_modes.json --inline
    -   *get-basop-float-reference
    -   bash ci/smoke_test.sh coverage
    - else
    -   bash ci/smoke_test.sh
    - fi

    ### analyze for failures
    - if ! [ -s smoke_test_output.txt ] || ! [ -s smoke_test_output_jbm.txt ] || ! [ -s smoke_test_output_hrtf.txt ]; then echo "Error in smoke test"; exit 1; fi
    - ret_val=0
@@ -648,7 +703,7 @@ codec-usan:
pytest-compare-20ms-and-5ms-rendering:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: test
  needs: ["build-codec-linux-cmake", "build-codec-linux-make", "build-codec-instrumented-linux", "build-codec-sanitizers-linux"]
  script:
@@ -695,7 +750,7 @@ pytest-compare-20ms-and-5ms-rendering:
renderer-smoke-test:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  needs: ["build-codec-linux-make"]
  stage: test
  script:
@@ -717,7 +772,7 @@ renderer-smoke-test:
renderer-asan:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  needs: ["build-codec-linux-cmake"]
  stage: test
  script:
@@ -741,7 +796,7 @@ renderer-asan:
renderer-msan:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  needs: ["build-codec-linux-cmake"]
  stage: test
  script:
@@ -765,7 +820,7 @@ renderer-msan:
renderer-usan:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  needs: ["build-codec-linux-cmake"]
  stage: test
  script:
@@ -793,7 +848,7 @@ renderer-usan:
renderer-pytest-on-merge-request:
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
    - .rules-merge-request-to-main
  needs: ["build-codec-linux-make"]
  # TODO: set reasonable timeout, will most likely take less
  timeout: "20 minutes"
@@ -845,7 +900,7 @@ renderer-pytest-on-merge-request:
split-rendering-smoke-test:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  needs: ["build-codec-linux-make"]
  stage: test
  script:
@@ -866,7 +921,7 @@ split-rendering-smoke-test:
lc3-wrapper-unit-test:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  needs: ["build-codec-linux-cmake"]
  stage: test
  script:
@@ -878,7 +933,7 @@ lc3-wrapper-unit-test:
split-rendering-pytest-on-merge-request:
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
    - .rules-merge-request-to-main
  needs: ["build-codec-linux-make"]
  # TODO: set reasonable timeout, will most likely take less
  timeout: "30 minutes"
@@ -950,7 +1005,7 @@ split-rendering-pytest-on-merge-request:
ivas-pytest-on-merge-request:
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: compare
  needs: ["build-codec-linux-cmake", "codec-smoke-test"]
  timeout: "14 minutes"
@@ -1004,7 +1059,7 @@ ivas-pytest-on-merge-request:
ivas-interop-on-merge-request:
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: test
  needs: ["build-codec-linux-cmake"]
  timeout: "10 minutes"
@@ -1053,7 +1108,7 @@ ivas-interop-on-merge-request:
evs-pytest-on-merge-request:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: compare
  needs: ["build-codec-linux-cmake", "codec-smoke-test"]
  timeout: "10 minutes"
@@ -1105,7 +1160,7 @@ evs-pytest-on-merge-request:
voip-be-on-merge-request:
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: test
  needs: ["build-codec-linux-make"]
  timeout: "10 minutes"
@@ -1118,7 +1173,7 @@ voip-be-on-merge-request:
clang-format-check:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  variables:
    ARTIFACT_BASE_NAME: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--formatting-fix"
  stage: prevalidate
@@ -1165,7 +1220,7 @@ clang-format-check:
check-first-frame-is-sid:
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
    - .rules-merge-request-to-main
  tags:
    - ivas-linux
  stage: test
@@ -1192,7 +1247,7 @@ check-first-frame-is-sid:
.lc3plus-ensure-no-code-changes:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: postvalidate
  needs: []
  timeout: "5 minutes"
@@ -1207,7 +1262,7 @@ check-first-frame-is-sid:
check-bitexactness-hrtf-rom-and-file:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: test
  needs: ["build-codec-linux-cmake"]
  timeout: "5 minutes"
@@ -1229,7 +1284,7 @@ check-bitexactness-hrtf-rom-and-file:
check-bitexactness-ext-and-transport-format:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: test
  needs: ["build-codec-linux-cmake"]
  timeout: "5 minutes"
@@ -1256,7 +1311,7 @@ check-bitexactness-ext-and-transport-format:
# check bitexactness to EVS windows binaries
be-2-evs-windows:
  extends:
    - .rules-merge-request
    - .rules-merge-request-to-main
  tags:
    - ivas-windows
  stage: test
+65 −0
Original line number Diff line number Diff line
#!/bin/bash

# (C) 2022-2025 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.

BASOP_PATTERN="^[0-9]+[_-]basop[_-].*"
MSG_DOES_NOT_MATCH="Your branch name %s does not match the template '<issue_number>_basop_<description>', e.g. '123_basop_fix_this_one_bug-2'.
Sticking to this branch is needed for the testing system to match this branch with its float-reference counterpart.
Please rename your branch. You can easily do this by creating a new branch from this branch:
  - git checkout -b <new branch name here>
You then also need to create a new merge request and update the links in your issue.
See here for details on the porting work process: https://forge.3gpp.org/rep/sa4/audio/ivas-basop/-/wikis/Porting-MRs-from-floating-point-codec#workflow-for-porting-a-merge-request-from-floating-point-codec-to-basop-codec
"

if [ $# -ne 1 ]; then
  echo "Usage: $0 <branchname>"
  exit 1
fi

branchname="$1"

if ! [[ "$branchname" =~ $BASOP_PATTERN ]]; then
  printf "$MSG_DOES_NOT_MATCH" "$branchname"
  exit 1
fi

# The float ref branch is just the same name, but with basop -> ref replacement
# Replace only the first occurrence, as "basop" may be present in the later description
# If the format is correct, then before "_basop", only numbers can occur
float_ref_branchname="${branchname/basop/ref}"
git_result=$(git branch -av)

# If the branch does not exist, default to "float-pc"
if [[ "$git_result" =~ "$float_ref_branchname" ]]; then
  branchname="${float_ref_branchname}"
else
  branchname="float-pc"
fi

echo "$branchname"
+31 −7
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@ from pathlib import Path
import argparse

# Enter tag of testcases to remove here WITHOUT the leading //
TESTCASES = [
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",
@@ -66,10 +66,19 @@ TESTCASES = [
    "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 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 80 kbps, 48kHz in, 48kHz out, BINAURAL out, default object editing, 1SEP-PARAM",
    "OMASA 2Dir2TC 4ISM at 256 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing, JBM Prof 5, DISC",
    "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",
@@ -79,12 +88,22 @@ TESTCASES = [
    "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",
    "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",
]

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",
]


def remove_testcases(cfg: Path, testcases: list):
@@ -112,7 +131,12 @@ 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:
        testcases.extend(TESTCASES_MAIN_PC)

    for f in args.cfg_files:
        remove_testcases(f, TESTCASES)
        remove_testcases(f, testcases)
+142 −12

File changed.

Preview size limit exceeded, changes collapsed.

+14 −0
Original line number Diff line number Diff line
import pathlib

here = pathlib.Path(".")

all_files = here.glob("lib_*/*.[ch]")
ivas_files = here.glob("lib_*/ivas*.[ch]")
non_ivas_files = sorted(set(all_files) - set(ivas_files))
basop_files = here.glob("lib_*/basop*.[ch]")

ignorefiles = sorted(set(non_ivas_files) - set(basop_files))

with open("ubsan_ignorelist.txt", "w") as f:
    for cfile in ignorefiles:
        print(f"src:{cfile}", file=f)
Loading