Commit 1a422ce0 authored by Ripinder Singh's avatar Ripinder Singh
Browse files
Merge branch 'main' of ssh://forge.3gpp.org:29419/ivas-codec-pc/ivas-codec into 1154-add-rtpdump-support
parents ec0b8eeb d8321cbb
Loading
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -145,7 +145,7 @@ workflow:
    - make clean
    - make -j CLANG=$CLANG_NUM
    - testcase_timeout=$SELFTEST_SANITY_TIMEOUT
    - export UBSAN_OPTIONS=suppressions=scripts/ubsan.supp,report_error_type=1
    - export UBSAN_OPTIONS=suppressions=scripts/ubsan.supp,report_error_type=1,print_stacktrace=1

    - exit_code20=0
    - exit_code10=0
@@ -608,7 +608,7 @@ renderer-usan:
  variables:
    SANITIZER_BUILD_STRING: "usan"
  script:
    - UBSAN_OPTIONS=suppressions=scripts/ubsan.supp,report_error_type=1 python3 -m pytest -q --tb=no -n auto --html=report.html --self-contained-html --junit-xml=report-junit.xml tests/renderer/test_renderer.py tests/split_rendering/test_split_rendering.py --testcase_timeout=$testcase_timeout
    - UBSAN_OPTIONS=suppressions=scripts/ubsan.supp,report_error_type=1,print_stacktrace=1 python3 -m pytest -q --tb=no -n auto --html=report.html --self-contained-html --junit-xml=report-junit.xml tests/renderer/test_renderer.py tests/split_rendering/test_split_rendering.py --testcase_timeout=$testcase_timeout
  artifacts:
    expose_as: "renderer usan result"

@@ -1488,6 +1488,8 @@ test-long-self-test:
  stage: compare
  resource_group: ivas-long-self-test-resource
  timeout: "50 minutes"
  tags:
    - ivas-linux-fast
  rules:
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'test-long-self-test'
  allow_failure:
@@ -2234,7 +2236,9 @@ sanitizer-test-osba-planar-hoa3-ism4:
    expire_in: 1 week

coverage-merge:
  extends: .rules-main-scheduled
  extends: 
    - .rules-main-scheduled
    - .test-job-linux-needs-testv-dir
  tags:
    - ivas-linux-fast
  stage: test
+3 −0
Original line number Diff line number Diff line
@@ -185,6 +185,9 @@

#define NONBE_1412_AVOID_ROUNDING_AZ_ELEV              /* FhG:  Avoid rounding when passing azimuth and elevation to efap_determine_gains() */
#define NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG       /* FhG: Fix MDCT-Stereo comfort noise for certain noise types */
#define NONBE_FIX_NONBE_BETWEEN_OPTIMIZATION_LEVELS    /* FhG: fix non-BE in DFT stereo encoder between optimization levels */

/*#define NONBE_1324_TC_BUFFER_MEMOERY_KEEP*/               /* VA: issue 1324: do not reset TSM memory in JBM bitrate switching */

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

+12 −0
Original line number Diff line number Diff line
@@ -2284,13 +2284,16 @@ ivas_error ivas_jbm_dec_tc_buffer_reconfigure(
    const int16_t n_samples_granularity     /* i  : new granularity of the renderer/buffer  */
)
{
#ifdef NONBE_1324_TC_BUFFER_MEMOERY_KEEP
    int16_t ch_idx, num_tc_buffer_mem, n_samples_still_available;
    float tc_buffer_mem[MAX_INTERN_CHANNELS][L_FRAME48k / MAX_PARAM_SPATIAL_SUBFRAMES - 1];
#endif
    ivas_error error;
    DECODER_TC_BUFFER_HANDLE hTcBuffer;

    hTcBuffer = st_ivas->hTcBuffer;

#ifdef NONBE_1324_TC_BUFFER_MEMOERY_KEEP
    num_tc_buffer_mem = 0;
    n_samples_still_available = 0;

@@ -2309,6 +2312,7 @@ ivas_error ivas_jbm_dec_tc_buffer_reconfigure(
        }
    }

#endif
    /* if granularity changes, adapt subframe_nb_slots */
    if ( n_samples_granularity != hTcBuffer->n_samples_granularity )
    {
@@ -2348,6 +2352,12 @@ ivas_error ivas_jbm_dec_tc_buffer_reconfigure(
    hTcBuffer->nchan_buffer_full = nchan_full;
    hTcBuffer->n_samples_granularity = n_samples_granularity;

#ifndef NONBE_1324_TC_BUFFER_MEMOERY_KEEP
#ifdef DEBUGGING
    /* what is remaining from last frames needs always be smaller than n_samples_granularity */
    assert( ( hTcBuffer->n_samples_buffered - hTcBuffer->n_samples_rendered ) < n_samples_granularity );
#endif
#endif
    /* reallocate TC audio buffers */

    ivas_jbm_dec_tc_audio_deallocate( hTcBuffer );
@@ -2357,12 +2367,14 @@ ivas_error ivas_jbm_dec_tc_buffer_reconfigure(
        return error;
    }

#ifdef NONBE_1324_TC_BUFFER_MEMOERY_KEEP
    /* propagate samples of the TC buffer from the previous frame */
    for ( ch_idx = 0; ch_idx < num_tc_buffer_mem; ch_idx++ )
    {
        mvr2r( tc_buffer_mem[ch_idx], hTcBuffer->tc_buffer_old[ch_idx], n_samples_still_available );
    }

#endif
    return IVAS_ERR_OK;
}

+12 −0
Original line number Diff line number Diff line
@@ -1316,12 +1316,24 @@ void stereo_dft_enc_process(

        if ( hStereoDft->hItd->deltaItd[k_offset] != 0 && hStereoDft->hConfig->dmx_active )
        {
#ifdef NONBE_FIX_NONBE_BETWEEN_OPTIMIZATION_LEVELS
            /* Note: this variable is used as an in-between step when passing the angle to the trig functions.
             *       this keeps the compilter from applying optimizations at higher optimizaton levels which can break bit-exactness */
            volatile float alpha_tmp;
#endif
            /*time shift channels*/
            alpha = -2.0f * EVS_PI * hStereoDft->hItd->deltaItd[k_offset] / hStereoDft->NFFT;
            c = 1.f; /*cos(0)*/
            s = 0.f; /*sin(0)*/
#ifdef NONBE_FIX_NONBE_BETWEEN_OPTIMIZATION_LEVELS

            alpha_tmp = alpha;
            c1 = cosf( alpha_tmp );
            s1 = sinf( alpha_tmp );
#else
            c1 = cosf( alpha );
            s1 = sinf( alpha );
#endif

            if ( alpha >= 0 )
            {