Loading lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -150,7 +150,7 @@ /* keep as part of options.h */ #define BASOP_NOGLOB /* Disable global symbols in BASOPs, Overflow/Carry in BASOPs disabled, additional BASOPs in case of Overflow */ /*#define DISABLE_LIMITER */ /* test switch for testing BE between 5ms and 20ms rendering */ #define DISABLE_LIMITER /* test switch for testing BE between 5ms and 20ms rendering */ /* ################## Start DEVELOPMENT switches ######################### */ Loading lib_dec/ivas_dirac_dec.c +15 −3 Original line number Diff line number Diff line Loading @@ -2232,19 +2232,25 @@ void ivas_dirac_dec_render_sf( int16_t az1, el1; int16_t n_slots_to_render; int16_t n_samples_to_render; #ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING int16_t interp_offset; #endif float gain, prev_gain; num_objects = st_ivas->nchan_ism; nchan_out_woLFE = st_ivas->hIntSetup.nchan_out_woLFE; n_slots_to_render = st_ivas->hSpar->subframe_nbslots[st_ivas->hSpar->subframes_rendered]; n_samples_to_render = hSpatParamRendCom->num_freq_bands * n_slots_to_render; #ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING interp_offset = st_ivas->hTcBuffer->n_samples_rendered; #endif if ( st_ivas->hCombinedOrientationData && st_ivas->hCombinedOrientationData->enableCombinedOrientation[0] ) { ivas_jbm_dec_get_adapted_linear_interpolator( n_samples_to_render, n_samples_to_render, st_ivas->hIsmRendererData->interpolator ); #ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING interp_offset = 0; #endif } for ( i = 0; i < num_objects; i++ ) Loading Loading @@ -2273,8 +2279,11 @@ void ivas_dirac_dec_render_sf( { float *tc_re, *tc_im; float *w1, w2; #ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING w1 = &st_ivas->hIsmRendererData->interpolator[st_ivas->hIsmRendererData->interp_offset]; #else w1 = &st_ivas->hIsmRendererData->interpolator[interp_offset]; #endif tc_re = pppQMfFrame_ts_re[nchan_transport + i][0]; tc_im = pppQMfFrame_ts_im[nchan_transport + i][0]; Loading Loading @@ -2302,6 +2311,9 @@ void ivas_dirac_dec_render_sf( } } } #ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING st_ivas->hIsmRendererData->interp_offset += hSpatParamRendCom->num_freq_bands * st_ivas->hSpar->subframe_nbslots[st_ivas->hSpar->subframes_rendered]; #endif } if ( st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED || st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) Loading lib_dec/ivas_ism_param_dec.c +3 −0 Original line number Diff line number Diff line Loading @@ -722,6 +722,9 @@ void ivas_ism_dec_digest_tc( { st_ivas->hIsmRendererData->interpolator[i] = st_ivas->hIsmRendererData->interpolator[i - 1] + 1.f / ( interpolator_length - 1 ); } #ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING st_ivas->hIsmRendererData->interp_offset = 0; #endif } else { Loading lib_dec/ivas_stat_dec.h +3 −0 Original line number Diff line number Diff line Loading @@ -807,6 +807,9 @@ typedef struct renderer_struct float prev_gains[MAX_NUM_OBJECTS][MAX_OUTPUT_CHANNELS]; float *interpolator; int16_t interpolator_length; #ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING int16_t interp_offset; #endif float gains[MAX_NUM_OBJECTS][MAX_OUTPUT_CHANNELS]; } ISM_RENDERER_DATA, *ISM_RENDERER_HANDLE; Loading Loading
lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -150,7 +150,7 @@ /* keep as part of options.h */ #define BASOP_NOGLOB /* Disable global symbols in BASOPs, Overflow/Carry in BASOPs disabled, additional BASOPs in case of Overflow */ /*#define DISABLE_LIMITER */ /* test switch for testing BE between 5ms and 20ms rendering */ #define DISABLE_LIMITER /* test switch for testing BE between 5ms and 20ms rendering */ /* ################## Start DEVELOPMENT switches ######################### */ Loading
lib_dec/ivas_dirac_dec.c +15 −3 Original line number Diff line number Diff line Loading @@ -2232,19 +2232,25 @@ void ivas_dirac_dec_render_sf( int16_t az1, el1; int16_t n_slots_to_render; int16_t n_samples_to_render; #ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING int16_t interp_offset; #endif float gain, prev_gain; num_objects = st_ivas->nchan_ism; nchan_out_woLFE = st_ivas->hIntSetup.nchan_out_woLFE; n_slots_to_render = st_ivas->hSpar->subframe_nbslots[st_ivas->hSpar->subframes_rendered]; n_samples_to_render = hSpatParamRendCom->num_freq_bands * n_slots_to_render; #ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING interp_offset = st_ivas->hTcBuffer->n_samples_rendered; #endif if ( st_ivas->hCombinedOrientationData && st_ivas->hCombinedOrientationData->enableCombinedOrientation[0] ) { ivas_jbm_dec_get_adapted_linear_interpolator( n_samples_to_render, n_samples_to_render, st_ivas->hIsmRendererData->interpolator ); #ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING interp_offset = 0; #endif } for ( i = 0; i < num_objects; i++ ) Loading Loading @@ -2273,8 +2279,11 @@ void ivas_dirac_dec_render_sf( { float *tc_re, *tc_im; float *w1, w2; #ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING w1 = &st_ivas->hIsmRendererData->interpolator[st_ivas->hIsmRendererData->interp_offset]; #else w1 = &st_ivas->hIsmRendererData->interpolator[interp_offset]; #endif tc_re = pppQMfFrame_ts_re[nchan_transport + i][0]; tc_im = pppQMfFrame_ts_im[nchan_transport + i][0]; Loading Loading @@ -2302,6 +2311,9 @@ void ivas_dirac_dec_render_sf( } } } #ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING st_ivas->hIsmRendererData->interp_offset += hSpatParamRendCom->num_freq_bands * st_ivas->hSpar->subframe_nbslots[st_ivas->hSpar->subframes_rendered]; #endif } if ( st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED || st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) Loading
lib_dec/ivas_ism_param_dec.c +3 −0 Original line number Diff line number Diff line Loading @@ -722,6 +722,9 @@ void ivas_ism_dec_digest_tc( { st_ivas->hIsmRendererData->interpolator[i] = st_ivas->hIsmRendererData->interpolator[i - 1] + 1.f / ( interpolator_length - 1 ); } #ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING st_ivas->hIsmRendererData->interp_offset = 0; #endif } else { Loading
lib_dec/ivas_stat_dec.h +3 −0 Original line number Diff line number Diff line Loading @@ -807,6 +807,9 @@ typedef struct renderer_struct float prev_gains[MAX_NUM_OBJECTS][MAX_OUTPUT_CHANNELS]; float *interpolator; int16_t interpolator_length; #ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING int16_t interp_offset; #endif float gains[MAX_NUM_OBJECTS][MAX_OUTPUT_CHANNELS]; } ISM_RENDERER_DATA, *ISM_RENDERER_HANDLE; Loading