Commit 10fd3951 authored by thomas dettbarn's avatar thomas dettbarn
Browse files

Merge branch 'main' into...

Merge branch 'main' into 1842-optimization-calculation-of-predelay-in-ivas_binaural_reverb_init-unnecessarily-complex-2
parents 96b86165 28c7a20c
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -164,6 +164,8 @@
#define FIX_1831_REVERB_REGRESSION                      /* Philips: fixes reverb regression issues  */
#define FIX_1835_REVERB_ACTIVATION                      /* FhG: Modified reverberation activation logic and corrected factEQ calculation */
#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 */	

/* #################### End BASOP porting switches ############################ */

+8 −0
Original line number Diff line number Diff line
@@ -718,12 +718,20 @@ void decoder_LPD_fx(
        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 == 0 )
            {
#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_fx = lsf_stab_fx( &lsf[( ( k + 1 ) ) * M], &lsf[k * M], 0, L_FRAME );
                move16();
            }
+21 −0
Original line number Diff line number Diff line
@@ -4411,7 +4411,15 @@ void decoder_tcx_invQ_fx(

    tnsSize = 0;
    move16();
#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
@@ -4435,8 +4443,10 @@ void decoder_tcx_invQ_fx(
        move16();
    }

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

    gainCompensate = ONE_IN_Q14;
    move16();
@@ -4452,6 +4462,10 @@ void decoder_tcx_invQ_fx(

    IF( !bfi )
    {
#ifdef FIX_1038_OFFSET_TO_NULL_PTR_IN_EVS_TCX_BFI
        prm_ltp = &prm[1 + NOISE_FILL_RANGES];
        prm_tns = prm_ltp + LTPSIZE;
#endif
        index = prm[0];
        move16();

@@ -4473,9 +4487,11 @@ void decoder_tcx_invQ_fx(
        move16();
    }

#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                                             *
@@ -4483,6 +4499,11 @@ void decoder_tcx_invQ_fx(

    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                                                *
         *-----------------------------------------------------------*/
+8 −1
Original line number Diff line number Diff line
@@ -142,9 +142,16 @@ static ivas_error ivas_ism_bitrate_switching_dec_fx(
    {
        test();
        test();
#ifndef NONBE_FIX_1056_ISM_RATE_SWITCH
        test();
#endif
/* 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( EQ_32( last_ism_mode, ISM_MODE_PARAM ) && st_ivas->hSpatParamRendCom != NULL && NE_32( st_ivas->hTcBuffer->tc_buffer_mode, TC_BUFFER_MODE_BUFFER ) )
#else
        IF( EQ_32( last_ism_mode, ISM_MODE_PARAM ) && st_ivas->hSpatParamRendCom != NULL && ( NE_32( st_ivas->renderer_type, RENDERER_MONO_DOWNMIX ) && NE_32( st_ivas->renderer_type, RENDERER_DISABLE ) ) )
#endif
        {
            st_ivas->hTcBuffer->nb_subframes = st_ivas->hSpatParamRendCom->nb_subframes;
            move16();
+3 −0
Original line number Diff line number Diff line
@@ -3828,6 +3828,9 @@ static void ivas_jbm_dec_tc_buffer_playout_fx(
        slots_to_render = sub( slots_to_render, st_ivas->hTcBuffer->subframe_nbslots[last_sf] );
        last_sf = add( last_sf, 1 );
    }
#ifdef DEBUGGING
    assert( slots_to_render == 0 );
#endif

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