Commit 520f6e70 authored by Tapani Pihlajakuja's avatar Tapani Pihlajakuja
Browse files

Merge remote-tracking branch 'origin/main' into...

Merge remote-tracking branch 'origin/main' into 470-implement-missing-masa-ext-output-for-jbm-operation
parents 5fae54c9 f17ef129
Loading
Loading
Loading
Loading
Loading
+13 −6
Original line number Diff line number Diff line
@@ -69,7 +69,9 @@ stages:
  # compare to last target branch commit before pipeline was created
  - target_commit=$(git log $CI_MERGE_REQUEST_TARGET_BRANCH_NAME -1 --oneline --before=${CI_PIPELINE_CREATED_AT} --format=%H)


.check-for-testvectors: &check-for-testvectors
  # check if the testvector files specified in scripts/config/ci_linux*.json are present
  - python3 -m pytest ci/test_vectors_available.py

.merge-request-comparison-setup-codec:
  &merge-request-comparison-setup-codec ### build test binaries, initial clean for paranoia reasons
@@ -660,30 +662,35 @@ clang-format-check:
    expose_as: 'formatting patch'

# check for crashes if first received frame on decoder side is an SID
.check-first-frame-is-sid:
check-first-frame-is-sid:
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
  tags:
    - ivas-linux
  stage: test
  needs: ["build-codec-linux-cmake"]
  # needs: ["build-codec-linux-cmake"]
  script:
    - *print-common-info
    - *update-ltv-repo
    - *check-for-testvectors
    - cmake .
    - make -j

    # TODO: for some MASA modes, we currently do not have testvectors that actually trigger DTX
    - modes=$(scripts/runIvasCodec.py -l | grep dtx | grep -v MASA)
    - echo $modes
    - scripts/runIvasCodec.py -p scripts/config/ci_linux_sidstart_test.json -m $modes -s --bs_length 500
    # SBA is run separately to use shorter part of file
    - modes=$(scripts/runIvasCodec.py -l | grep dtx | grep -v MASA | grep -v SBA)
    - scripts/runIvasCodec.py -p scripts/config/ci_linux_sidstart_test.json -m $modes -s --bs_length 500 -U 0:20 || exit_code_no_sba=$?
    - modes=$(scripts/runIvasCodec.py -l | grep dtx | grep SBA)
    - scripts/runIvasCodec.py -p scripts/config/ci_linux_sidstart_test.json -m $modes -s --bs_length 500 -U 70:80 || exit_code_sba=$?
    - if [ $exit_code_no_sba != 0 || $exit_code_sba != 0]; then exit 1; fi
  artifacts:
    paths:
      - out/logs
    when: on_failure
    name: "$CI_JOB_NAME--$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--sidstart"
    expose_as: "logs-sidstart"
    expire_in: "5 days"

# ---------------------------------------------------------------
# Test jobs for main branch
+19 −0
Original line number Diff line number Diff line
import pytest
import pathlib
import json
import itertools

TEST_CONFIG_DIR = pathlib.Path(__file__).parent.parent.joinpath("scripts/config")
TEST_CONFIGS = [f for f in TEST_CONFIG_DIR.iterdir() if f.name.startswith("ci_linux")]

def get_testvectors_from_config(config) -> list:
    with open(config) as f:
        cfg = json.load(f)
    return list(cfg["inpaths"].values())

TESTVECTORS = sorted(set(itertools.chain(*[get_testvectors_from_config(cfg) for cfg in TEST_CONFIGS])))

@pytest.mark.parametrize("testvector", TESTVECTORS)
def test_vectors_available(testvector):
    if not pathlib.Path(testvector).exists():
        raise FileNotFoundError(f"Testvector {testvector} can not be found")
+160 −157
Original line number Diff line number Diff line
@@ -209,6 +209,9 @@ ivas_error pre_proc_front_ivas(
    const int16_t front_vad_flag,                               /* i  : front-VAD flag to overwrite VAD decision   */
    const int16_t force_front_vad,                              /* i  : flag to force VAD decision                 */
    const int16_t front_vad_dtx_flag,                           /* i  : front-VAD DTX flag to overwrite VAD decision*/
#ifdef FIX_529_BWD_ISSUE
    const IVAS_FORMAT ivas_format,                              /* i  : IVAS format                                */
#endif
    const int32_t ivas_total_brate                              /* i  : IVAS total bitrate                         */
);

+9 −2
Original line number Diff line number Diff line
@@ -143,7 +143,8 @@
#define BITSTREAM_INDICES_MEMORY                        /* Don't count memory for bitstream Indice at the encoder - it is a temporary solution for development only */
#endif

#define DISABLE_ADAP_RES_COD_TMP                        /* temporary fix for IVAS-403, disables adaptive residual coding */
/*#define DISABLE_ADAP_RES_COD_TMP*/                    /* temporary fix for IVAS-403, disables adaptive residual coding */
#define ADAP_OPT                                        /* Issue 69: optimized the adap algorithm */
/*#define FIX_I4_OL_PITCH*/                             /* fix open-loop pitch used for EVS core switching */

#ifdef IND_LIST_DYN
@@ -151,8 +152,14 @@
#endif

#define FIX_383_CLEAN_UP                                /* Dlb : Clean up of unused functions */
// #define FIX_532_ISM_MD_INACTIVE                         /* VA: issue 532: improve MD coding in ISM inactive frames */
#define FIX_532_ISM_MD_INACTIVE                         /* VA: issue 532: improve MD coding in ISM inactive frames */
#define FIX_547_NAN_IGF_DEC                             /* FhG: issue 547: fix possible nan in IGF decoder */
#define FIX_529_BWD_ISSUE                               /* VA: issue 529: fix Bandwidth Detector not working reliably for Music and Generic Audio */
#define FIX_557_CRASH_IN_ISM_DTX                        /* VA issue 557: fix crash in 1ISM 48 kbps DTX */

#define IGF_TUNING_96                                   /* FhG: Issue 546: slight tuning of IGF config used in 96 kbps stereo, 128 kbps SBA and others */

#define FIX_522_ISM_FIRST_SID                           /* VA: fix ISM decoder crash if first received frame is an SID */

#define FIX_470_MASA_JBM_EXT                            /* Nokia: Issue 470, fix MASA EXT output with JBM */

+13 −10
Original line number Diff line number Diff line
@@ -3891,6 +3891,9 @@ void bw_detect(
    const float signal_in[], /* i  : input signal                                */
    float *spectrum,         /* i  : MDCT spectrum                               */
    const float *enerBuffer, /* i  : energy buffer                               */
#ifdef FIX_529_BWD_ISSUE
    const IVAS_FORMAT ivas_format, /* i  : IVAS format                                 */
#endif
    const int16_t mct_on /* i  : flag MCT mode                               */
);

Loading