Commit 3672fa19 authored by Marek Szczerba's avatar Marek Szczerba
Browse files

Merge branch 'main' into '1019-socket-interface-for-pose-and-audio'

parents 2c20dd03 d97ec9ca
Loading
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -166,8 +166,6 @@
#endif

#define TMP_FIX_1119_SPLIT_RENDERING_VOIP               /* FhG: Add error check for unsupported config: split rendering with VoIP mode */


#define FIX_1209_SID_SIGNALING                          /* VA: issue 1209: remove dead code in IVAS SID signaling */


@@ -175,17 +173,14 @@

/* #################### Start NON-BE switches ############################ */


/* any switch which is non-be wrt selection floating point code */
/* all switches in this category should start with "NONBE_" */



#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_FIX_1212_TONAL_MDCT_CONCEALMENT           /* FhG: Fix issue 1212, zero IGF spec also in 1st concealed frame */


#define NONBE_1200_ISM_JBM_BRATE_SW_FLUSH               /* VA: issue 1200: fix bug in renderer flush in ISM JBM bitrate switching */
#define NONBE_FIX_1205_TD_STEREO_MOD_CT                 /* VA: fix mismatch of coder_type (mod_ct) btw. TD stereo encoder and decoder */
#define NONBE_1203_MDCT2DFT_SWITCHING                   /* VA: issue 1203: fix severe artifacts during MDCT to DFT stereo switching when MDCT ITD is not used */


/* ##################### End NON-BE switches ########################### */
+0 −1
Original line number Diff line number Diff line
@@ -251,7 +251,6 @@ void tdm_configure_dec(
    }

#ifdef DEBUG_MODE_TD
    dbgwrite( &mod_ct, 2, 1, 320, "res/mod_ct.dec" );
    dbgwrite( tdm_ratio_idx, 2, 1, 320, "res/tdm_ratio_idx.dec" );
    dbgwrite( &tdm_inst_ratio_idx, 2, 1, 320, "res/tdm_inst_ratio_idx.dec" );
    dbgwrite( &hStereoTD->tdm_lp_reuse_flag, 2, 1, 320, "res/tdm_lp_reuse_flag.dec" );
+22 −0
Original line number Diff line number Diff line
@@ -215,7 +215,18 @@ void ivas_decision_matrix_enc(
    if ( st->core == TCX_20_CORE && st->total_brate < STEREO_TCX_MIN_RATE )
    {
        st->core = ACELP_CORE;

#ifdef NONBE_FIX_1205_TD_STEREO_MOD_CT
        /* In TD stereo below 24.4 kbps we cannot overwrite the `coder_type` when it is set to TRANSITION, */
        /* as it is used for TD stereo bit allocation. To ensure consistent bit allocation, it must remain unchanged on the decoder side. */
        if ( st->idchan == 0 && !( element_brate <= IVAS_16k4 && st->coder_type == TRANSITION && st->element_mode == IVAS_CPE_TD ) )
        {
            st->coder_type = AUDIO;
        }
#else
        st->coder_type = AUDIO;
#endif

        st->sp_aud_decision2 = 0;

        if ( st->low_rate_mode )
@@ -465,6 +476,16 @@ void ivas_signaling_enc(

                if ( st->core == ACELP_CORE )
                {
#ifdef NONBE_FIX_1205_TD_STEREO_MOD_CT
                    /* write coder type */
                    push_indice( hBstr, IND_ACELP_SIGNALLING, st->coder_type, 3 );

                    if ( element_brate >= FRMT_SHP_MIN_BRATE_IVAS )
                    {
                        /* write sharpening flag */
                        push_indice( hBstr, IND_SHARP_FLAG, st->sharpFlag, 1 );
                    }
#else
                    if ( element_brate < FRMT_SHP_MIN_BRATE_IVAS )
                    {
                        push_indice( hBstr, IND_ACELP_SIGNALLING, st->coder_type, 3 );
@@ -477,6 +498,7 @@ void ivas_signaling_enc(
                        /* write sharpening flag */
                        push_indice( hBstr, IND_SHARP_FLAG, st->sharpFlag, 1 );
                    }
#endif

                    /* write extension layer flag to distinguish between TBE (0) and BWE (1) */
                    if ( st->extl_brate > 0 )
+14 −0
Original line number Diff line number Diff line
@@ -399,6 +399,9 @@ void stereo_td_itd_mdct_stereo(
    float bin_nrgR[STEREO_DFT_N_32k_ENC];
    float DFT[CPE_CHANNELS][STEREO_DFT_N_MAX_ENC];
    STEREO_MDCT_ENC_DATA_HANDLE hStereoMdct;
#ifdef NONBE_1203_MDCT2DFT_SWITCHING
    int16_t dft_ovl;
#endif

    if ( hCPE->hStereoMdct != NULL && hCPE->hStereoMdct->hItd != NULL )
    {
@@ -427,6 +430,17 @@ void stereo_td_itd_mdct_stereo(
        stereo_td_itd( hStereoMdct->hItd, NULL, 1, hStereoMdct->hDft_ana->dft_ovl, hCPE->hCoreCoder, input_frame, hCPE->input_mem );
#endif
    }
#ifdef NONBE_1203_MDCT2DFT_SWITCHING
    else if ( hCPE->input_mem[0] != NULL )
    {
        dft_ovl = STEREO_DFT_OVL_MAX * input_frame / L_FRAME48k;

        for ( i = 0; i < CPE_CHANNELS; i++ )
        {
            mvr2r( hCPE->hCoreCoder[i]->input + input_frame - dft_ovl, hCPE->input_mem[i], dft_ovl );
        }
    }
#endif

    return;
}
+3 −0
Original line number Diff line number Diff line
@@ -625,6 +625,9 @@ void stereo_switching_enc(
    dft_ovl = STEREO_DFT_OVL_MAX * input_frame / L_FRAME48k;

    /* update DFT analysis overlap memory */
#ifdef NONBE_1203_MDCT2DFT_SWITCHING
    /* note: in MDCT stereo, the update is done in stereo_td_itd_mdct_stereo() */
#endif
    if ( hCPE->element_mode > IVAS_CPE_DFT && hCPE->input_mem[0] != NULL && hCPE->element_mode != IVAS_CPE_MDCT )
    {
        for ( n = 0; n < CPE_CHANNELS; n++ )
Loading