Skip to content

Encoder crashing in bandwidth switching (MDCT)

Basic info

Bug description

Using bandwidth switching with -max_band switch_file.txt, the encoder crashes when starting with WB and switching to SWB or FB.

This is happening at least on stereo, MASA 2TC, FOA, HOA2, HO3 inputs on bitrates that suggest MDCT stereo to be in use.

The call stack is

stereo_mdct_init_bands ivas_stereo_mdct_bands_com.c:167
initMdctStereoEncData ivas_stereo_mdct_stereo_enc.c:1136
stereo_mdct_core_enc ivas_stereo_mdct_core_enc.c:196
ivas_core_enc ivas_core_enc.c:293
ivas_cpe_enc ivas_cpe_enc.c:704
ivas_enc ivas_enc.c:178
IVAS_ENC_EncodeFrameToSerial lib_enc.c:1339
main encoder.c:760

pointing to line in stereo_mdct_init_bands()

int16_t igfSfbStep = hIgfGrid->infoIsRefined ? 2 : 1;

Ways to reproduce

IVAS_cod -q -max_band ivas_bws_20fr_start_WB.txt -stereo 48000 48 scripts/testv/stvST48c.wav bit.bs

or

IVAS_cod -q -max_band ivas_bws_20fr_start_WB.txt -masa  2 scripts/testv/stv1MASA2TC48c.met 96000 48 scripts/testv/stv1MASA2TC48c.wav bit.bs

or

IVAS_cod -q -max_band ivas_bws_20fr_start_WB.txt -sba 1 64000 48 scripts/testv/stvFOA48c.wav bit.bs

Switching sequences for testing, all transitions between WB, SWB, FB, switching every 20 frames