Admin message

WARNING! Gitlab maintenance operation scheduled for Monday, 20 April between 12:00 and 14:00 (CET). During this time window, short service interruptions (less than 5 minutes) may occur. Thank you in advance for your understanding.

Error-prone condition in ivas_decision_matrix_enc_fx()

Bug description

In ivas_decision_matrix_enc_fx() we have a wrong or at least error prone condition compared to the floating-point code, at line 343:

BASOP:

ELSE IF( GE_16( extract_l( st->total_brate ), MIN_BRATE_WB_BWE ) && !st->flag_ACELP16k )

Float:

else if ( st->total_brate >= MIN_BRATE_WB_BWE && !st->flag_ACELP16k )

The problem is really the extract_l() around st->total_brate, which only extracts the lowest 16 bits. I.e. in case st->total_brate > 32767 this check might fail.

In my opinion, the extract_l() should be removed and GE_16() should be replaced by GE_32().

Assignee Loading
Time tracking Loading