Commit 9a67eeee authored by sbsarac's avatar sbsarac
Browse files

Merge branch 'main' into 922-use-precomputed-HRTF-average-LR-energies-and-IAC-in-all-renderers

parents cf330c01 0d466098
Loading
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -244,6 +244,7 @@ stages:
  extends: .test-job-linux
  before_script:
    - if [ ! -d "$TESTV_DIR" ]; then mkdir -p $TESTV_DIR; fi
    - python3 scripts/prepare_combined_format_inputs.py
    - cp -r scripts/testv/* $TESTV_DIR/

# ---------------------------------------------------------------
@@ -440,7 +441,7 @@ codec-smoke-test:
# code selftest testvectors with memory-sanitizer binaries
codec-msan:
  extends:
    - .test-job-linux
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
  stage: test
  needs: ["build-codec-sanitizers-linux"]
@@ -463,7 +464,7 @@ codec-msan:
# code selftest testvectors with address-sanitizer binaries
codec-asan:
  extends:
    - .test-job-linux
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
  stage: test
  needs: ["build-codec-sanitizers-linux"]
@@ -486,7 +487,7 @@ codec-asan:
# code selftest testvectors with address-sanitizer binaries
codec-usan:
  extends:
    - .test-job-linux
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
  stage: test
  needs: ["build-codec-sanitizers-linux"]
@@ -607,7 +608,7 @@ renderer-usan:
# compare renderer bitexactness between target and source branch
renderer-pytest-on-merge-request:
  extends:
    - .test-job-linux
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
  needs: ["build-codec-linux-make"]
  # TODO: set reasonable timeout, will most likely take less
@@ -682,7 +683,7 @@ split-rendering-smoke-test:
# compare split-rendering bitexactness between target and source branch
split-rendering-pytest-on-merge-request:
  extends:
    - .test-job-linux
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
  needs: ["build-codec-linux-make"]
  # TODO: set reasonable timeout, will most likely take less
@@ -755,7 +756,7 @@ split-rendering-pytest-on-merge-request:
# compare bit exactness between target and source branch
ivas-pytest-on-merge-request:
  extends:
    - .test-job-linux
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
  stage: compare
  needs: ["build-codec-linux-cmake", "codec-smoke-test"]
@@ -812,7 +813,7 @@ ivas-pytest-on-merge-request:
# Check interop IVAS_cod_test -> IVAS_dec_ref
ivas-interop-on-merge-request:
  extends:
    - .test-job-linux
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
  stage: test
  needs: ["build-codec-linux-cmake"]
@@ -1085,7 +1086,7 @@ be-2-evs-linux:

codec-comparison-on-main-push:
  extends:
    - .test-job-linux
    - .test-job-linux-needs-testv-dir
    - .rules-main-push
  stage: compare
  needs: ["build-codec-linux-cmake"]
+2 −2
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ N_FRAMES_DLY_PROFILE = 7500
GENPATT_CMD = f"gen-patt -tailstat -fer -g192 -gamma 0 -rate 0.15 -tol 0.001 -reset -n {N_FRAMES_DLY_PROFILE} {EP_FILE}"
MC_MODES = ["5_1", "5_1_2", "5_1_4", "7_1", "7_1_4"]
AMBISONICS_MODES = ["HOA3", "HOA2", "FOA", "PlanarHOA3", "PlanarHOA2", "PlanarFOA"]
TIMEOUT = 60 * 15 # timeout of 15 minutes per en/decoding to safeguard against endless loops

CONSOLE_OUT_FILE = "output_san.txt"

@@ -148,9 +149,8 @@ def run_check(in_format: str, out_formats: list, tests: list, run_fec: bool = Tr
        *md_file_command,
        "--usan_supp_file",
        USAN_SUPP_FILE,
        # timeout of 15 minutes per en/decoding to safeguard against endless loops
        "--timeout",
        60 * 15,
        str(TIMEOUT),
    ]

    print(
+3 −0
Original line number Diff line number Diff line
@@ -156,6 +156,8 @@
#define FIX_INV_DIFFUSE_WEIGHT                          /* Orange : Fix error in energy compensation in late binaural reverb*/
#define FIX_20_MS_FRAME_LEN_TABLES_CONVERTER            /* Orange : generate_tables_converter tools can generate rom for 5 and 20 ms frame length */
#define FIX_955_FASTCONV_REND_IN_ISM                    /* VA: put FastConv rendering call under DEBUGGING */
#define FIX_969_USAN_IGF_ARITH                          /* FhG: issue 969: fix USAN error in igf_sce_dec; same issue as #962 */
#define FIX_959_MASA_LINEAR_REND                        /* VA: issue 959: remove unused calling of ivas_sba_linear_renderer() in MASA rendering */

