Differences between ivas_dec() and ivas_jbm_dec() for MC_MODE_MCT
There are two differences between ivas_dec()
and ivas_jbm_dec()
for MC_MODE_MCT which might indicate either a bug or a dead code. The related instances are marked with ToDo
comments.
- Missing init of
hTcxCfg
:
if ( st_ivas->mc_mode == MC_MODE_MCT )
{
if ( st_ivas->hCPE[1]->hCoreCoder[1]->hTcxCfg == NULL ) // ToDo: this is missing in ivas_dec() -> TBV
{
st_ivas->hCPE[1]->hCoreCoder[1]->hTcxCfg = st_ivas->hCPE[1]->hCoreCoder[0]->hTcxCfg;
}
/* LFE channel decoder */
ivas_lfe_dec( st_ivas->hLFE, st, output_frame, st_ivas->bfi, p_output[LFE_CHANNEL] );
...
}
- missing check against a number of channels:
if ( st_ivas->transport_config != st_ivas->intern_config && ( st_ivas->intern_config == AUDIO_CONFIG_FOA || st_ivas->intern_config == AUDIO_CONFIG_HOA2 || st_ivas->intern_config == AUDIO_CONFIG_HOA3 ) )
{
if ( ( st_ivas->hTransSetup.nchan_out_woLFE + st_ivas->hTransSetup.num_lfe ) >= ( st_ivas->hIntSetup.nchan_out_woLFE + st_ivas->hIntSetup.num_lfe ) ) // ToDo: this is missing in ivas_dec() -> TBV
{
ivas_mc2sba( st_ivas->hTransSetup, p_output, p_output, output_frame, st_ivas->hIntSetup.ambisonics_order, GAIN_LFE );
}
}