Bug in OSBA EXT output smoothing
The OSBA 3OA decoding to the EXT output configuration seems to have a bug: at low bitrates, the function ivas_spar_calc_smooth_facs() is not called for EXT while it is called when the output configuration is HOA2/HOA3. I guess that both outputs should use the same processing.
I thus think that the right logic is (file ivas_spar_decoder.c, cca line 1559 and 2 similar instances in this file):
#ifdef FIX_1052_EXT_OUTPUT_SBA
if ( ( hDecoderConfig->ivas_total_brate < IVAS_24k4 ) && ( ( st_ivas->intern_config == IVAS_AUDIO_CONFIG_HOA2 || st_ivas->intern_config == IVAS_AUDIO_CONFIG_HOA3 ) ) )
#else
if ( ( hDecoderConfig->ivas_total_brate < IVAS_24k4 ) && ( ( hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_HOA2 ) || ( hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_HOA3 ) ) )
#endif
The fix FIX_1052_EXT_OUTPUT_SBA is implemented as part of !1487 (merged).
Edited by vaclav