Commit 3f154333 authored by Archit Tamarapu's avatar Archit Tamarapu
Browse files

Merge branch 'main' of forge.3gpp.org:ivas-codec-pc/ivas-codec into...

Merge branch 'main' of forge.3gpp.org:ivas-codec-pc/ivas-codec into 935-msan-error-in-sba-decoding-to-binaural_room_reverb
parents 85747dc6 e8ae579a
Loading
Loading
Loading
Loading
Loading
+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(
+2 −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 ################################## */

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 );
            }
+4 −0
Original line number Diff line number Diff line
@@ -375,7 +375,11 @@ void ivas_renderer_select(
            {
                *internal_config = IVAS_AUDIO_CONFIG_HOA3;
            }
#ifdef FIX_959_MASA_LINEAR_REND
            *renderer_type = RENDERER_SBA_LINEAR_DEC;
#else
            st_ivas->renderer_type = RENDERER_SBA_LINEAR_DEC;
#endif
        }
        else if ( ( ivas_format == MASA_FORMAT && output_config == IVAS_AUDIO_CONFIG_MONO && st_ivas->nchan_transport == 1 ) ||
                  ( ivas_format == SBA_FORMAT && ( output_config == IVAS_AUDIO_CONFIG_STEREO || output_config == IVAS_AUDIO_CONFIG_MONO ) ) )
Loading