Skip to content

Non-BE difference in BASOP of BE port 376

Basic info

Bug description

There is a non-BE case in BE port related to JBM. This is very minor but can be reproduce with a couple MASA related JBM test cases. The main factors necessary seem to be 16 kHz output, JBM enabled, and output mode requiring rendering to at least two channels. A detailed analysis is found in the MR !2293 (merged) discussion.

The regressions test showing non-BE is here: https://forge.3gpp.org/rep/sa4/audio/ivas-basop/-/jobs/604838

And the case is

MASA 1dir 2TC bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 16kHz out, BINAURAL out, JBM Prof 5

The failing test case is for bitrate switching but it also happens for constant bitrate (at least 24.4, 64, and 128 kbps, not happening on 16.4 kbps). LTV run here https://forge.3gpp.org/rep/sa4/audio/ivas-basop/-/pipelines/65702

also shows diff for full fixed paths with larger for 2TC case and smaller for 1TC case. These test cases are

MASA 1TC bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 16kHz out, BINAURAL out, JBM Prof 5
MASA 2TC bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 16kHz out, BINAURAL out, JBM Prof 5

Ways to reproduce

Box folder: ...\Box_EXTERNAL_IVAS_BASOP_VERIFICATION\issues\issue-2179

Some bitstreams also in Box folder: ...\Box_EXTERNAL_IVAS_BASOP_VERIFICATION\issues\issue-2055

Using the input +10 dB stv file in the Box folder for this issue, one can easily reproduce this with the command-line

./IVAS_cod_flt -masa 2 stv1MASA2TC48n.met 24400 48 stv1MASA2TC48n+10dB.wav test.bit
./networkSimulator_g192 ./scripts/dly_error_profiles/dly_error_profile_5.dat test.bit test_netsimoutput.bit tracefile_sim 2 0
./IVAS_dec -no_delay_cmp -Tracefile tracefile_dec -VOIP BINAURAL 16 test_netsimoutput.bit test_out.wav

./IVAS_cod_flt_ref -masa 2 stv1MASA2TC48n.met 24400 48 stv1MASA2TC48n+10dB.wav ref.bit
./networkSimulator_g192 ./scripts/dly_error_profiles/dly_error_profile_5.dat ref.bit ref_netsimoutput.bit tracefile_sim_ref 2 0
./IVAS_dec_ref -no_delay_cmp -Tracefile tracefile_dec_ref -VOIP BINAURAL 16 ref_netsimoutput.bit ref_out.wav

The combination here is using float encoder and BASOP decoder. Notation is that _flt is the float version of the branch, _flt_ref is the commit froma ivas-float-update, and _ref is the commit from main. No suffix is the commit from BASOP branch. With the above command-lines, you should get a plot like this

Screenshot_2025-11-03_at_14.33.02

Edited by Tapani Pihlajakuja