Commit e4447819 authored by fotopoulou's avatar fotopoulou
Browse files

Merge branch 'main' into float-1283-stereo-dft-collapsing-at-16-4-kbps

parents 2c1b21fe 6d597ff1
Loading
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -171,10 +171,9 @@
/* #################### Start NON-BE switches ############################ */
/* any switch which is non-be wrt. TS 26.258 V3.0 */
#define FIX_1465_SWB_TBE_RANDOM_VECTOR_CREATION         /* Dolby: issue 1465: Fix constant in create_random_vector() to allow more reliable fixed point port */

#define FIX_1283_STEREO_DFT_COLLAPSE                    /* FhG: issue 1283: fix for critical issue with DFT stereo core coder */

#define FIX_BASOP_2317_UNINIT_VALUE_IN_STEREO_CNG       /* Eri: Basop issue 2317: Uninitialized value read in case of DTX and BW switching   */
#define FIX_1500_ISM_MD_DTX                             /* VA: float issue 1500: fix ISM elevation metadata smoothing in DTX */
#define FIX_1283_STEREO_DFT_COLLAPSE                    /* FhG: issue 1283: fix for critical issue with DFT stereo core coder */

/* ##################### End NON-BE switches ########################### */

+5 −2
Original line number Diff line number Diff line
@@ -2980,11 +2980,14 @@ static void stereo_dft_enc_compute_prm(
    /*------------------------------------------------------------------*
     * Compute Side gains
     *-----------------------------------------------------------------*/

#ifdef FIX_BASOP_2317_UNINIT_VALUE_IN_STEREO_CNG
    mvr2r( pSideGain, hStereoDft->sidSideGain, STEREO_DFT_BAND_MAX ); /* Copy all sideGain values since BW change may be reverted during CNG */
#endif
    for ( b = 0; b < hStereoDft->nbands; b++ )
    {
#ifndef FIX_BASOP_2317_UNINIT_VALUE_IN_STEREO_CNG
        hStereoDft->sidSideGain[b] = *( pSideGain + b );

#endif
        /* Quantization */
        if ( flag_quant )
        {
+24 −18
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ REPRODUCE_REGRESSION_SCRIPT_TMPL = """
#!/bin/bash -x

SCRIPTS_DIR=/usr/local/scripts
REF_DIR=/usr/local/scripts # float main should be the same as the scripts folder from now on. Note that the user needs write access to this folder, so it could be a local clone for reproducing test cases
LTV_DIR=/usr/local/ltv

MIN_DATE={min_date}
@@ -26,36 +27,41 @@ DUT_DEC2={DUT_DEC2}

INV_LEVEL_SCALING=$(awk "BEGIN {{print 1.0 / $LEVEL_SCALING}}")

# Obtain executables from past reference
git checkout `git rev-list -1 --before="$MIN_DATE 22:00:00" ivas-float-update`
echo "ivas_float_update, min version: `git rev-parse HEAD`" > versions.txt
# Obtain reference executables from past reference
working_dir=$(pwd)
pushd $REF_DIR
git checkout `git rev-list -1 --before="$MIN_DATE 22:00:00" main`
echo "ivas-codec main, min version: `git rev-parse HEAD`" > $working_dir/versions.txt
make clean
make -j
mv IVAS_cod IVAS_cod_ref_1
mv IVAS_dec IVAS_dec_ref_1
mv IVAS_rend IVAS_rend_ref_1
mv IVAS_cod $working_dir/IVAS_cod_ref_1
mv IVAS_dec $working_dir/IVAS_dec_ref_1
mv IVAS_rend $working_dir/IVAS_rend_ref_1

# Obtain latest reference executables
git checkout main
git pull
echo "ivas-codec main, current version: `git rev-parse HEAD`" >> $working_dir/versions.txt
make clean
make -j
mv IVAS_cod $working_dir/IVAS_cod_ref_2
mv IVAS_dec $working_dir/IVAS_dec_ref_2
mv IVAS_rend $working_dir/IVAS_rend_ref_2

popd # Go back to ivas-basop folder in $working_dir

# Obtain cut executables from past reference
git checkout $MIN_SHA
echo "main, min version: `git rev-parse HEAD`" >> versions.txt
echo "BASOP main, min version: `git rev-parse HEAD`" >> versions.txt
make clean
make -j
mv IVAS_cod IVAS_cod_1
mv IVAS_dec IVAS_dec_1
mv IVAS_rend IVAS_rend_1

# Obtain latest executables
git checkout ivas-float-update
git pull
echo "ivas-float-update, current version: `git rev-parse HEAD`" >> versions.txt
make clean
make -j
mv IVAS_cod IVAS_cod_ref_2
mv IVAS_dec IVAS_dec_ref_2
mv IVAS_rend IVAS_rend_ref_2

git checkout main
git pull
echo "main, current version: `git rev-parse HEAD`" >> versions.txt
echo "BASOP main, current version: `git rev-parse HEAD`" >> versions.txt
make clean
make -j
mv IVAS_cod IVAS_cod_2
+9 −5
Original line number Diff line number Diff line
@@ -59,7 +59,9 @@ class SanitizerError:
        last_line = traceback.split("\n")[-1].strip()
        assert last_line.startswith(f"SUMMARY: {self.SUMMARY_ID}")
        m = re.match(
            r"SUMMARY: " + self.SUMMARY_ID + r": ([a-z-]*) (.*\/.*\.[ch]:\d+:\d+) in",
            r"SUMMARY: "
            + self.SUMMARY_ID
            + r": ([a-z-A-Z]+) (.*\/.*\.[ch]:\d+:\d+) in",
            last_line,
        )
        assert m is not None
@@ -198,8 +200,9 @@ def parse_errors_from_sysout(
        IN = 1

    pattern_usan = re.compile(r"(lib_.+|apps)\/(.*\.[ch]):(\d+):(\d+): runtime error:")
    pattern_usan_2 = re.compile(r"==\d+==ERROR: UndefinedBehaviorSanitizer: ")
    pattern_msan = re.compile(r" MemorySanitizer: ")
    pattern_asan = re.compile(r"==\d+==ERROR: .+Sanitizer: ")
    pattern_asan = re.compile(r"==\d+==ERROR: (Address|Leak)Sanitizer: ")

    state = ParserState.OUT
    accu = []
@@ -211,10 +214,11 @@ def parse_errors_from_sysout(
        line = line.strip()

        m_usan = re.search(pattern_usan, line)
        m_usan_2 = re.search(pattern_usan_2, line)
        m_msan = re.search(pattern_msan, line)
        m_asan = re.search(pattern_asan, line)

        usan_start_found = m_usan is not None
        usan_start_found = m_usan is not None or m_usan_2 is not None
        msan_start_found = m_msan is not None and not line.startswith("SUMMARY:")
        asan_start_found = m_asan is not None

@@ -227,9 +231,9 @@ def parse_errors_from_sysout(
            accu = []
            err_cls = (
                UsanError
                if m_usan is not None
                if usan_start_found
                else MsanError
                if m_msan is not None
                if msan_start_found
                else AsanError
            )