Commit 3def61fc authored by vaclav's avatar vaclav
Browse files
parents 7660e8bf 2c839ccc
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -202,6 +202,7 @@
#define NONBE_FIX_738_SBA_BR_SW_ASAN                          /* FhG: issue 738: fixes bug when switching to an MCT bitrate and previous frame was ACELP */
#define NONBE_CR_FIX_735_SBA_HP20_BRATE_SWITCHING             /* VA: Issue 735: Resolve "HP20 filtering bug in SBA/OSBA bitrate switching" */
#define NONBE_FIX_588_UPDATE_FASTCONV_SD                      /* FhG: issue 588: update FastConv SD HRTFs in CLDFB domain with new conversion method */
#define NONBE_FIX_778_TNS_UNFIED_STEREO_MSAN                  /* FhG: Issue 778: MSAN error due to uninitialized TNS configuration */


/* ##################### End NON-BE switches ########################### */
+1 −2
Original line number Diff line number Diff line
@@ -95,8 +95,7 @@ void stereo_tcx_init_dec(
    hTcxDec->tcx_lpc_shaped_ari = getTcxLpcShapedAri( st->bits_frame_nominal * FRAMES_PER_SEC, st->rf_flag, st->element_mode );
    st->igf = getIgfPresent( st->element_mode, st->bits_frame_nominal * FRAMES_PER_SEC, st->bwidth, st->rf_flag );

    if (
        st->element_mode != EVS_MONO )
    if ( st->element_mode != EVS_MONO )
    {
        st->hTcxCfg->fIsTNSAllowed = getTnsAllowed( st->bits_frame_nominal * FRAMES_PER_SEC, st->igf, st->element_mode );
    }
+0 −9
Original line number Diff line number Diff line
@@ -173,15 +173,6 @@ void stereo_mdct_core_enc(
    sts[0]->hTcxEnc->tfm_mem = sts[1]->hTcxEnc->tfm_mem = sqrtf( 0.5f * ( sts[0]->hTcxEnc->tfm_mem * sts[0]->hTcxEnc->tfm_mem + sts[1]->hTcxEnc->tfm_mem * sts[1]->hTcxEnc->tfm_mem ) ); /* RMS */
    sts[0]->hTcxEnc->tcxltp_norm_corr_past = sts[1]->hTcxEnc->tcxltp_norm_corr_past = 0.5f * ( sts[0]->hTcxEnc->tcxltp_norm_corr_past + sts[1]->hTcxEnc->tcxltp_norm_corr_past );


#if 0
    if ( sts[0]->bits_frame_channel + sts[1]->bits_frame_channel - meta_bits < 495 )
    {
        sts[0]->hTranDet->transientDetector.bIsAttackPresent = 0;
        sts[1]->hTranDet->transientDetector.bIsAttackPresent = 0;
    }
#endif

    for ( ch = 0; ch < CPE_CHANNELS; ch++ )
    {
        st = sts[ch];
+14 −0
Original line number Diff line number Diff line
@@ -54,6 +54,9 @@ void stereo_tcx_init_enc(
    Encoder_State *st /* i/o: encoder state structure */
)
{
#ifdef NONBE_FIX_778_TNS_UNFIED_STEREO_MSAN
    int16_t prev_IsTNSAllowed;
#endif
    assert( st->core_brate != SID_2k40 && st->core_brate != FRAME_NO_DATA );

    /* Get the raw coder type from signal analysis*/
@@ -100,16 +103,27 @@ void stereo_tcx_init_enc(
    st->hTcxCfg->resq = getResq( st->bits_frame_nominal * FRAMES_PER_SEC );
    st->hTcxEnc->tcx_lpc_shaped_ari = getTcxLpcShapedAri( st->bits_frame_nominal * FRAMES_PER_SEC, st->rf_mode, st->element_mode );
    st->igf = getIgfPresent( st->element_mode, st->bits_frame_nominal * FRAMES_PER_SEC, st->bwidth, st->rf_mode );
#ifdef NONBE_FIX_778_TNS_UNFIED_STEREO_MSAN
    prev_IsTNSAllowed = st->hTcxCfg->fIsTNSAllowed;
#endif
    if ( st->element_mode != EVS_MONO )
    {
        st->hTcxCfg->fIsTNSAllowed = getTnsAllowed( st->bits_frame_nominal * FRAMES_PER_SEC, st->igf, st->element_mode );
    }
#ifdef NONBE_FIX_778_TNS_UNFIED_STEREO_MSAN
    if ( !prev_IsTNSAllowed && st->hTcxCfg->fIsTNSAllowed && st->element_mode == IVAS_CPE_DFT ) /* may happen in unified stereo when switching stereo technologies */
    {
        InitTnsConfigs( st->bwidth, st->hTcxCfg->tcx_coded_lines, st->hTcxCfg->tnsConfig, st->hIGFEnc->infoStopFrequency, st->bits_frame_nominal * FRAMES_PER_SEC, st->element_mode, 0 );

        SetAllowTnsOnWhite( st->hTcxCfg->tnsConfig, 0 );
    }
#endif
    st->core_brate = st->total_brate;

    return;
}


/*-------------------------------------------------------------------*
 * stereo_tcx_core_enc()
 *