Skip to content

ISM1 non-diegetic panning uses wrong buffer

Basic info

Bug description

Non-diegetic panning for one object (ISM1) uses the output buffer also as object input instead if the transport channel buffer, therefore accessing the wrong time domain samples of the object in non-20ms or JBM rendering.

Ways to reproduce

Disable the limiter by adding

#define DISABLE_LIMITER

to lib_com/options.h. Run

.\IVAS_cod -ism 1 scripts/testv/stvISM1.csv 32000 48 scripts/testv/stv1ISM48s.wav bit
.\IVAS_dec -q -fr 5 -non_diegetic_pan 80 STEREO 48 bit fr5.wav
.\IVAS_dec -q -fr 20 -non_diegetic_pan 80 STEREO 48 bit fr20.wav

and compare the resulting wave files.