Stack size in stereo decoder
The stereo decoder stack consumption analysis revealed substantial differences between unified stereo (132,584 Bytes) and MDCT stereo (155,892 Bytes).
The MDCT stereo numbers are as follows:
List of functions when maximum stack size is reached:
IVAS_DEC_GetSamplesDecoder() 52 bytes
IVAS_DEC_GetTcSamples() 36 bytes
ivas_jbm_dec_tc() 136 bytes
ivas_cpe_dec() 23972 bytes
ivas_core_dec() 19764 bytes
stereo_mdct_core_dec() 37004 bytes
ivas_mdct_core_reconstruct() 33508 bytes
decoder_tcx_imdct() 18596 bytes
IMDCT() 9340 bytes
edct() 4868 bytes
fft() 28 bytes
fft_lenN() 8152 bytes
fft_len32() 436 bytes
At the first look, it seems that it could be relatively easy to lower it.
As the stereo decoder, or CPE decoder in general, is used in other formats as well, lower numbers for stack consumption are expected in other formats as well.
Edited by vaclav