diff options
-rwxr-xr-x | mec2.h | 7 | ||||
-rwxr-xr-x | mec2_const.h | 2 |
2 files changed, 8 insertions, 1 deletions
@@ -330,9 +330,16 @@ static inline short echo_can_update(echo_can_state_t *ec, short iref, short isig // check for residual error suppression */ #ifndef NO_ECHO_SUPPRESSOR +#ifdef AGGRESSIVE_SUPPRESSOR + if ((ec->HCNTR_d < AGGRESSIVE_HCNTR) && (ec->Ly_i > (ec->Lu_i << 1))) { + u = u * (ec->Lu_i >> DEFAULT_SIGMA_LU_I) / ((ec->Ly_i >> (DEFAULT_SIGMA_LY_I)) + 1); + u = u * (ec->Lu_i >> DEFAULT_SIGMA_LU_I) / ((ec->Ly_i >> (DEFAULT_SIGMA_LY_I)) + 1); + } +#else if ((ec->HCNTR_d == 0) && ((ec->Ly_i/(ec->Lu_i + 1)) > DEFAULT_SUPPR_I)) { u = u * (ec->Lu_i >> DEFAULT_SIGMA_LU_I) / ((ec->Ly_i >> (DEFAULT_SIGMA_LY_I + 2)) + 1); } +#endif #endif #if 0 diff --git a/mec2_const.h b/mec2_const.h index e4df09c..9c897f4 100755 --- a/mec2_const.h +++ b/mec2_const.h @@ -19,7 +19,7 @@ #define SUPPR_FLOOR -64 #define SUPPR_CEIL -24 #define RES_SUPR_FACTOR -20 - +#define AGGRESSIVE_HCNTR 160 /* 20ms */ #endif /* _MEC2_CONST_H */ |