Commit 6fbbc600 authored by Adam Mills's avatar Adam Mills
Browse files

Merge branch 'adding-new-tests-to-improve-code-coverage-and-fix-santizer-issues' into 'main'

[Non-BE] Adding new tests to improve SBA code coverage and fix sanitiser issues in SPAR to MASA conversion

See merge request !1124
parents cf71997e 34ab85ed
Loading
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -158,6 +158,9 @@
#define ROM_TO_RAM                                     /*Dlb : ROM optimization in SR mode*/     
#define FIX_712_713_SPLIT_REND_MASA_MC                 /*Dlb : Fix for issue 712 and 713*/
#endif
#define REMOVE_UNUSED_FUNCTION                          /* Dlb: Remove functions that are unhit/unused */
#define FIX_MSAN_USAN_ERROR_JBM                         /* Dlb: Resolve MSAN and USAN errors in the SBA-JBM test case added*/


#define FIX_818_DOUBLE_PREC_KERNEL_SW                   /* FhG: Issue 818: Avoid double precision in kernel switching */
#define FIX_822_REFACTOR_BIN_REVERB_OPEN                /* Nokia: Addresses first step of issue 822 by refactoring ivas_binaural_reverb_open */
+4 −0
Original line number Diff line number Diff line
@@ -1615,7 +1615,11 @@ void ivas_spar_param_to_masa_param_mapping(
    for ( slot_idx = 0; slot_idx < hSpar->subframe_nbslots[subframe]; slot_idx++ )
    {
        sf = hSpar->render_to_md_map[slot_idx + slot_idx_start] / JBM_CLDFB_SLOTS_IN_SUBFRAME;
#ifndef FIX_MSAN_USAN_ERROR_JBM
        if ( subframe < SPAR_META_DELAY_SUBFRAMES )
#else
        if ( ( sf < SPAR_META_DELAY_SUBFRAMES ) )
#endif
        {
            mixer_mat_index = sf + MAX_PARAM_SPATIAL_SUBFRAMES - SPAR_META_DELAY_SUBFRAMES + 1;
            for ( band = 0; band < SPAR_DIRAC_SPLIT_START_BAND; band++ )
+4 −1
Original line number Diff line number Diff line
@@ -205,8 +205,11 @@ int16_t JB4_JMF_PushPacket(
        h->lastRtpTimeStamp = rtpTimeStamp;
        return 0;
    }

#ifndef FIX_MSAN_USAN_ERROR_JBM
    rtpTimeDiff = rtpTimeStamp - h->lastRtpTimeStamp;
#else
    rtpTimeDiff = (int32_t) ( rtpTimeStamp - h->lastRtpTimeStamp );
#endif
    sysTimeDiff = sysTime - h->lastSysTime;
    offset = sysTime - rtpTimeStamp;

+5 −0
Original line number Diff line number Diff line
@@ -1254,6 +1254,11 @@ networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP HOA3 32 netsimoutput testv/stv3OA32c.wav_SBA_80000_32-32_HOA3_JBM5.tst

// SBA at 13.2 kbps, 48kHz in, 48kHz out, BINAURAL out, JBM Prof 5
../IVAS_cod -sba 1 13200 48 testv/stvFOA48c.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP BINAURAL 48 netsimoutput testv/stvFOA32c.wav_SBA_13200_48-48_BINAURAL_JBM5.tst

// Multi-channel 5_1 at 384 kbps, 48kHz in, 48kHz out, 7_1_4 out, JBM Prof 5
../IVAS_cod -mc 5_1 384000 48 testv/stv51MC48c.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
+10 −7
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ ivas_br_FOA = [
]
ivas_br_HOA2 = ["256000", "384000", "512000"]
ivas_br_HOA3 = ["256000", "384000", "512000"]

SID_list = [0, 1]
sample_rate_list = ["48", "32", "16"]
bypass_list = [1, 2]
gain_list = [0, 1]
@@ -162,6 +162,7 @@ def test_bypass_enc(
@pytest.mark.parametrize("tag", tag_list)
@pytest.mark.parametrize("fs", sample_rate_list)
@pytest.mark.parametrize("gain_flag", gain_list)
@pytest.mark.parametrize("SID", SID_list)
def test_sba_enc_system(
    dut_encoder_frontend: EncoderFrontend,
    dut_decoder_frontend: DecoderFrontend,
@@ -178,17 +179,19 @@ def test_sba_enc_system(
    tag,
    fs,
    gain_flag,
    SID,
):
    SID = 0

    if dtx == "1" and ivas_br not in ["13200", "16400", "24400", "32000", "64000"]:
        # skip high bitrates for DTX until DTX issue is resolved
        pytest.skip()
    if ivas_br == "sw_24k4_256k.bin" and gain_flag != 1:
    if SID == 1:
        if ivas_br not in ["13200", "16400", "64000"] or fs == "16" or gain_flag == 1 or dtx == "0":
            pytest.skip()
    if ivas_br == "13200" or ivas_br == "16400":
        if dtx == "1" and gain_flag == 0 and fs != "16":
            SID = 1
    else:
        if ivas_br in ["13200","16400"]:
            pytest.skip()
    if ivas_br == "sw_24k4_256k.bin" and gain_flag != 1:
        pytest.skip()
    if gain_flag == 1 and ivas_br not in ["13200", "16400", "24400", "32000"]:
        pytest.skip()