Commit ae11dd72 authored by bayers's avatar bayers
Browse files

small fix to discrete ISM rendering with TSM. remove direct return from TC...

small fix to discrete ISM rendering with TSM. remove direct return from TC buffer playout w/o TSM, small change to OSBA binaural rendering
parent 4413d92c
Loading
Loading
Loading
Loading
Loading
+16 −4
Original line number Diff line number Diff line
@@ -255,7 +255,8 @@ void ivas_ism_render_sf(
    int16_t interp_offset;
    float gain, prev_gain;
#ifdef NONBE_UNIFIED_DECODING_PATHS_FIX
    float tc_local[MAX_NUM_OBJECTS][L_FRAME48k]; // VE2SB: TBV
    float tc_local[MAX_NUM_OBJECTS][L_FRAME48k];
    float *p_tc[MAX_NUM_OBJECTS];
#endif

    num_objects = st_ivas->nchan_transport;
@@ -270,9 +271,20 @@ void ivas_ism_render_sf(
    interp_offset = st_ivas->hTcBuffer->n_samples_rendered;

#ifdef NONBE_UNIFIED_DECODING_PATHS_FIX
    if ( st_ivas->hDecoderConfig->Opt_tsm )
    {
        for ( i = 0; i < num_objects; i++ )
        {
        mvr2r( output_f[i], tc_local[i], n_samples_to_render );
            p_tc[i] = &st_ivas->hTcBuffer->tc[i][tc_offset];
        }
    }
    else
    {
        for ( i = 0; i < num_objects; i++ )
        {
            mvr2r( &output_f[i][tc_offset], tc_local[i], n_samples_to_render );
            p_tc[i] = tc_local[i];
        }
    }
#endif

@@ -322,7 +334,7 @@ void ivas_ism_render_sf(
            {
                g1 = &st_ivas->hIsmRendererData->interpolator[interp_offset];
#ifdef NONBE_UNIFIED_DECODING_PATHS_FIX
                tc = &tc_local[i][tc_offset];
                tc = p_tc[i];
#else
                tc = &st_ivas->hTcBuffer->tc[i][tc_offset];
#endif
+0 −7
Original line number Diff line number Diff line
@@ -2665,13 +2665,6 @@ static void ivas_jbm_dec_tc_buffer_playout(
    first_sf = st_ivas->hTcBuffer->subframes_rendered;
    last_sf = first_sf;

#ifdef NONBE_UNIFIED_DECODING_PATHS_FIX
    if ( !st_ivas->hDecoderConfig->Opt_tsm )
    {
        return;
    }
#endif

    while ( slots_to_render > 0 )
    {
        slots_to_render -= st_ivas->hTcBuffer->subframe_nbslots[last_sf];
+4 −9
Original line number Diff line number Diff line
@@ -135,21 +135,16 @@ ivas_error ivas_osba_dirac_td_binaural_jbm(
    int16_t n;
    ivas_error error;
#ifdef NONBE_UNIFIED_DECODING_PATHS_FIX
    float data_separated_objects[MAX_NUM_OBJECTS][L_FRAME48k]; // VE2SB: TBV
    float *p_sepobj[MAX_NUM_OBJECTS];
    float output_separated_objects[BINAURAL_CHANNELS][L_FRAME48k]; // VE2SB: TBV
    float *p_sepobj[BINAURAL_CHANNELS];
    int16_t channel_offset;

    for ( n = 0; n < MAX_NUM_OBJECTS; n++ )
    for ( n = 0; n < BINAURAL_CHANNELS; n++ )
    {
        p_sepobj[n] = &data_separated_objects[n][0];
        p_sepobj[n] = &output_separated_objects[n][0];
    }

    channel_offset = st_ivas->nchan_ism;

    for ( n = 0; n < channel_offset; n++ )
    {
        mvr2r( output_f[n], data_separated_objects[n], nSamplesAsked );
    }
#endif

#ifdef NONBE_UNIFIED_DECODING_PATHS_FIX