Commit c43e0f11 authored by Vladimir Malenovsky's avatar Vladimir Malenovsky
Browse files

Merge branch 'main' into 1093-ivas_error-calls-in-bitstream-c-use-global-variable-frame

parents 371cdac4 36b63cd5
Loading
Loading
Loading
Loading
Loading
+1 −12
Original line number Diff line number Diff line
@@ -602,8 +602,6 @@ pytest-compare-20ms-and-5ms-rendering:
    ### prepare pytest
    - cp IVAS_cod IVAS_cod_ref
    - cp IVAS_dec IVAS_dec_ref
    # create short test vectors
    - python3 tests/create_short_testvectors.py
    # create references
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 -m create_ref
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 -m create_ref_part2
@@ -920,8 +918,6 @@ ivas-pytest-on-merge-request:
    - if [ $ref_using_main == 0 ]; then git checkout $source_branch_commit_sha; fi

    ### prepare pytest
    # create short test vectors
    - python3 tests/create_short_testvectors.py
    # create references
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 -m create_ref
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 -m create_ref_part2
@@ -975,8 +971,6 @@ ivas-interop-on-merge-request:
    - non_interop_flag=$(grep -c --ignore-case "\[non[ -]*io\]" tmp.txt) || true

    ### prepare pytest
    # create short test vectors
    - python3 tests/create_short_testvectors.py

    # Run reference creation, using source branch encoder and main decoder (see .merge-request-comparison-setup-codec)
    - exit_code=0
@@ -1183,7 +1177,7 @@ check-bitexactness-hrtf-rom-and-file:
    - *print-common-info
    - cmake .
    - make -j
    - python3 tests/create_short_testvectors.py --which all --cut_len 1.0
    - python3 tests/create_short_testvectors.py --cut_len 1.0
    - python3 -m pytest tests/hrtf_binary_loading --html=report.html --junit-xml=report-junit.xml --self-contained-html
  artifacts:
    paths:
@@ -1300,8 +1294,6 @@ codec-comparison-on-main-push:
    - if [ $ref_using_main == 0 ]; then git checkout $latest_commit;fi

    ### prepare pytest
    # create short test vectors
    - python3 tests/create_short_testvectors.py
    # rename test binaries back
    - mv IVAS_cod_test IVAS_cod
    - mv IVAS_dec_test IVAS_dec
@@ -1385,7 +1377,6 @@ ivas-conformance:
    - cp -force IVAS_rend.exe IVAS_rend_ref.exe 
    
    # Reference creation
    - python tests/create_short_testvectors.py
    - python scripts/prepare_combined_format_inputs.py
    - $TEST_SET = "tests/codec_be_on_mr_nonselection", "tests/renderer/test_renderer.py", "tests/split_rendering/test_split_rendering.py"
    - python -m pytest $TEST_SET -v -n auto --update_ref 1 -m create_ref --create_ref --keep_files
@@ -1479,7 +1470,6 @@ ivas-conformance-linux:
    - cp IVAS_rend IVAS_rend_ref
    
    # Reference creation
    - python3 tests/create_short_testvectors.py
    - python3 scripts/prepare_combined_format_inputs.py
    - TEST_SET="tests/codec_be_on_mr_nonselection tests/renderer/test_renderer.py tests/split_rendering/test_split_rendering.py"
    - python3 -m pytest $TEST_SET -v -n auto --update_ref 1 -m create_ref --create_ref --keep_files
@@ -2237,7 +2227,6 @@ coverage-test-on-main-scheduled:
    - *copy-ltv-files-to-testv-dir
    - make GCOV=1 -j
    - cp IVAS_rend IVAS_rend_ref # Copy exec to be able to run renderer script
    - python3 tests/create_short_testvectors.py
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v -n auto --update_ref 1 -m create_ref --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v -n auto --update_ref 1 -m create_ref_part2 --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec
    # need to ignore non-zero exit codes as limiter is active and thus the different framesiszes will not be BE in all cases
