Loading lib_dec/ivas_jbm_dec.c +8 −5 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 ); } } Loading Loading @@ -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 Loading Loading
lib_dec/ivas_jbm_dec.c +8 −5 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 ); } } Loading Loading @@ -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 Loading