Commit 0170d7ba authored by Archit Tamarapu's avatar Archit Tamarapu
Browse files

port NONBE_FIX_1056_ISM_RATE_SWITCH

parent d8da034f
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -135,6 +135,7 @@
#define FIX_1003_PARAMISM_BINAURAL_RECONFIG_USAN        /* FhG: fix for #1003: fix USAN caused by ParamISM reconfig                    */
#define FIX_1001_ARI_HM_OVERFLOW                        /* FhG: (no changes needed in BASOP) fix for undef behaviour in in the harmonic TCX model arithmetic coder */
#define NONBE_FIX_1005_MC_RS_TCBUFFER_UPDATE                  /* FhG: issue #1005: fix TC Buffer update at a MC rate switch */
#define NONBE_FIX_1056_ISM_RATE_SWITCH                  /* FhG: Fix #1056: fix TC buffer udpate on a ISM rate switch */	

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

+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
@@ -3843,6 +3843,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++ )
    {