Commit f86881ca authored by vaclav's avatar vaclav
Browse files

port NONBE_1200_ISM_JBM_BRATE_SW_FLUSH

parent 6ded5dc7
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -188,6 +188,7 @@
#define FIX_ISSUE_2008_MISSING_CODE_FROM_PORTING        /* FhG: Issue 2008: Code deleted while porting float-main MR !1504 (BASOP issue 1565)*/
#define ADJUST_MCT_CHANNELS_MAX                         /* FhG: set correct max mct channels constant*/
#define FIX_1053_REVERB_RECONFIGURATION
#define NONBE_1200_ISM_JBM_BRATE_SW_FLUSH               /* VA: issue 1200: fix bug in renderer flush in ISM JBM bitrate switching */

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

+18 −4
Original line number Diff line number Diff line
@@ -132,7 +132,9 @@ static ivas_error ivas_ism_bitrate_switching_dec(
        ivas_output_init( &( st_ivas->hIntSetup ), st_ivas->hDecoderConfig->output_config );
    }

#ifndef NONBE_1200_ISM_JBM_BRATE_SW_FLUSH
    {
#endif
        /* transfer subframe info from DirAC or ParamMC to central tc buffer */
        /* 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 )
@@ -167,7 +169,9 @@ static ivas_error ivas_ism_bitrate_switching_dec(
                return error;
            }
        }
#ifndef NONBE_1200_ISM_JBM_BRATE_SW_FLUSH
    }
#endif

    if ( st_ivas->ism_mode != last_ism_mode )
    {
@@ -307,19 +311,26 @@ static ivas_error ivas_ism_bitrate_switching_dec(
     * floating-point output audio buffers
     *-----------------------------------------------------------------*/

#ifndef NONBE_1200_ISM_JBM_BRATE_SW_FLUSH
    {
#endif
        nchan_out_buff = ivas_get_nchan_buffers_dec( st_ivas, -1, -1 );

        if ( ( error = ivas_output_buff_dec( st_ivas->p_output_f, nchan_out_buff_old, nchan_out_buff ) ) != IVAS_ERR_OK )
        {
            return error;
        }
#ifndef NONBE_1200_ISM_JBM_BRATE_SW_FLUSH
    }
#endif

    /*-----------------------------------------------------------------*
     * JBM TC buffers
     *-----------------------------------------------------------------*/

#ifndef NONBE_1200_ISM_JBM_BRATE_SW_FLUSH
    {
#endif
        int16_t tc_nchan_full_new;
        DECODER_TC_BUFFER_HANDLE hTcBuffer;

@@ -355,7 +366,10 @@ static ivas_error ivas_ism_bitrate_switching_dec(

            mvs2s( st_ivas->hTcBuffer->subframe_nbslots, st_ivas->hSpatParamRendCom->subframe_nbslots, MAX_JBM_SUBFRAMES_5MS );
        }

#ifndef NONBE_1200_ISM_JBM_BRATE_SW_FLUSH
    }
#endif

#ifdef FIX_HRTF_LOAD
    return IVAS_ERR_OK;
+4 −1
Original line number Diff line number Diff line
@@ -1042,8 +1042,11 @@ ivas_error IVAS_DEC_ReadFormat(
            render what still fits in the new granularity */
            int16_t tc_granularity_new = ivas_jbm_dec_get_render_granularity( st_ivas->renderer_type, st_ivas->ivas_format, st_ivas->mc_mode, st_ivas->hDecoderConfig->output_Fs );

#ifdef NONBE_1200_ISM_JBM_BRATE_SW_FLUSH
            st_ivas->nchan_transport = nchan_transport_old;
#else
            // st_ivas->nchan_transport = nchan_transport_old; // ToDo: temporarily deactivated to keep FIX_HRTF_LOAD bit-exact but this is likely a bug in the main -> see issue #1200

#endif
            if ( st_ivas->ivas_format == MASA_FORMAT )
            {
                st_ivas->nchan_ism = 0; // ToDo: temporary hack to keep FIX_HRTF_LOAD bit-exact but this is likely a bug in the main -> see issue #1199