+2 −2
Original line number Diff line number Diff line
@@ -58,8 +58,8 @@ 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 of 15 minutes per en/decoding to safeguard against endless loops
TIMEOUT = 60 * 20
# timeout of 25 minutes per en/decoding to safeguard against endless loops
TIMEOUT = 60 * 25
HEAD_TRAJ_FILE = str(pathlib.Path("./head_rot_traj.csv").resolve())
EXOF_TRAJ_FILE = str(pathlib.Path("./exof_traj.csv").resolve())

+2 −1
Original line number Diff line number Diff line
@@ -180,8 +180,9 @@
#define NONBE_FIX_1070_USAN_SEGFAULT_MC_TO_BIN_BTSW_HEADROT   /* fix 1070 USAN: nullptr-with-offset and Segfaults in 7_1_4 to BINAURAL and BINAURAL_ROOM_REVERB decoding with bitrate switching and head rotation*/ 
#define NONBE_FIX_MC_LFE_LPF                            /* Dlb: Adding the LFE LPF filter back for MC content. */
#define NONBE_FIX_1052_SBA_EXT                          /* Dlb: SBA external output support */
#define NONBE_FIX_1069_SVD_TUNING                       /* FhG: issue 1069: tune SVD constants */
#define NONBE_FIX_1087_OOB_SBA_DTX_RS                   /* VA: issue 1087: Extend the length of the buffer for MCT decoding to avoid out-of-bound writing in SBA SID bitrate switching decoding */

#define NONBE_FIX_1091_PMC_LOW_SIGNAL_BURSTS            /* FhG: fix for #1091, fix limit calculation for the regularized inverse of Kx to avoid bursts in very low signals */
#define NONBE_FIX_1074_NOBJ_SIGNAL_OMASA_LBR            /* Nok: issue 1074 fixing number of objects signaling in OMASA low rate */
/* ##################### End NON-BE switches ########################### */

+11 −1
Original line number Diff line number Diff line
@@ -51,6 +51,13 @@
#include "wmc_auto.h"
#include "rom_dec.h"

#ifdef NONBE_FIX_1091_PMC_LOW_SIGNAL_BURSTS
/*-----------------------------------------------------------------------*
 * Local constants
 *-----------------------------------------------------------------------*/

#define SQRT_EPSILON 3.16227755e-08 /* square root of EPSILON */
#endif

/*-------------------------------------------------------------------*
 * ivas_dirac_dec_output_synthesis_cov_open()
@@ -577,8 +584,11 @@ int16_t computeMixingMatrices(
     *-----------------------------------------------------------------*/

    maximum( svd_s_buffer, lengthCx, &limit );
#ifdef NONBE_FIX_1091_PMC_LOW_SIGNAL_BURSTS
    limit = (float) max( limit * reg_Sx, SQRT_EPSILON );
#else
    limit = limit * reg_Sx + EPSILON;

#endif
    for ( i = 0; i < lengthCx; ++i )
    {
        svd_s_buffer[i] = ( ( svd_s_buffer[i] > limit ) ? svd_s_buffer[i] : limit );
+7 −0
Original line number Diff line number Diff line
@@ -48,10 +48,17 @@
 *-----------------------------------------------------------------------*/

/* The SVD is sensitive to changes to the following constants, so please be careful when trying to tune things   */
#ifdef NONBE_FIX_1069_SVD_TUNING
#define SVD_MINIMUM_VALUE        1e-32f   /* minimum value                                                   */
#define CONVERGENCE_FACTOR       1.0e-04f /* factor for SVD convergence                                      */
#define SVD_MAX_NUM_ITERATION    75       /* maximum number of interations before exiting the SVD            */
#define SVD_ZERO_FLUSH_THRESHOLD 0.0f
#else
#define SVD_MINIMUM_VALUE        1e-32f          /* minimum value                                                   */
#define CONVERGENCE_FACTOR       1.19209290e-07f /* factor for SVD convergence                                      */
#define SVD_MAX_NUM_ITERATION    75              /* maximum number of interations before exiting the SVD            */
#define SVD_ZERO_FLUSH_THRESHOLD 1.0e-20f
#endif


/*-----------------------------------------------------------------------*
Loading