Commit f40ad00b authored by vaclav's avatar vaclav
Browse files

correction inside NONBE_1324_TC_BUFFER_MEMOERY_KEEP

parent 0436b6ec
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -2383,7 +2383,7 @@ ivas_error ivas_jbm_dec_tc_buffer_reconfigure(
)
{
#ifdef NONBE_1324_TC_BUFFER_MEMOERY_KEEP
    int16_t ch_idx, num_tc_buffer_mem, len_tc_buffer_mem;
    int16_t ch_idx, num_tc_buffer_mem, n_samples_still_available;
    float tc_buffer_mem[MAX_INTERN_CHANNELS][L_FRAME48k / MAX_PARAM_SPATIAL_SUBFRAMES - 1];
#endif
#ifdef JBM_MEMORY_OPT
@@ -2398,17 +2398,20 @@ ivas_error ivas_jbm_dec_tc_buffer_reconfigure(

#ifdef NONBE_1324_TC_BUFFER_MEMOERY_KEEP
    num_tc_buffer_mem = 0;
    len_tc_buffer_mem = 0;
    n_samples_still_available = 0;

    if ( st_ivas->hDecoderConfig->Opt_tsm )
    {
        /* save channels of the TC buffer from the previous frame */
        num_tc_buffer_mem = min( hTcBuffer->nchan_transport_internal, nchan_transport_internal );
        len_tc_buffer_mem = min( hTcBuffer->n_samples_granularity - 1, n_samples_granularity - 1 );
        n_samples_still_available = hTcBuffer->n_samples_buffered - hTcBuffer->n_samples_rendered;

        /* what is remaining from last frames needs always be smaller than n_samples_granularity */
        assert( ( hTcBuffer->n_samples_buffered - hTcBuffer->n_samples_rendered ) < n_samples_granularity );

        for ( ch_idx = 0; ch_idx < num_tc_buffer_mem; ch_idx++ )
        {
            mvr2r( hTcBuffer->tc_buffer_old[ch_idx] + hTcBuffer->n_samples_granularity - 1 - len_tc_buffer_mem, tc_buffer_mem[ch_idx], len_tc_buffer_mem );
            mvr2r( hTcBuffer->tc_buffer_old[ch_idx], tc_buffer_mem[ch_idx], n_samples_still_available );
        }
    }

@@ -2474,7 +2477,7 @@ ivas_error ivas_jbm_dec_tc_buffer_reconfigure(
    /* propagate channels of the TC buffer from the previous frame */
    for ( ch_idx = 0; ch_idx < num_tc_buffer_mem; ch_idx++ )
    {
        mvr2r( tc_buffer_mem[ch_idx], hTcBuffer->tc_buffer_old[ch_idx] + hTcBuffer->n_samples_granularity - 1 - len_tc_buffer_mem, len_tc_buffer_mem );
        mvr2r( tc_buffer_mem[ch_idx], hTcBuffer->tc_buffer_old[ch_idx], n_samples_still_available );
    }
#endif
#else