Skip to content

Macro IVAS_GAIN_MOD in Es_pred_dec_fx()

In the function Es_pred_dec_fx() there is a block within IVAS_GAIN_MOD:

void Es_pred_dec_fx(
    Word16 *Es_pred,      /* o  : predicited scaled innovation energy       Q8*/
    const Word16 enr_idx, /* i  : indice                              */
    const Word16 nb_bits, /* i  : number of bits                      */
    const Word16 no_ltp   /* i  : no LTP flag                         */
)
{
#ifdef IVAS_GAIN_MOD
    PMT( "Verify if Es_pred_dec_fx should use noltp parameters" )
#endif
    IF( no_ltp == 0 )
    {
        SWITCH( nb_bits )
        {
            case 5:
                *Es_pred = Es_pred_qua_5b_fx[enr_idx]; /*Q8*/
                move16();
                BREAK;
            case 4:
                *Es_pred = Es_pred_qua_4b_fx[enr_idx]; /*Q8*/
                move16();
                BREAK;
            case 3:
                *Es_pred = Es_pred_qua_3b_fx[enr_idx]; /*Q8*/
                break;
            default:
                *Es_pred = Es_pred_qua_5b_fx[enr_idx]; /*Q8*/
                move16();
                BREAK;
        }
    }
    ELSE
    {
        *Es_pred = Es_pred_qua_4b_no_ltp_fx[enr_idx]; /*Q8*/
        move16();
    }
}

Could this be clarified, whether this code is correct? If yes, coud we remove the block in IVAS_GAIN_MOD?