Loading lib_dec/ivas_jbm_dec.c +31 −4 Original line number Diff line number Diff line Loading @@ -1254,11 +1254,38 @@ ivas_error ivas_jbm_dec_render( ivas_ism_render_sf( st_ivas, st_ivas->renderer_type, p_output, *nSamplesRendered ); /* add already rendered SBA part */ #ifdef OBJ_EDITING_API if (st_ivas->ivas_format == SBA_ISM_FORMAT && st_ivas->ism_mode == ISM_SBA_MODE_DISC) { float gain = st_ivas->hSbaIsmData->gain_bed; if ( gain != 1.0f && gain >= 0.0f ) { int16_t i; for (n = 0; n < nchan_out; n++) { for (i = 0; i < *nSamplesRendered; i++) { p_output[n][i] += p_tc[n + st_ivas->nchan_ism][i] * gain; } } } else { for (n = 0; n < nchan_out; n++) { v_add(p_output[n], p_tc[n + st_ivas->nchan_ism], p_output[n], *nSamplesRendered); } } } else #endif { for ( n = 0; n < nchan_out; n++ ) { v_add( p_output[n], p_tc[n + st_ivas->nchan_ism], p_output[n], *nSamplesRendered ); } } } else if ( st_ivas->renderer_type == RENDERER_OSBA_AMBI || st_ivas->renderer_type == RENDERER_OSBA_LS || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) { if ( ( error = ivas_osba_render_sf( st_ivas, nSamplesAskedLocal, nSamplesRendered, nSamplesAvailableNext, p_output ) ) != IVAS_ERR_OK ) Loading Loading
lib_dec/ivas_jbm_dec.c +31 −4 Original line number Diff line number Diff line Loading @@ -1254,11 +1254,38 @@ ivas_error ivas_jbm_dec_render( ivas_ism_render_sf( st_ivas, st_ivas->renderer_type, p_output, *nSamplesRendered ); /* add already rendered SBA part */ #ifdef OBJ_EDITING_API if (st_ivas->ivas_format == SBA_ISM_FORMAT && st_ivas->ism_mode == ISM_SBA_MODE_DISC) { float gain = st_ivas->hSbaIsmData->gain_bed; if ( gain != 1.0f && gain >= 0.0f ) { int16_t i; for (n = 0; n < nchan_out; n++) { for (i = 0; i < *nSamplesRendered; i++) { p_output[n][i] += p_tc[n + st_ivas->nchan_ism][i] * gain; } } } else { for (n = 0; n < nchan_out; n++) { v_add(p_output[n], p_tc[n + st_ivas->nchan_ism], p_output[n], *nSamplesRendered); } } } else #endif { for ( n = 0; n < nchan_out; n++ ) { v_add( p_output[n], p_tc[n + st_ivas->nchan_ism], p_output[n], *nSamplesRendered ); } } } else if ( st_ivas->renderer_type == RENDERER_OSBA_AMBI || st_ivas->renderer_type == RENDERER_OSBA_LS || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) { if ( ( error = ivas_osba_render_sf( st_ivas, nSamplesAskedLocal, nSamplesRendered, nSamplesAvailableNext, p_output ) ) != IVAS_ERR_OK ) Loading