Assert in acelp_core_dec_fx, MC5.1@24k4 to STEREO decoding in fx-fx +10 dB LTV test
# Basic info <!--- Add commit SHA used to reproduce--> - Fixed point: - Encoder (fixed): 18cf5972e1ae32f633359a92cdc369e0c752de81 - Decoder (fixed): 18cf5972e1ae32f633359a92cdc369e0c752de81 # Bug description Assert in acelp_core_dec_fx, during scale_sig32 operation on cldfb buffers. ![image.png](/uploads/a7df310d4a9609df039a5e210f6d75fd/image.png){width="546" height="267"} ``` max_val = L_max( max_real, max_imag ); Q_real = sub( norm_l( max_val ), 3 ) /* Guard bits */; FOR( i = 0; i < CLDFB_NO_COL_MAX; i++ ) { scale_sig32( realBuffer_fx[i], CLDFB_NO_CHANNELS_MAX, Q_real ); // Q_real scale_sig32( imagBuffer_fx[i], CLDFB_NO_CHANNELS_MAX, Q_real ); // Q_real } scale_sig32( st->cldfbSyn->cldfb_state_fx, st->cldfbSyn->p_filter_length, sub( Q_real, Q11 ) ); // Q10 - > (Q_real-1) <= assert here st->cldfbSyn->Q_cldfb_state = sub( Q_real, 1 ); move16(); cldfbSynthesis_ivas_fx( realBuffer_fx, imagBuffer_fx, synth_fx, -1, 0, 0, st->cldfbSyn ); scale_sig32( synth_fx, output_frame, negate( sub( Q_real, 1 ) ) ); // Q0 scale_sig32( st->cldfbSyn->cldfb_state_fx, st->cldfbSyn->p_filter_length, sub( Q10, sub( Q_real, 1 ) ) ); // Q10 st->cldfbSyn->Q_cldfb_state = Q10; move16(); ``` # Ways to reproduce [bs_cut.192](/uploads/73514e0efb2ce09ddcc174e18b655461/bs_cut.192) <!--Commandline or script--> ```bash Shortcut: IVAS_dec STEREO 48 bs_cut.192 out.wav Long story: git checkout ivas-float-update make clean;make -j cp IVAS_cod IVAS_cod_ref; cp IVAS_dec IVAS_dec_ref; cp IVAS_rend IVAS_rend_ref; git checkout main make clean;make -j cp /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-Multi-channel 5_1 at 24.4 kbps, 48kHz in, 48kHz out, STEREO out]" --param_file scripts/config/self_test_ltv.prm -n 1 --update_ref 1 pytest "tests/codec_be_on_mr_nonselection/test_param_file.py::test_param_file_tests[ltv-Multi-channel 5_1 at 24.4 kbps, 48kHz in, 48kHz out, STEREO out]" --param_file scripts/config/self_test_ltv.prm -n 1 ``` <!--- 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