Loading lib_dec/ivas_jbm_dec.c +11 −1 Original line number Diff line number Diff line Loading @@ -2790,8 +2790,18 @@ ivas_error ivas_jbm_dec_render( else if ( st_ivas->hTcBuffer->tc_buffer_mode == TC_BUFFER_MODE_BUFFER ) { #ifdef IVAS_FLOAT_FIXED Word16 slot_size, slots_to_render, tmp, e, slots_rendered, nSamplesRendered_tmp; slot_size = st_ivas->hTcBuffer->n_samples_granularity; /* loop for synthesis, assume we always have to render in multiples of 5ms subframes with spills */ tmp = BASOP_Util_Divide1616_Scale( nSamplesAsked, slot_size, &e ); tmp = shr( tmp, sub( 15, e ) ); slots_to_render = s_min( sub( st_ivas->hTcBuffer->num_slots, st_ivas->hTcBuffer->slots_rendered ), tmp ); slots_rendered = add( st_ivas->hTcBuffer->slots_rendered, slots_to_render ); nSamplesRendered_tmp = (UWord16) L_mult0( slots_to_render, slot_size ); FOR(Word16 ind = 0; ind < st_ivas->hTcBuffer->nchan_transport_jbm; ind++) { floatToFixed_arrL(st_ivas->hTcBuffer->tc[ind] + st_ivas->hTcBuffer->n_samples_rendered, st_ivas->hTcBuffer->tc_fx[ind] + st_ivas->hTcBuffer->n_samples_rendered, Q11, s_max(*nSamplesRendered, nSamplesAskedLocal)); floatToFixed_arrL(st_ivas->hTcBuffer->tc[ind] + st_ivas->hTcBuffer->n_samples_rendered, st_ivas->hTcBuffer->tc_fx[ind] + st_ivas->hTcBuffer->n_samples_rendered, Q11, nSamplesRendered_tmp); p_output_fx[ind] = malloc(sizeof(Word32) * 960); floatToFixed_arrL(p_output[ind], p_output_fx[ind], Q11, s_max(*nSamplesRendered, nSamplesAskedLocal)); } Loading lib_dec/jbm_jb4sb.c +9 −0 Original line number Diff line number Diff line Loading @@ -862,12 +862,21 @@ static void JB4_adaptActivePlayout( { IF ( convertToLateLoss ) { #ifdef EVS_FLOAT JB4_dropFromBuffer( h ); #else JB4_dropFromBuffer( h ); h->nLostOrStretched = L_add( h->nLostOrStretched, 1 ); #endif // EVS_FLOAT } ELSE IF ( dropEarly ) { #ifdef EVS_FLOAT JB4_dropFromBuffer( h ); ++h->nLostOrStretched; #else JB4_dropFromBuffer( h ); #endif } ELSE { Loading Loading
lib_dec/ivas_jbm_dec.c +11 −1 Original line number Diff line number Diff line Loading @@ -2790,8 +2790,18 @@ ivas_error ivas_jbm_dec_render( else if ( st_ivas->hTcBuffer->tc_buffer_mode == TC_BUFFER_MODE_BUFFER ) { #ifdef IVAS_FLOAT_FIXED Word16 slot_size, slots_to_render, tmp, e, slots_rendered, nSamplesRendered_tmp; slot_size = st_ivas->hTcBuffer->n_samples_granularity; /* loop for synthesis, assume we always have to render in multiples of 5ms subframes with spills */ tmp = BASOP_Util_Divide1616_Scale( nSamplesAsked, slot_size, &e ); tmp = shr( tmp, sub( 15, e ) ); slots_to_render = s_min( sub( st_ivas->hTcBuffer->num_slots, st_ivas->hTcBuffer->slots_rendered ), tmp ); slots_rendered = add( st_ivas->hTcBuffer->slots_rendered, slots_to_render ); nSamplesRendered_tmp = (UWord16) L_mult0( slots_to_render, slot_size ); FOR(Word16 ind = 0; ind < st_ivas->hTcBuffer->nchan_transport_jbm; ind++) { floatToFixed_arrL(st_ivas->hTcBuffer->tc[ind] + st_ivas->hTcBuffer->n_samples_rendered, st_ivas->hTcBuffer->tc_fx[ind] + st_ivas->hTcBuffer->n_samples_rendered, Q11, s_max(*nSamplesRendered, nSamplesAskedLocal)); floatToFixed_arrL(st_ivas->hTcBuffer->tc[ind] + st_ivas->hTcBuffer->n_samples_rendered, st_ivas->hTcBuffer->tc_fx[ind] + st_ivas->hTcBuffer->n_samples_rendered, Q11, nSamplesRendered_tmp); p_output_fx[ind] = malloc(sizeof(Word32) * 960); floatToFixed_arrL(p_output[ind], p_output_fx[ind], Q11, s_max(*nSamplesRendered, nSamplesAskedLocal)); } Loading
lib_dec/jbm_jb4sb.c +9 −0 Original line number Diff line number Diff line Loading @@ -862,12 +862,21 @@ static void JB4_adaptActivePlayout( { IF ( convertToLateLoss ) { #ifdef EVS_FLOAT JB4_dropFromBuffer( h ); #else JB4_dropFromBuffer( h ); h->nLostOrStretched = L_add( h->nLostOrStretched, 1 ); #endif // EVS_FLOAT } ELSE IF ( dropEarly ) { #ifdef EVS_FLOAT JB4_dropFromBuffer( h ); ++h->nLostOrStretched; #else JB4_dropFromBuffer( h ); #endif } ELSE { Loading