Commit 32f66381 authored by vaillancour's avatar vaillancour
Browse files

Start of Reusing EVS FCB

parent 9ba16741
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -98,6 +98,10 @@
    #define USE_EVS_Est_tilt2_FUNC
#endif

#define USE_EVS_FCB_1
#define USE_EVS_FCB_2           /* replace E_ACELP_4tsearch_ivas_fx with EVS, BE except for maybe one scaling condition that has to be verified on 26.444*/
#define USE_EVS_FCB_3 /*  replace E_ACELP_4tsearchx_ivas_fx with EVS, BE except for maybe one scaling condition that has to be verified on 26.444*/ */

#endif

#endif
+1 −0
Original line number Diff line number Diff line
@@ -234,6 +234,7 @@ void tbe_celp_exc(
 *
 * Compute tbe bwe celp excitation
 *-------------------------------------------------------------------*/

void tbe_celp_exc_ivas(
    const Word16 element_mode, /* i  : element mode            */
    const Word16 idchan,       /* i  : channel ID              */
+4 −1
Original line number Diff line number Diff line
@@ -714,8 +714,11 @@ Word16 acelp_4t64_ivas_fx(

    IF( acelpautoc )
    {
#ifndef USE_EVS_FCB_3
        E_ACELP_4tsearchx_ivas_fx( dn, cn, R, code, &config, ind, element_mode );

#else
        E_ACELP_4tsearchx_fx( dn, cn, R, code, &config, ind );
#endif
        /* Generate weighted code */
        E_ACELP_weighted_code( code, H, 12, y );
    }
+17 −3
Original line number Diff line number Diff line
@@ -1143,7 +1143,13 @@ void E_ACELP_4tsearch_fx( Word16 dn[] /*Qdn*/, const Word16 cn[] /*Q_xn*/, const
        scale = -2;
        move16();
    }

#ifdef USE_EVS_FCB_2 /* To be verified if it affects BE on 26.444, if yes, just a condition for IVAS here*/
    if ( EQ_16( val, 32767 ) )
    {
        scale = -3;
        move16();
    }
#endif
    Copy_Scale_sig( H, h, L_SUBFR, scale ); /*Q12+scale*/

    E_ACELP_vec_neg_fx( h, h_inv, L_SUBFR );
@@ -1386,7 +1392,7 @@ void E_ACELP_4tsearch_fx( Word16 dn[] /*Qdn*/, const Word16 cn[] /*Q_xn*/, const
    }
    return;
}

#ifndef USE_EVS_FCB_2
void E_ACELP_4tsearch_ivas_fx( Word16 dn[] /*Qdn*/, const Word16 cn[] /*Q_xn*/, const Word16 H[] /*Q12*/, Word16 code[] /*Q9*/, const PulseConfig *config, Word16 ind[] /*Q0*/, Word16 y[] /*Qy*/ )
{
    Word16 sign[L_SUBFR], vec[L_SUBFR];
@@ -1711,7 +1717,7 @@ void E_ACELP_4tsearch_ivas_fx( Word16 dn[] /*Qdn*/, const Word16 cn[] /*Q_xn*/,
    }
    return;
}

#endif
/*
 * E_ACELP_4t_fx
 *
@@ -1863,11 +1869,19 @@ void E_ACELP_4t_ivas_fx(

    IF( acelpautoc )
    {
#ifndef USE_EVS_FCB_3
        E_ACELP_4tsearchx_ivas_fx( dn, cn, R, code, &config, ind, element_mode );
#else
        E_ACELP_4tsearchx_fx( dn, cn, R, code, &config, ind );
#endif
    }
    ELSE
    {
#ifndef USE_EVS_FCB_2
        E_ACELP_4tsearch_ivas_fx( dn, cn, H, code, &config, ind, y );
#else
        E_ACELP_4tsearch_fx( dn, cn, H, code, &config, ind, y );
#endif
    }
    E_ACELP_indexing_fx( code, &config, NB_TRACK_FCB_4T, _index );
    return;
+13 −3
Original line number Diff line number Diff line
@@ -383,6 +383,7 @@ void E_ACELP_4tsearchx_fx(
    Word16 scale;
    Word16 sign_val_1, sign_val_2;
    Word16 nb_pulse, nb_pulse_m2;

    move16();
    move16();

@@ -552,8 +553,15 @@ void E_ACELP_4tsearchx_fx(
                E_ACELP_1pulse_searchx_fx( &ipos[j], R, &ps, &alp,
                                           &ind[j], dn, cor, sign, sign_val_1 );
            }


#ifdef USE_EVS_FCB_3
            IF( GT_16( alp, ONE_IN_Q14 ) )
            {
                alp = shr( alp, 1 );
                Scale_sig( cor, L_SUBFR, -1 );           /*Q8*/
                Scale_sig( R_buf, 2 * L_SUBFR - 1, -1 ); /*Q8+scale*/
                Scale_sig( dn, L_SUBFR, -1 );            /*Qdn-1*/
            }
#endif
            st = add( st, 1 );
        }

@@ -567,6 +575,7 @@ void E_ACELP_4tsearchx_fx(
        IF( s > 0 )
        {
            ps2k = ps2;

            move16();
            alpk = alp;
            move16();
@@ -580,7 +589,7 @@ void E_ACELP_4tsearchx_fx(
     */
    E_ACELP_build_code( nb_pulse, codvec, sign, code, ind );
}

#ifndef USE_EVS_FCB_3
void E_ACELP_4tsearchx_ivas_fx(
    Word16 dn[],       /*Qdn*/
    const Word16 cn[], /*Q_new*/
@@ -856,3 +865,4 @@ void E_ACELP_4tsearchx_ivas_fx(
        }
    }
}
#endif
Loading