Skip to content

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