Commit e86bb2d5 authored by vaclav's avatar vaclav
Browse files

Merge remote-tracking branch 'remotes/origin/main' into 1217-enable-object-edit-tests

parents 2352240e d621039d
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -274,6 +274,7 @@ stages:
    - if: $MANUAL_PIPELINE_TYPE == 'ivas-conformance-linux'
      when: never      
    - if: $MANUAL_PIPELINE_TYPE == 'check-clipping'
      when: never
    - if: $MANUAL_PIPELINE_TYPE == 'test-branch-vs-input-passthrough'
      when: never
    - when: on_success
@@ -1750,7 +1751,6 @@ test-branch-vs-input-passthrough:
      junit:
        - report-junit.xml


# ---------------------------------------------------------------
# Scheduled jobs on main
# ---------------------------------------------------------------
+2 −0
Original line number Diff line number Diff line
@@ -162,6 +162,8 @@
#define TMP_FIX_1119_SPLIT_RENDERING_VOIP               /* FhG: Add error check for unsupported config: split rendering with VoIP mode */
#define FIX_1228_SAMPLING_RATE_MISMATCH_IN_HRTF_FILE    /* VA: issue 1228: Exit the processing when a HRTF binary file with wrong sampling rate is provided */
#define FIX_1225_DISCLAIMER                             /* VA: issue 1225: Add disclaimer for external renderer + Add info about IVAS reference version */
#define FIX_1179_USAN_PHASEECU                          /* Eri: issue 1179:  better handling of 16 bit wrap around for very long(>200ms) FER-bursts   */
#define FIX_1249_REMOVE_OBSOLETE_ALLRAD_MATRIX          /* VA: issue 1249: remove obsolete code around ALLRAD decoder matrix */
#define FIX_1217_OBJECT_EDIT_FILE_INTERFACE             /* Nokia: issue #1217: add decoder functionality to read object edit instructions from a file */

/* #################### End BE switches ################################## */
+438 −145

File changed.

Preview size limit exceeded, changes collapsed.

+421 −630

File changed.

Preview size limit exceeded, changes collapsed.

+35 −1
Original line number Diff line number Diff line
@@ -2089,6 +2089,12 @@ static void hq_phase_ecu(

    if ( !prev_bfi || ( prev_bfi && *last_fec && ( *time_offs == output_frame ) ) )
    {
#ifdef FIX_1179_USAN_PHASEECU
        if ( !( prev_bfi && *last_fec && ( element_mode == EVS_MONO ) ) )
        {
            *time_offs = 0; /* IVAS reset of offset time counter, timeoffset variable later also used to calculate burst length */
        }
#else
        if ( prev_bfi && *last_fec && element_mode == EVS_MONO )
        {
            *time_offs += 0;
@@ -2097,22 +2103,46 @@ static void hq_phase_ecu(
        {
            *time_offs = 0;
        }
#endif

        trans_ana( prevsynth + 2 * output_frame - Lprot - *time_offs + ph_ecu_lookahead, mag_chg, &ph_dith, mag_chg_1st, output_frame, *time_offs, env_stab, *last_fec, alpha, beta, beta_mute, Xavg );
        spec_ana( prevsynth + 2 * output_frame - Lprot - *time_offs + ph_ecu_lookahead, plocs, plocsi, num_p, X_sav, output_frame, bwidth, element_mode, &noise_fac, pcorr );

        if ( prev_bfi && *last_fec )
        {
#ifdef FIX_1179_USAN_PHASEECU
            if ( element_mode != EVS_MONO )
            {
                *time_offs = (int16_t) ( *time_offs + output_frame ); /* USAN avoid risk of internal int32_t  in "+="  */
                if ( *time_offs <= 0 )
                {                                     /* detected wrap around  of st->time_offs */
                    *time_offs = (int16_t) INT16_MAX; /* keep a very high value so that the long term muting stays on */
                }
            }
            else
            {
                *time_offs = (int16_t) ( *time_offs + output_frame ); /* EVS_MONO BE compatible, but EVS CR needed as wrap will cause burst length muting envelope instability issues */
            }
#else
            *time_offs += output_frame;
#endif
        }
    }
    else
    {
#ifdef FIX_1179_USAN_PHASEECU
        *time_offs = (int16_t) ( *time_offs + output_frame ); /* cast added for USAN, "+=" avoided as it may creat a truncation from int to int16_t  */
#else
        *time_offs += output_frame;
#endif
        if ( *time_offs <= 0 )
        {
            /* detect wrap around  of st->time_offs */
            *time_offs = MAX16B; /* continued muting will ensure that the now fixed seeds are not creating tones */
#ifdef FIX_1179_USAN_PHASEECU
            *time_offs = (int16_t) INT16_MAX; /* high value --> continued muting will ensure that the now saturated  seed is not creating tones */
#else
            *time_offs = MAX16B;
#endif
        }

        trans_ana( prevsynth + 2 * output_frame - Lprot, mag_chg, &ph_dith, mag_chg_1st, output_frame, *time_offs, env_stab, 0, alpha, beta, beta_mute, Xavg ); /* 1.0 stable-music,  0.0 speech-like */
@@ -2124,7 +2154,11 @@ static void hq_phase_ecu(
    seed = *time_offs;
    if ( *num_p > 0 )
    {
#ifdef FIX_1179_USAN_PHASEECU
        seed = (int16_t) ( seed + plocs[*num_p - 1] ); /* explicit cast and "+="  not used,  as it "+="  may create a cast from 32 bit to 16 bit, triggering USAN   */
#else
        seed += plocs[*num_p - 1];
#endif
    }

    subst_spec( plocs, plocsi, num_p, *time_offs, X, mag_chg, ph_dith, old_is_transient, output_frame, &seed, alpha, beta, *beta_mute, Xavg, element_mode, ph_ecu_lookahead, noise_fac );
Loading