diff --git a/lib_com/options.h b/lib_com/options.h index 5fe239eddf0c844e3fed675fcb45ba2e2532f3e3..89f4a28754b9cb65f2323474f1e80cc67f414471 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -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 */ diff --git a/lib_dec/ivas_masa_dec.c b/lib_dec/ivas_masa_dec.c index 14db7fadf49b0281767da513c546ebb0d23eb87f..b9fffea5802b6b150c1b3d3ea0d48932e6b7fef0 100644 --- a/lib_dec/ivas_masa_dec.c +++ b/lib_dec/ivas_masa_dec.c @@ -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++ ) diff --git a/lib_dec/jbm_jb4_jmf.c b/lib_dec/jbm_jb4_jmf.c index 85e9980e6ef8b11a2306f70f228227185034cfd0..4e43650904f52fc62193a798b8c99853de4a38aa 100644 --- a/lib_dec/jbm_jb4_jmf.c +++ b/lib_dec/jbm_jb4_jmf.c @@ -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; diff --git a/scripts/config/self_test.prm b/scripts/config/self_test.prm index 62a3cd044b1b0f2dadb6a8189bf91d49aba66559..dbe2abf1312d544ec8d919539d7c2c8c4f866fbb 100644 --- a/scripts/config/self_test.prm +++ b/scripts/config/self_test.prm @@ -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 diff --git a/tests/codec_be_on_mr_nonselection/test_sba_bs_enc.py b/tests/codec_be_on_mr_nonselection/test_sba_bs_enc.py index d175e1583d4f5bfb2318ef484d1ff93b4c319e3c..a02865410e178aa9094abe3cf7701fab20ee95ba 100644 --- a/tests/codec_be_on_mr_nonselection/test_sba_bs_enc.py +++ b/tests/codec_be_on_mr_nonselection/test_sba_bs_enc.py @@ -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,18 +179,20 @@ 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 SID == 1: + if ivas_br not in ["13200", "16400", "64000"] or fs == "16" or gain_flag == 1 or dtx == "0": + pytest.skip() + else: + if ivas_br in ["13200","16400"]: + pytest.skip() if ivas_br == "sw_24k4_256k.bin" and gain_flag != 1: pytest.skip() - if ivas_br == "13200" or ivas_br == "16400": - if dtx == "1" and gain_flag == 0 and fs != "16": - SID = 1 - else: - pytest.skip() if gain_flag == 1 and ivas_br not in ["13200", "16400", "24400", "32000"]: pytest.skip() tag = tag + fs + "c"