Mismatching logic operator in ivas_decision_matrix_enc_fx between BASOP and float

Basic info

  • Float reference:
    • Encoder (float): 08cd86420da38cb0eb176218999e5fca74ed4584
  • Fixed point:
    • Encoder (fixed): 7897b35e

Bug description

Looking at code in ivas_decision_matrix_enc_fx, the code below has a mismatch compared to float implementation, EVS versions, and also decoder. All other ones use &&-operator at the indicated place but this has ||.

    /* SID and FRAME_NO_DATA frames */
    IF( st->Opt_DTX_ON && ( EQ_32( st->core_brate, SID_2k40 ) || st->core_brate == FRAME_NO_DATA ) )
    {
        st->core = ACELP_CORE;
        move16();

        test();
BUG ->  if ( GE_32( st->input_Fs, 32000 ) || GE_16( st->bwidth, SWB ) )
        {
            st->extl = SWB_CNG;
            move16();
        }
        st->rf_mode = 0;
        move16();

        return;
    }
Assignee Loading
Time tracking Loading