Assert in OMASA bitrate switching decoder +10 dB, ivas_stereo_dft_plc_fx
# Basic info <!--- Add commit SHA used to reproduce--> * Float reference: * Encoder (float): 8e74100b2f8efbff75da395b320f19b9c20d91b9 * Fixed point: * Decoder (fixed): 7ce3889a426aa54a0d09621ce9f276a440719a67 # Bug description Assert (overflow) in L_add in stereo_dft_dmx_nrg_fx: https://forge.3gpp.org/rep/sa4/audio/ivas-basop/-/blob/main/lib_dec/ivas_stereo_dft_plc_fx.c#L788 It happens in frame 4921 when running the full bitstream (see below) or frame 121 in the cut bitstream attached to this ticket. ``` FOR( i = 0; i < frame_length / 2; i++ ) { dmx_nrg = L_add( dmx_nrg, L_add( Madd_32_32( Mpy_32_32( dmx_k0[2 * i], dmx_k0[2 * i] ), dmx_k0[2 * i + 1], dmx_k0[2 * i + 1] ), Madd_32_32( Mpy_32_32( dmx_k1[2 * i], dmx_k1[2 * i] ), dmx_k1[2 * i + 1], dmx_k1[2 * i + 1] ) ) ); /* Q0 */ } ``` ![image.png](/uploads/8798689c5508dc38194a22307c7c773c/image.png){width=549 height=351} # Ways to reproduce Cut bitstream: [bs_cut2.192](/uploads/74152c914cfacabc0afd7e06c853e853/bs_cut2.192) <!--Commandline or script--> ```bash # Shortcut IVAS_dec STEREO 32 bs_cut2.192 out.wav # All steps cp -v /usr/local/ltv/* scripts/testv python3 tests/scale_pcm.py scripts/testv 3.162 pytest "tests/codec_be_on_mr_nonselection/test_param_file.py::test_param_file_tests[ltv-OSBA 3ISM 2OA at bitrate switching 13.2 to 512 kbps, 48kHz in, 32kHz out, STEREO out, FER at 10%]" --update_ref 1 -n 1 --param_file scripts/config/self_test_ltv.prm pytest "tests/codec_be_on_mr_nonselection/test_param_file.py::test_param_file_tests[ltv-OSBA 3ISM 2OA at bitrate switching 13.2 to 512 kbps, 48kHz in, 32kHz out, STEREO out, FER at 10%]" -n 1 --param_file scripts/config/self_test_ltv.prm --dut_encoder_path IVAS_cod_ref ``` <!--- Below are labels that will be added but are not shown in description. This is a template to help fill them. Add further information to the first row and remove and add labels as necessary.-->
issue