diff --git a/lib_com/options.h b/lib_com/options.h index db944f93de577fcdbbe710b798742da2d65f1f53..9f5a5b1dbb0671d74b405594db51cf7f9b86f5df 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -111,6 +111,7 @@ #define FIX_BASOP_2498_LOGIC_IN_ENC_DTX_DECISION_MTX /* Nokia: BASOP 2498: Fix the logic */ #define FIX_BASOP_2497_MCMASA_LFE_WRONG_SF_INDEX /* Nokia: BASOP 2497: Fix wrong subframe index in McMASA LFE synth. */ #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(). */ /* ##################### End NON-BE switches ########################### */ diff --git a/lib_rend/lib_rend_fx.c b/lib_rend/lib_rend_fx.c index 8ade538fcc7ba8f30eadcaadc465111ccf885d2f..3c2b545f9c888c9245201af559653befaf6390b7 100644 --- a/lib_rend/lib_rend_fx.c +++ b/lib_rend/lib_rend_fx.c @@ -8672,6 +8672,9 @@ static ivas_error renderSbaToBinaural( IF( hCrend->hReverb != NULL ) { +#ifdef FIX_2495_Q_ALIGN_OSBA_RENDERER + scale_sig32( outAudio.data_fx, i_mult( outAudio.config.numChannels, outAudio.config.numSamplesPerChannel ), -Q2 ); // Align Q of outAudio.data_fx with Q of output_buffer_fx: *pCrend->p_io_qfactor = *outAudio.pq_fact - Q2 +#endif *outAudio.pq_fact = sub( *outAudio.pq_fact, Q2 ); move16(); }