Loading lib_com/options.h +4 −0 Original line number Diff line number Diff line Loading @@ -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 lib_com/swb_tbe_com_fx.c +1 −0 Original line number Diff line number Diff line Loading @@ -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 */ Loading lib_enc/cod4t64_fx.c +4 −1 Original line number Diff line number Diff line Loading @@ -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 ); } Loading lib_enc/enc_acelp_fx.c +17 −3 Original line number Diff line number Diff line Loading @@ -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 ); Loading Loading @@ -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]; Loading Loading @@ -1711,7 +1717,7 @@ void E_ACELP_4tsearch_ivas_fx( Word16 dn[] /*Qdn*/, const Word16 cn[] /*Q_xn*/, } return; } #endif /* * E_ACELP_4t_fx * Loading Loading @@ -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; Loading lib_enc/enc_acelpx_fx.c +13 −3 Original line number Diff line number Diff line Loading @@ -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(); Loading Loading @@ -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 ); } Loading @@ -567,6 +575,7 @@ void E_ACELP_4tsearchx_fx( IF( s > 0 ) { ps2k = ps2; move16(); alpk = alp; move16(); Loading @@ -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*/ Loading Loading @@ -856,3 +865,4 @@ void E_ACELP_4tsearchx_ivas_fx( } } } #endif Loading
lib_com/options.h +4 −0 Original line number Diff line number Diff line Loading @@ -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
lib_com/swb_tbe_com_fx.c +1 −0 Original line number Diff line number Diff line Loading @@ -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 */ Loading
lib_enc/cod4t64_fx.c +4 −1 Original line number Diff line number Diff line Loading @@ -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 ); } Loading
lib_enc/enc_acelp_fx.c +17 −3 Original line number Diff line number Diff line Loading @@ -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 ); Loading Loading @@ -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]; Loading Loading @@ -1711,7 +1717,7 @@ void E_ACELP_4tsearch_ivas_fx( Word16 dn[] /*Qdn*/, const Word16 cn[] /*Q_xn*/, } return; } #endif /* * E_ACELP_4t_fx * Loading Loading @@ -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; Loading
lib_enc/enc_acelpx_fx.c +13 −3 Original line number Diff line number Diff line Loading @@ -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(); Loading Loading @@ -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 ); } Loading @@ -567,6 +575,7 @@ void E_ACELP_4tsearchx_fx( IF( s > 0 ) { ps2k = ps2; move16(); alpk = alp; move16(); Loading @@ -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*/ Loading Loading @@ -856,3 +865,4 @@ void E_ACELP_4tsearchx_ivas_fx( } } } #endif