diff --git a/lib_com/options.h b/lib_com/options.h index a106710c88ef5f4dea8da12887d31b0a2bf292a8..52be917c0d2a702f2fcafec2c9cc8c7a3519a381 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -125,6 +125,7 @@ #define FIX_BASOP_2496_OMASA_OBJ_EDIT_WRONG_ASSIGN /* Nokia: BASOP 2496: Fix wrong assignment in OMASA object edit code */ #define FIX_2495_Q_ALIGN_OSBA_RENDERER /* FhG: Basop issue #2495: Corrected exponent scaling of outAudio.data_fx before buffer accumulation in renderSbaToBinaural(). */ #define FIX_BASOP_2511_PROTO_REF_POWER_FIX /* FhG: BASOP 2511; Fix reference power computation in protoSignalComputation_shd_fx() */ +#define FIX_BASOP_2512_WRONG_SHIFT_IN_DIRAC_CONFIG /* Nokia: BASOP 2512: Fix wrong division by shift */ /* ##################### End NON-BE switches ########################### */ diff --git a/lib_rend/ivas_dirac_rend_fx.c b/lib_rend/ivas_dirac_rend_fx.c index 2d7004b35955400d704d5686dbf4a3eeefc2db88..2b279656a4ae5d1c8b2827efdbccc67a8e7aad55 100644 --- a/lib_rend/ivas_dirac_rend_fx.c +++ b/lib_rend/ivas_dirac_rend_fx.c @@ -331,13 +331,21 @@ ivas_error ivas_spat_hSpatParamRendCom_config_fx( ELSE { Word16 num_slots_in_subfr, tmp; +#ifdef FIX_BASOP_2512_WRONG_SHIFT_IN_DIRAC_CONFIG + tmp = 0; +#else tmp = 1; +#endif move16(); - IF( dec_param_estim_flag ) - num_slots_in_subfr = CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES; - ELSE - num_slots_in_subfr = 1; + + num_slots_in_subfr = 1; move16(); + if ( dec_param_estim_flag ) + { + num_slots_in_subfr = CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES; + move16(); + } + hSpatParamRendCom->dirac_md_buffer_length = MAX_PARAM_SPATIAL_SUBFRAMES + DELAY_DIRAC_PARAM_DEC_SFR; move16(); hSpatParamRendCom->dirac_bs_md_write_idx = DELAY_DIRAC_PARAM_DEC_SFR;