Commit 5a3155ff authored by Dominik Weckbecker's avatar Dominik Weckbecker 💬
Browse files

Merge remote-tracking branch 'origin/ivas-float-update' into 1640_ref_port-mr-1347-from-float

parents efb2bae8 b6756ba2
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -184,6 +184,8 @@
#define FIX_WARNING_RENDER_CONFIG                       /* Orange: fix warning on windows build */
#define NONBE_FIX_991_PARAMBIN_BINARY_HRTF              /* Nokia: issue #991: fix using of binary file HRTF in ParamBin (to actiate when USE_NEW_HRTF_BINARY_FILE_FORMAT and FIX_777_COMBI_RENDER_CONFIG_FILE are on  )*/
#define NON_BE_FIX_EVS_USAN_ERR_IN_WAVEADJUST           /* FhG: address issue 1037 */
#define FIX_1038_OFFSET_TO_NULL_PTR_IN_EVS_TCX_BFI      /* FhG: move setting of pointers for parameter decoding so they are skipped in lost frames when they are not needed */
#define NONBE_FIX_1056_ISM_RATE_SWITCH                  /* FhG: Fix #1056: fix TC buffer udpate on a ISM rate switch */	

#define NONBE_FIX_1004_USAN_DTX_MASA_NO_DIRS            /* Nokia: fix USAN error caused by non-setting of correctly the number of MASA directions in DTX */
#define NONBE_FIX_SBA_SIGNALING_BITS_B                  /* FhG: issue 1061: option B: signal sba order additionally in OSBA */
+8 −0
Original line number Diff line number Diff line
@@ -604,12 +604,20 @@ void decoder_LPD(

        for ( k = 0; k < 2; k++ )
        {
#ifndef FIX_1038_OFFSET_TO_NULL_PTR_IN_EVS_TCX_BFI
            /* Set pointer to parameters */
            prm = param + ( k * DEC_NPRM_DIV );

            /* Stability Factor */
#endif
            if ( !bfi )
            {
#ifdef FIX_1038_OFFSET_TO_NULL_PTR_IN_EVS_TCX_BFI
                /* Set pointer to parameters */
                prm = param + ( k * DEC_NPRM_DIV );

                /* Stability Factor */
#endif
                st->stab_fac = lsf_stab( &lsf[( k + 1 ) * M], &lsf[k * M], 0, st->L_frame );
            }

+24 −1
Original line number Diff line number Diff line
@@ -93,6 +93,9 @@ void decoder_tcx(
    tmp_concealment_method = 0;
    nf_seed = 0;
    fUseTns = 0; /* flag that is set if TNS data is present */
#ifdef FIX_1038_OFFSET_TO_NULL_PTR_IN_EVS_TCX_BFI
    prm_sqQ = NULL;
#endif

    set_f( xn_buf, 0, L_MDCT_OVLP_MAX + L_FRAME_PLUS + L_MDCT_OVLP_MAX );

@@ -730,7 +733,15 @@ void decoder_tcx_invQ(
    TCX_CONFIG_HANDLE hTcxCfg = st->hTcxCfg;

    tnsSize = 0;
#ifndef FIX_1038_OFFSET_TO_NULL_PTR_IN_EVS_TCX_BFI
    prm_target = NULL; /* just to suppress MSVC warnigs */
#else
    /* just to suppress MSVC warnigs */
    prm_target = NULL;
    prm_ltp = NULL;
    prm_tns = NULL;
    prm_sqQ = NULL;
#endif

    /*-----------------------------------------------------------------*
     * Initializations
@@ -750,8 +761,10 @@ void decoder_tcx_invQ(
        noiseFillingSize = st->hIGFDec->infoIGFStartLine;
    }

#ifndef FIX_1038_OFFSET_TO_NULL_PTR_IN_EVS_TCX_BFI
    prm_ltp = &prm[1 + NOISE_FILL_RANGES];
    prm_tns = prm_ltp + LTPSIZE;
#endif

    /*-----------------------------------------------------------*
     * Read TCX parameters                                       *
@@ -762,7 +775,10 @@ void decoder_tcx_invQ(
    if ( !bfi )
    {
        index = prm[0];

#ifdef FIX_1038_OFFSET_TO_NULL_PTR_IN_EVS_TCX_BFI
        prm_ltp = &prm[1 + NOISE_FILL_RANGES];
        prm_tns = prm_ltp + LTPSIZE;
#endif
        /* read noise level (fac_ns) */
        st->hTcxDec->noise_filling_index[frame_cnt] = prm[1];
    }
@@ -777,9 +793,11 @@ void decoder_tcx_invQ(
        *fUseTns = 0;
    }

#ifndef FIX_1038_OFFSET_TO_NULL_PTR_IN_EVS_TCX_BFI
    prm_hm = prm_tns + tnsSize;
    prm_sqQ = prm_hm + NPRM_CTX_HM;
    *prm_sqQ1 = prm_sqQ;
#endif

    /*-----------------------------------------------------------*
     * Spectrum data                                             *
@@ -787,6 +805,11 @@ void decoder_tcx_invQ(

    if ( !bfi )
    {
#ifdef FIX_1038_OFFSET_TO_NULL_PTR_IN_EVS_TCX_BFI
        prm_hm = prm_tns + tnsSize;
        prm_sqQ = prm_hm + NPRM_CTX_HM;
        *prm_sqQ1 = prm_sqQ;
#endif
        /*-----------------------------------------------------------*
         * Context HM                                                *
         *-----------------------------------------------------------*/
+6 −1
Original line number Diff line number Diff line
@@ -126,7 +126,12 @@ static ivas_error ivas_ism_bitrate_switching_dec(

    {
/* transfer subframe info from DirAC or ParamMC to central tc buffer */
#ifdef NONBE_FIX_1056_ISM_RATE_SWITCH
        /* only do this if we are not having done everything already in the TC decoding part and having only played out from the TC buffer */
        if ( last_ism_mode == ISM_MODE_PARAM && st_ivas->hSpatParamRendCom != NULL && st_ivas->hTcBuffer->tc_buffer_mode != TC_BUFFER_MODE_BUFFER )
#else
        if ( last_ism_mode == ISM_MODE_PARAM && st_ivas->hSpatParamRendCom != NULL && ( st_ivas->renderer_type != RENDERER_MONO_DOWNMIX && st_ivas->renderer_type != RENDERER_DISABLE ) )
#endif
        {
            st_ivas->hTcBuffer->nb_subframes = st_ivas->hSpatParamRendCom->nb_subframes;
            st_ivas->hTcBuffer->subframes_rendered = st_ivas->hSpatParamRendCom->subframes_rendered;
+3 −0
Original line number Diff line number Diff line
@@ -2513,6 +2513,9 @@ static void ivas_jbm_dec_tc_buffer_playout(
        slots_to_render -= st_ivas->hTcBuffer->subframe_nbslots[last_sf];
        last_sf++;
    }
#ifdef DEBUGGING
    assert( slots_to_render == 0 );
#endif

    for ( ch_idx = 0; ch_idx < st_ivas->hTcBuffer->nchan_transport_jbm; ch_idx++ )
    {