BASOP Asserts for BINAURAL_ROOM_REVERB output on main-pc
# Basic info <!--- Add commit SHA used to reproduce--> - Encoder and Decoder (main-pc): b4d3594ab136751b1e3324e5b4a5fd246ee601da # Bug description In https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec/-/merge_requests/2176 some previously deactivated testcases are activated again for main-pc/float-pc. A pipeline run for main-pc revealed that some of these cases with BINAURAL_ROOM_REVERB output trigger a BASOP Assert: ![Screenshot_2025-07-08_at_07.50.04](/uploads/162a20414b0aa9e8dead390a522668c1/Screenshot_2025-07-08_at_07.50.04.png) The triggering code is in `ivas_binaural_obtain_DMX_fx()`: ``` c FOR( bandIdx = 0; bandIdx < hBinRenderer->conv_band; bandIdx++ ) { P_out_fx = 0; move32(); FOR( k = 0; k < numTimeSlots; k++ ) { temp1_fx = realDMX[chOutIdx][k][bandIdx]; move32(); temp2_fx = imagDMX[chOutIdx][k][bandIdx]; move32(); P_out_fx = L_add( P_out_fx, L_add( Mpy_32_32( temp1_fx, temp1_fx ), Mpy_32_32( temp2_fx, temp2_fx ) ) ); // Q31-2*Q_in } test(); IF( ( P_in_fx[bandIdx] <= 0 ) || ( P_out_fx <= 0 ) ) { factEQ_fx = 0x40000000; // 1.0f in Q30 move32(); } ELSE { Word16 div = divide3232( P_in_fx[bandIdx], P_out_fx ); Word16 exp = norm_l( div ); factEQ_fx = Sqrt32( L_shl( div, Q16 ), &exp ); factEQ_fx = L_shl( factEQ_fx, sub( exp, 1 ) ); // Q30 // <--------------------- Assert happens in here } if ( factEQ_fx <= 0 ) { factEQ_fx = 0x40000000; // 1.0f in Q30 move32(); } ``` # Ways to reproduce See [here](https://forge.3gpp.org/rep/sa4/audio/ivas-basop/-/jobs/489251) for the failed testcases. One example below <!--Commandline or script--> ```bash /IVAS_cod_main-pc -mc 7_1_4 160000 48 scripts/testv/stv714MC48c.wav bit ./IVAS_dec_main-pc BINAURAL_ROOM_REVERB 48 bit out.wav ``` <!--- 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