Skip to content

ISM decoder crashes if first received frame is an SID

The attached bitstream was cut so that it starts with an SID:ism_sidstart_bs. When using it in the decoder with IVAS_dec EXT 48 ism_sidstart_bs out.wav, the decoder raises an error:

==================================================================================================
 IVAS Codec Baseline
 
 Based on EVS Codec (Floating Point) 3GPP TS26.443 Nov 04, 2021,
 Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0
==================================================================================================

Input bitstream file:   ism_sidstart_bs
Output synthesis file:  out.wav

Output sampling rate:   48000 Hz
Bitrate:                32.00 kbps
Input configuration:    ISM (ParamISM): 2 transport channels
Output configuration:   External renderer

------ Running the decoder ------


Failed allocation error: Failed to open limiter handle

In function: ivas_init_decoder(), lib_dec/ivas_init_dec.c:1517


Error: could not get samples from decoder: Failed allocation error

Frames processed:       Decoding finished prematurely

Using any other output format (e.g. STEREO), there is a Segfault happening:

==================================================================================================
 IVAS Codec Baseline
 
 Based on EVS Codec (Floating Point) 3GPP TS26.443 Nov 04, 2021,
 Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0
==================================================================================================

Input bitstream file:   ism_sidstart_bs
Output synthesis file:  out.wav

Output sampling rate:   48000 Hz
Bitrate:                32.00 kbps
Input configuration:    ISM (ParamISM): 2 transport channels
Output configuration:   Multichannel 5.1 (CICP6)

------ Running the decoder ------

fish: Job 1, './IVAS_dec 5_1 48 ism_sidstart_…' terminated by signal SIGSEGV (Address boundary error)

This happens both in paramISM and in discreteISM bitrates.