/* #################### End BE switches ################################## */

@@ -167,6 +169,7 @@
#define NONBE_FIX_AVG_IAC_CLDFB_REVERB                        /* Orange: Add computation avg energy and iac tables for rom and binaural binary file */
#define NONBE_FIX_922_PRECOMPUTED_HRTF_PROPERTIES             /* Philips: Use pre-computed HRTF average L/R energies and IAC in all renderers */
#define NONBE_FIX_935_EARLY_REFLECTIONS_WRONG_ORDER           /* Qualcomm: issue 953: fix order or ER channels in LC mode*/
#define NONBE_FIX_935_SBA_REVERB                              /* FhG: issue 935: fix MSAN error for SBA related to BINAURAL_ROOM_REVERB */
#define NONBE_FIX_952_MC_PARAMUPMIX_5MS                       /* Dlb : issue 952 : Differences between 5ms and 20ms rendering for ParamUpmix*/
#define NONBE_FIX_967_ISM_MONO_DMX                            /* FhG: issue 967: accumulating energies in ISM mono DMX */
#define NONBE_FIX_968_ISM_BRIR_WITH_HEADROTATION_5MS_FIX      /* FhG : issue #968: differences between 5ms and 20ms rendering for discrete ISM with BRIR and head rotation*/

lib_dec/igf_scf_dec.c

100644 → 100755
+10 −0
Original line number Diff line number Diff line
@@ -211,7 +211,12 @@ static void decode_sfe_vector(
       |    c b
       |      e  --> t
    */
#ifdef FIX_969_USAN_IGF_ARITH
    int16_t pred;
    uint16_t pred_tmp;
#else
    uint16_t pred;
#endif
    int16_t f, ctx, ctx_f, ctx_t;

    for ( f = 0; f < length; f++ )
@@ -221,7 +226,12 @@ static void decode_sfe_vector(
            if ( f == 0 )
            {
                /* decode one of the IGF_SYMBOLS_IN_TABLE == 27 alphabet symbols using the new raw AC function */
#ifdef FIX_969_USAN_IGF_ARITH
                ari_decode_14bits_s27_ext( st, &pred_tmp, &hPrivateData->acState, hPrivateData->cf_se00 );
                pred = (int16_t) pred_tmp;
#else
                ari_decode_14bits_s27_ext( st, &pred, &hPrivateData->acState, hPrivateData->cf_se00 );
#endif
                x[f] = pred << 2;
                x[f] += arith_decode_bits( &hPrivateData->acState, st, 2 ); /* LSBs as 2 bit raw */
            }
+4 −0
Original line number Diff line number Diff line
@@ -1138,6 +1138,7 @@ ivas_error ivas_jbm_dec_render(
        }
        else if ( st_ivas->ivas_format == MASA_FORMAT )
        {
#ifndef FIX_959_MASA_LINEAR_REND
            if ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_DEC )
            {
                *nSamplesRendered = min( st_ivas->hTcBuffer->n_samples_available, nSamplesAskedLocal );
@@ -1152,6 +1153,9 @@ ivas_error ivas_jbm_dec_render(
                }
            }
            else if ( st_ivas->renderer_type == RENDERER_DIRAC )
#else
            if ( st_ivas->renderer_type == RENDERER_DIRAC )
#endif
            {
                ivas_dirac_dec_render( st_ivas, nchan_remapped, nSamplesAskedLocal, nSamplesRendered, nSamplesAvailableNext, p_output );
            }
Loading