Commit f5c02a7c authored by vaclav's avatar vaclav
Browse files

- Merge remote-tracking branch 'remotes/origin/main' into 1217-ci-add-test-cases-for-object-editing

parents bf5f8377 8c23f415
Loading
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -203,6 +203,9 @@ ivas_error pre_proc_front_ivas(
    const int16_t front_vad_dtx_flag,                           /* i  : front-VAD DTX flag to overwrite VAD decision*/
    const IVAS_FORMAT ivas_format,                              /* i  : IVAS format                                */
    const int16_t MCT_flag,                                     /* i  : hMCT handle allocated (1) or not (0)       */
#ifdef NONBE_1211_DTX_BR_SWITCHING
    const int32_t last_ivas_total_brate,                        /* i  : last IVAS total bitrate                    */
#endif
    const int32_t ivas_total_brate                              /* i  : IVAS total bitrate                         */
);

+1 −0
Original line number Diff line number Diff line
@@ -172,6 +172,7 @@

#define NONBE_FIX_1176_OSBA_REVERB_JBM_ASAN_ERROR       /* Ericsson: Issue 1176, fix in TDREND_firfilt for subframes shorter than the filter length */
#define NONBE_1240_FIX_CORE_SELECTION_ISM_SW            /* VA: issue 1240: Remove the forcing of the TCX core in ISM when switching from a high bitarte to a low one */
#define NONBE_1211_DTX_BR_SWITCHING                     /* VA: issue 1211: fix crash in MASA DTX bitrate switching */
#define NONBE_1217_INIT_OBJ_EDIT                        /* VA: issue 1217: do object editing only when objects metadata is available */

/* ##################### End NON-BE switches ########################### */
+5 −2
Original line number Diff line number Diff line
@@ -3919,6 +3919,9 @@ void td_cng_enc_init(

void dtx(
    Encoder_State *st, /* i/o: encoder state structure                     */
#ifdef NONBE_1211_DTX_BR_SWITCHING
    const int32_t last_ivas_total_brate, /* i  : last IVAS total bitrate                */
#endif
    const int32_t ivas_total_brate, /* i  : IVAS total bitrate                          */
    const int16_t vad,              /* i  : VAD flag for DTX                            */
    const float speech[]            /* i  : Pointer to the speech frame                 */
+6 −0
Original line number Diff line number Diff line
@@ -310,7 +310,13 @@ void amr_wb_enc(
    {
        st->fd_cng_reset_flag = 0;
    }

#ifdef NONBE_1211_DTX_BR_SWITCHING
    dtx( st, -1, -1, vad_flag_dtx, inp );
#else
    dtx( st, -1, vad_flag_dtx, inp );
#endif

    /*----------------------------------------------------------------*
     * Noise energy down-ward update and total noise energy estimation
     * Long-term energies and relative frame energy updates
+28 −1
Original line number Diff line number Diff line
@@ -79,6 +79,9 @@ static void update_SID_cnt( DTX_ENC_HANDLE hDtxEnc, const int32_t core_brate, co

void dtx(
    Encoder_State *st, /* i/o: encoder state structure            */
#ifdef NONBE_1211_DTX_BR_SWITCHING
    const int32_t last_ivas_total_brate, /* i  : last IVAS total bitrate            */
#endif
    const int32_t ivas_total_brate, /* i  : IVAS total bitrate                 */
    const int16_t vad,              /* i  : VAD flag for DTX                   */
    const float speech[]            /* i  : Pointer to the speech frame        */
@@ -87,17 +90,31 @@ void dtx(
    float alpha;
    DTX_ENC_HANDLE hDtxEnc = st->hDtxEnc;
    int16_t last_br_cng_flag, last_br_flag, br_dtx_flag;
#ifdef NONBE_1211_DTX_BR_SWITCHING
    int32_t total_brate_ref;

    total_brate_ref = st->total_brate;
#endif

    if ( st->dtx_sce_sba != 0 )
    {
        last_br_cng_flag = 1;
        last_br_flag = 1;
#ifndef NONBE_1211_DTX_BR_SWITCHING
        br_dtx_flag = 1;
#endif
    }
    else
    {
        last_br_cng_flag = st->last_total_brate_cng <= MAX_BRATE_DTX_EVS || st->lp_noise < 15 || ( st->element_mode == IVAS_SCE && st->last_total_brate_cng <= MAX_BRATE_DTX_IVAS );
#ifdef NONBE_1211_DTX_BR_SWITCHING
        last_br_flag = ( st->element_mode == EVS_MONO && st->last_total_brate <= MAX_BRATE_DTX_EVS ) ||
                       ( st->element_mode != EVS_MONO && last_ivas_total_brate <= MAX_BRATE_DTX_IVAS ) ||
                       st->lp_noise < 15;
#else
        last_br_flag = st->last_total_brate <= MAX_BRATE_DTX_EVS || st->lp_noise < 15 || ( st->element_mode == IVAS_SCE && st->last_total_brate <= MAX_BRATE_DTX_IVAS );
        br_dtx_flag = 0;
#endif
    }

    /* Initialization */
@@ -142,6 +159,7 @@ void dtx(
             last_br_flag )
        {
            st->total_brate = st->last_total_brate;

            if ( !( st->total_brate == ACELP_7k20 && st->Opt_SC_VBR ) )
            {
                st->Opt_SC_VBR = 0;
@@ -170,6 +188,9 @@ void dtx(
     * Select SID or FRAME_NO_DATA frame if DTX is enabled
     *------------------------------------------------------------------------*/

#ifdef NONBE_1211_DTX_BR_SWITCHING
    br_dtx_flag = 1;
#endif
    if ( st->dtx_sce_sba == 0 )
    {
        br_dtx_flag = ( st->element_mode == EVS_MONO && st->total_brate <= MAX_BRATE_DTX_EVS ) ||
@@ -258,6 +279,12 @@ void dtx(
            reset_indices_enc( st->hBstr, st->hBstr->nb_ind_tot );
        }
    }
#ifdef NONBE_1211_DTX_BR_SWITCHING
    else if ( st->element_mode != EVS_MONO )
    {
        st->total_brate = total_brate_ref;
    }
#endif

    /*------------------------------------------------------------------------*
     * Reset counters when in active frame (neither SID nor FRAME_NO_DATA frame)
Loading