Commit ef77e4e4 authored by PLAINSI's avatar PLAINSI
Browse files

Merge branch 'main' into 891-paramupmix-cleanup

parents 0dbeb47b 5924d993
Loading
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -199,6 +199,9 @@ ivas_error pre_proc_front_ivas(
    const int16_t force_front_vad,                              /* i  : flag to force VAD decision                 */
    const int16_t front_vad_dtx_flag,                           /* i  : front-VAD DTX flag to overwrite VAD decision*/
    const IVAS_FORMAT ivas_format,                              /* i  : IVAS format                                */
#ifdef NONBE_FIX_788_SBA_DTX_BR_SWITCHING
    const int16_t MCT_flag, /* i  : hMCT handle allocated (1) or not (0)    */
#endif
    const int32_t ivas_total_brate                              /* i  : IVAS total bitrate                         */
);

+2 −0
Original line number Diff line number Diff line
@@ -160,6 +160,8 @@
/* any switch which is non-be wrt selection floating point code */
/* all switches in this category should start with "NONBE_" */


#define NONBE_FIX_788_SBA_DTX_BR_SWITCHING                    /* VA: issue 787: fix Msan error in SBA BR switching with dtx in FOA encoding */
#define NONBE_FIX_856_TCX_LTP_SYNTH_FILTER                    /* FhG: issue 856: correct filtering length for tcx-ltp synth filtering*/
#define NONBE_UNIFIED_DECODING_PATHS                          /* FhG: unify decoding paths   */
#define NONBE_FIX_874_OMASA_BRSW_2TD                          /* Nokia: issue 874: Fixes the crashes with the long test vectors that prompted switching to TD*/

lib_enc/init_enc.c

100644 → 100755
+3 −0
Original line number Diff line number Diff line
@@ -100,6 +100,9 @@ ivas_error init_encoder(
    st->low_rate_mode = 0;
    st->ini_frame = 0;
    st->inactive_coder_type_flag = 0;
#ifdef NONBE_FIX_788_SBA_DTX_BR_SWITCHING
    st->sba_br_sw_while_no_data = 0;
#endif

    st->coder_type_raw = VOICED;
    st->last_coder_type_raw = st->coder_type_raw;
+6 −1
Original line number Diff line number Diff line
@@ -282,8 +282,13 @@ ivas_error pre_proc_ivas(
        st->hTcxEnc->tfm_mem = 0.75f;
    }
    else if ( element_brate != last_element_brate )
    {
#ifdef NONBE_FIX_788_SBA_DTX_BR_SWITCHING
        if ( st->core_brate != FRAME_NO_DATA )
#endif
        {
            SetModeIndex( st, st->bits_frame_nominal * FRAMES_PER_SEC, element_mode, MCT_flag );
        }

        if ( st->extl != -1 && st->extl != IGF_BWE && st->igf == 1 )
        {
+20 −1
Original line number Diff line number Diff line
@@ -108,6 +108,9 @@ ivas_error pre_proc_front_ivas(
    const int16_t force_front_vad,                             /* i  : flag to force VAD decision               */
    const int16_t front_vad_dtx_flag,                          /* i  : front-VAD DTX flag to overwrite VAD decision*/
    const IVAS_FORMAT ivas_format,                             /* i  : IVAS format                              */
#ifdef NONBE_FIX_788_SBA_DTX_BR_SWITCHING
    const int16_t MCT_flag, /* i  : hMCT handle allocated (1) or not (0)    */
#endif
    const int32_t ivas_total_brate /* i  : IVAS total bitrate - for setting the DTX */
)
{
@@ -183,7 +186,11 @@ ivas_error pre_proc_front_ivas(
        st = hSCE->hCoreCoder[n];
        signal_in = hSCE->hCoreCoder[n]->input;
        element_mode = IVAS_SCE;
#ifdef NONBE_FIX_788_SBA_DTX_BR_SWITCHING
        last_element_brate = hSCE->last_element_brate;
#else
        last_element_brate = hSCE->element_brate; /*  hack - the past parameter is not really needed */
#endif
        hStereoClassif = NULL;
        lr_vad_enabled = 0;
    }
@@ -780,6 +787,18 @@ ivas_error pre_proc_front_ivas(
        /* SNR-based speech/music classification */
        if ( ( element_mode >= IVAS_CPE_DFT && element_brate >= IVAS_24k4 ) || ( element_mode == IVAS_SCE && element_brate >= SCE_SMC_THR ) )
        {
#ifdef NONBE_FIX_788_SBA_DTX_BR_SWITCHING
            if ( ivas_format == SBA_FORMAT && st->core_brate != FRAME_NO_DATA && st->last_core_brate == FRAME_NO_DATA && st->sba_br_sw_while_no_data )
            {
                SetModeIndex( st, st->bits_frame_nominal * FRAMES_PER_SEC, element_mode, MCT_flag );
                st->sba_br_sw_while_no_data = 0;
            }
            else if ( ivas_format == SBA_FORMAT && st->core_brate == FRAME_NO_DATA && element_brate != last_element_brate )
            {
                st->sba_br_sw_while_no_data = 1;
            }
#endif

            if ( flag_16k_smc )
            {
                /* Compute core-coder buffers at internal sampling rate */
Loading