Loading lib_dec/ivas_jbm_dec.c +10 −21 Original line number Diff line number Diff line Loading @@ -847,42 +847,27 @@ void ivas_jbm_dec_feed_tc_to_renderer( for ( ch = 0; ch < n_ch_full_copy; ch++ ) { set_zero( hTcBuffer->tc[ch], hTcBuffer->n_samples_discard ); #ifdef OPT_TC mvr2r( st_ivas->hTcBuffer->tc_buffer_old[ch], st_ivas->hTcBuffer->tc[ch] + st_ivas->hTcBuffer->n_samples_discard, n_samples_still_available ); #else mvr2r( hTcBuffer->tc[ch] + hTcBuffer->n_samples_rendered, hTcBuffer->tc[ch] + hTcBuffer->n_samples_discard, n_samples_still_available ); #endif for ( m = 0; m < nSamplesForRendering; m++ ) { hTcBuffer->tc[ch][n_samples_still_available + hTcBuffer->n_samples_discard + m] = data[m * hTcBuffer->nchan_transport_jbm + ch]; } #ifdef OPT_TC // mvr2r( p_data_f[ch] + hTcBuffer->n_samples_available, hTcBuffer->tc_buffer_old[ch], *nSamplesResidual ); #endif mvr2r( hTcBuffer->tc[ch] + hTcBuffer->n_samples_available, hTcBuffer->tc_buffer_old[ch], *nSamplesResidual ); } if ( n_ch_res_copy > 0 ) { for ( ; ch < hTcBuffer->nchan_transport_jbm; ch++ ) { #ifdef OPT_TC mvr2r( st_ivas->hTcBuffer->tc_buffer_old[ch], p_data_f[ch], n_samples_still_available ); #else mvr2r( hTcBuffer->tc[ch], p_data_f[ch], n_samples_still_available ); #endif for ( m = 0; m < nSamplesForRendering; m++ ) { p_data_f[ch][n_samples_still_available + m] = data[m * hTcBuffer->nchan_transport_jbm + ch]; } #ifdef OPT_TC mvr2r( p_data_f[ch] + hTcBuffer->n_samples_available, hTcBuffer->tc_buffer_old[ch], *nSamplesResidual ); #else mvr2r( p_data_f[ch] + hTcBuffer->n_samples_available, hTcBuffer->tc[ch], *nSamplesResidual ); #endif } } hTcBuffer->n_samples_rendered = 0; hTcBuffer->subframes_rendered = 0; #else Loading @@ -893,6 +878,7 @@ void ivas_jbm_dec_feed_tc_to_renderer( { *nSamplesResidual = 0; } n_render_timeslots = st_ivas->hTcBuffer->n_samples_available / st_ivas->hTcBuffer->n_samples_granularity; if ( st_ivas->ivas_format == ISM_FORMAT ) Loading Loading @@ -2266,11 +2252,7 @@ static ivas_error ivas_jbm_dec_tc_buffer_allocate( if ( Opt_tsm ) { #ifdef REMOVE_APA_BUFFER n_samp_full = ( NS2SA( output_Fs, MAX_JBM_L_FRAME_NS ) ); #else n_samp_full = ( NS2SA( output_Fs, MAX_JBM_L_FRAME_NS ) + hTcBuffer->n_samples_granularity - 1 ); #endif n_samp_residual = hTcBuffer->n_samples_granularity - 1; } else Loading @@ -2291,7 +2273,7 @@ static ivas_error ivas_jbm_dec_tc_buffer_allocate( set_zero( hTcBuffer->tc_buffer, nsamp_to_allocate ); offset = 0; for ( ch_idx = 0; ch_idx < hTcBuffer->nchan_buffer_full; ch_idx++ ) for ( ch_idx = 0; ch_idx < max( hTcBuffer->nchan_transport_jbm, hTcBuffer->nchan_buffer_full ); ch_idx++ ) { hTcBuffer->tc[ch_idx] = &hTcBuffer->tc_buffer[offset]; offset += n_samp_full; Loading Loading @@ -2558,6 +2540,13 @@ ivas_error ivas_jbm_dec_tc_buffer_reconfigure( /* realloc buffers */ if ( hTcBuffer->tc_buffer != NULL ) { #ifdef OPT_TC for ( ch_idx = 0; ch_idx < MAX_TRANSPORT_CHANNELS + MAX_NUM_OBJECTS; ch_idx++ ) { hTcBuffer->tc[ch_idx] = NULL; } #endif free( hTcBuffer->tc_buffer ); hTcBuffer->tc_buffer = NULL; #ifdef OPT_TC Loading lib_dec/lib_dec.c +0 −22 Original line number Diff line number Diff line Loading @@ -2087,28 +2087,6 @@ ivas_error IVAS_DEC_GetSamplesRenderer( { *needNewFrame = false; } #endif #ifdef OPT_TC if ( st_ivas->hDecoderConfig->Opt_tsm ) { int16_t ch; DECODER_TC_BUFFER_HANDLE hTcBuffer = st_ivas->hTcBuffer; if ( hTcBuffer->n_samples_buffered - hTcBuffer->n_samples_rendered < hTcBuffer->n_samples_granularity ) { for ( ch = 0; ch < min( hTcBuffer->nchan_transport_jbm, hTcBuffer->nchan_buffer_full ); ch++ ) //for ( ch = 0; ch < hTcBuffer->nchan_transport_internal; ch++ ) { mvr2r( hTcBuffer->tc[ch] + hTcBuffer->n_samples_rendered, hTcBuffer->tc_buffer_old[ch], hTcBuffer->n_samples_buffered - hTcBuffer->n_samples_rendered ); } for ( ; ch < max( hTcBuffer->nchan_transport_jbm, hTcBuffer->nchan_buffer_full ); ch++ ) { /* note: residual channels were saved already in ivas_jbm_dec_copy_tc() */ // mvr2r( hTcBuffer->tc[ch], hTcBuffer->tc_buffer_old[ch], hTcBuffer->n_samples_buffered - hTcBuffer->n_samples_rendered ); } } } #endif } Loading Loading
lib_dec/ivas_jbm_dec.c +10 −21 Original line number Diff line number Diff line Loading @@ -847,42 +847,27 @@ void ivas_jbm_dec_feed_tc_to_renderer( for ( ch = 0; ch < n_ch_full_copy; ch++ ) { set_zero( hTcBuffer->tc[ch], hTcBuffer->n_samples_discard ); #ifdef OPT_TC mvr2r( st_ivas->hTcBuffer->tc_buffer_old[ch], st_ivas->hTcBuffer->tc[ch] + st_ivas->hTcBuffer->n_samples_discard, n_samples_still_available ); #else mvr2r( hTcBuffer->tc[ch] + hTcBuffer->n_samples_rendered, hTcBuffer->tc[ch] + hTcBuffer->n_samples_discard, n_samples_still_available ); #endif for ( m = 0; m < nSamplesForRendering; m++ ) { hTcBuffer->tc[ch][n_samples_still_available + hTcBuffer->n_samples_discard + m] = data[m * hTcBuffer->nchan_transport_jbm + ch]; } #ifdef OPT_TC // mvr2r( p_data_f[ch] + hTcBuffer->n_samples_available, hTcBuffer->tc_buffer_old[ch], *nSamplesResidual ); #endif mvr2r( hTcBuffer->tc[ch] + hTcBuffer->n_samples_available, hTcBuffer->tc_buffer_old[ch], *nSamplesResidual ); } if ( n_ch_res_copy > 0 ) { for ( ; ch < hTcBuffer->nchan_transport_jbm; ch++ ) { #ifdef OPT_TC mvr2r( st_ivas->hTcBuffer->tc_buffer_old[ch], p_data_f[ch], n_samples_still_available ); #else mvr2r( hTcBuffer->tc[ch], p_data_f[ch], n_samples_still_available ); #endif for ( m = 0; m < nSamplesForRendering; m++ ) { p_data_f[ch][n_samples_still_available + m] = data[m * hTcBuffer->nchan_transport_jbm + ch]; } #ifdef OPT_TC mvr2r( p_data_f[ch] + hTcBuffer->n_samples_available, hTcBuffer->tc_buffer_old[ch], *nSamplesResidual ); #else mvr2r( p_data_f[ch] + hTcBuffer->n_samples_available, hTcBuffer->tc[ch], *nSamplesResidual ); #endif } } hTcBuffer->n_samples_rendered = 0; hTcBuffer->subframes_rendered = 0; #else Loading @@ -893,6 +878,7 @@ void ivas_jbm_dec_feed_tc_to_renderer( { *nSamplesResidual = 0; } n_render_timeslots = st_ivas->hTcBuffer->n_samples_available / st_ivas->hTcBuffer->n_samples_granularity; if ( st_ivas->ivas_format == ISM_FORMAT ) Loading Loading @@ -2266,11 +2252,7 @@ static ivas_error ivas_jbm_dec_tc_buffer_allocate( if ( Opt_tsm ) { #ifdef REMOVE_APA_BUFFER n_samp_full = ( NS2SA( output_Fs, MAX_JBM_L_FRAME_NS ) ); #else n_samp_full = ( NS2SA( output_Fs, MAX_JBM_L_FRAME_NS ) + hTcBuffer->n_samples_granularity - 1 ); #endif n_samp_residual = hTcBuffer->n_samples_granularity - 1; } else Loading @@ -2291,7 +2273,7 @@ static ivas_error ivas_jbm_dec_tc_buffer_allocate( set_zero( hTcBuffer->tc_buffer, nsamp_to_allocate ); offset = 0; for ( ch_idx = 0; ch_idx < hTcBuffer->nchan_buffer_full; ch_idx++ ) for ( ch_idx = 0; ch_idx < max( hTcBuffer->nchan_transport_jbm, hTcBuffer->nchan_buffer_full ); ch_idx++ ) { hTcBuffer->tc[ch_idx] = &hTcBuffer->tc_buffer[offset]; offset += n_samp_full; Loading Loading @@ -2558,6 +2540,13 @@ ivas_error ivas_jbm_dec_tc_buffer_reconfigure( /* realloc buffers */ if ( hTcBuffer->tc_buffer != NULL ) { #ifdef OPT_TC for ( ch_idx = 0; ch_idx < MAX_TRANSPORT_CHANNELS + MAX_NUM_OBJECTS; ch_idx++ ) { hTcBuffer->tc[ch_idx] = NULL; } #endif free( hTcBuffer->tc_buffer ); hTcBuffer->tc_buffer = NULL; #ifdef OPT_TC Loading
lib_dec/lib_dec.c +0 −22 Original line number Diff line number Diff line Loading @@ -2087,28 +2087,6 @@ ivas_error IVAS_DEC_GetSamplesRenderer( { *needNewFrame = false; } #endif #ifdef OPT_TC if ( st_ivas->hDecoderConfig->Opt_tsm ) { int16_t ch; DECODER_TC_BUFFER_HANDLE hTcBuffer = st_ivas->hTcBuffer; if ( hTcBuffer->n_samples_buffered - hTcBuffer->n_samples_rendered < hTcBuffer->n_samples_granularity ) { for ( ch = 0; ch < min( hTcBuffer->nchan_transport_jbm, hTcBuffer->nchan_buffer_full ); ch++ ) //for ( ch = 0; ch < hTcBuffer->nchan_transport_internal; ch++ ) { mvr2r( hTcBuffer->tc[ch] + hTcBuffer->n_samples_rendered, hTcBuffer->tc_buffer_old[ch], hTcBuffer->n_samples_buffered - hTcBuffer->n_samples_rendered ); } for ( ; ch < max( hTcBuffer->nchan_transport_jbm, hTcBuffer->nchan_buffer_full ); ch++ ) { /* note: residual channels were saved already in ivas_jbm_dec_copy_tc() */ // mvr2r( hTcBuffer->tc[ch], hTcBuffer->tc_buffer_old[ch], hTcBuffer->n_samples_buffered - hTcBuffer->n_samples_rendered ); } } } #endif } Loading