Commit 3967324e authored by Marek Szczerba's avatar Marek Szczerba
Browse files

Merge branch 'main' into 2078_basop_portFlpMR1564_aeIdFileTests

parents 81fc09c1 383e7f47
Loading
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -137,6 +137,9 @@
#define FIX_1053_REVERB_RECONFIGURATION
#define TMP_FIX_1119_SPLIT_RENDERING_VOIP               /* FhG: Add error check for unsupported config: split rendering with VoIP mode */
#define FIX_1113_EXTREND_ISAR                           /* FhG: issue 1113: fix external renderer asserts for FOA/HOA2 and CLDFB config */
#define NONBE_1203_MDCT2DFT_SWITCHING                   /* VA: issue 1203: fix severe artifacts during MDCT to DFT stereo switching when MDCT ITD is not used */
#define NONBE_1122_JBM_FIX_PLAYOUT_DELAY_IN_DTX         /* FhG: Avoid JBM ignoring safety margin and setting playout delay to 0 during DTX */
#define NONBE_1122_KEEP_EVS_MODE_UNCHANGED              /* FhG: Disables fix for issue 1122 in EVS mode to keep BE tests green. This switch should be removed once the 1122 fix is added to EVS via a CR.  */
#define FIX_938_COMPILER_WARNING                        /* FhG: Fix compiler warning in ivas_mdct_core_reconstruct() */
#define FIX_1376_MISSING_ISM_METADATA                   /* FhG: IVAS_rend: throw error if there exists an ISM input without a corresponding metadata file path */
#define FIX_1385_INIT_IGF_STOP_FREQ                     /* FhG: Initialize infoIGFStopFreq in init_igf_dec() */
+4 −0
Original line number Diff line number Diff line
@@ -86,6 +86,10 @@ void JB4_Destroy( JB4_HANDLE *ph );

ivas_error JB4_Init( JB4_HANDLE h, const Word16 safetyMargin );

#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED
void JB4_TMP_SetEvsCompatFlag( JB4_HANDLE h );
#endif

JB4_DATAUNIT_HANDLE JB4_AllocDataUnit( JB4_HANDLE h );

void JB4_FreeDataUnit( JB4_HANDLE h, JB4_DATAUNIT_HANDLE dataUnit );
+28 −0
Original line number Diff line number Diff line
@@ -198,6 +198,9 @@ struct JB4
    JB4_DATAUNIT_HANDLE freeMemorySlots[MAX_JBM_SLOTS];
    UWord16 nFreeMemorySlots;
    /*@} */
#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED
    bool evsMode;
#endif
}; /* JB4 */


@@ -323,6 +326,10 @@ ivas_error JB4_Create(
    }
    h->nFreeMemorySlots = MAX_JBM_SLOTS;
    move16();
#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED
    h->evsMode = false;
    move16();
#endif
    *ph = h;

    return IVAS_ERR_OK;
@@ -407,6 +414,13 @@ ivas_error JB4_Init(
    return IVAS_ERR_OK;
}

#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED
void JB4_TMP_SetEvsCompatFlag( JB4_HANDLE h )
{
    h->evsMode = true;
    move16();
}
#endif

/* Returns a memory slot to store a new data unit */
JB4_DATAUNIT_HANDLE JB4_AllocDataUnit(
@@ -760,11 +774,25 @@ static void JB4_targetPlayoutDelay(
    move32();
    move32();

#ifdef NONBE_1122_JBM_FIX_PLAYOUT_DELAY_IN_DTX
#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED
    IF( !h->evsMode )
    {
#endif
        *targetDtx = JB4_MAX( *targetDtx, (UWord32) h->safetyMargin );
        move32();
#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED
    }
#endif
    *targetStartUp = JB4_MAX( *targetStartUp, (UWord32) h->safetyMargin );
    move32();
#else
    if ( LT_64( *targetStartUp, 60 ) )
    {
        *targetStartUp = 60;
        move32();
    }
#endif

    return;
}
+7 −0
Original line number Diff line number Diff line
@@ -942,6 +942,13 @@ ivas_error IVAS_DEC_EnableVoIP(
        return IVAS_ERR_FAILED_ALLOC;
    }

#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED
    if ( EQ_16( hIvasDec->mode, IVAS_DEC_MODE_EVS ) )
    {
        JB4_TMP_SetEvsCompatFlag( hIvasDec->hVoIP->hJBM );
    }
#endif

    return IVAS_ERR_OK;
}

+19 −0
Original line number Diff line number Diff line
@@ -573,6 +573,10 @@ void stereo_td_itd_mdct_stereo_fx(
    Word16 DFT_e[CPE_CHANNELS];
    Word16 DFT_tmp_e[CPE_CHANNELS][STEREO_DFT_N_MAX_ENC];
    STEREO_MDCT_ENC_DATA_HANDLE hStereoMdct;
#ifdef NONBE_1203_MDCT2DFT_SWITCHING
    Word16 dft_ovl;
    Word16 sf;
#endif

    test();
    IF( hCPE->hStereoMdct != NULL && hCPE->hStereoMdct->hItd != NULL )
@@ -611,6 +615,21 @@ void stereo_td_itd_mdct_stereo_fx(
        /* Time Domain ITD compensation using extrapolation */
        stereo_td_itd_fx( hStereoMdct->hItd, NULL, NULL, 1, hStereoMdct->hDft_ana->dft_ovl, hCPE->hCoreCoder, input_frame, hCPE->input_mem_fx, hCPE->q_input_mem );
    }
#ifdef NONBE_1203_MDCT2DFT_SWITCHING
    ELSE IF( hCPE->input_mem_fx[0] != NULL )
    {
        dft_ovl = extract_l( Mpy_32_32( imult3216( input_frame, STEREO_DFT_OVL_MAX ), 2236963 ) ); // 1/L_FRAME48k = 2236963 (Q31)

        FOR( i = 0; i < CPE_CHANNELS; i++ )
        {
            sf = L_norm_arr( hCPE->hCoreCoder[i]->input32_fx + input_frame - dft_ovl, dft_ovl );
            Copy_Scale_sig32_16( hCPE->hCoreCoder[i]->input32_fx + input_frame - dft_ovl, hCPE->input_mem_fx[i], dft_ovl, sf );
            hCPE->q_input_mem[i] = sub( add( hCPE->hCoreCoder[i]->q_inp32, sf ), 16 );
            move16();
        }
    }
#endif


    return;
}
Loading