minor stuff
authorjm <jm@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Sat, 17 Dec 2005 09:12:10 +0000 (09:12 +0000)
committerjm <jm@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Sat, 17 Dec 2005 09:12:10 +0000 (09:12 +0000)
git-svn-id: http://svn.xiph.org/trunk/speex@10612 0101bb08-14d6-0310-b084-bc0e0c8e3800

libspeex/mdf.c
libspeex/pseudofloat.h

index 1530801..e0c3126 100644 (file)
@@ -431,6 +431,8 @@ void speex_echo_cancel(SpeexEchoState *st, short *ref, short *echo, short *out,
    st->Pey = FLOAT_ADD(FLOAT_MULT(alpha_1,st->Pey) , FLOAT_MULT(alpha,Pey));
    st->Pyy = FLOAT_ADD(FLOAT_MULT(alpha_1,st->Pyy) , FLOAT_MULT(alpha,Pyy));
    /* We don't really hope to get better than 33 dB attenuation anyway */
+   if (FLOAT_LT(st->Pyy, FLOAT_ONE))
+      st->Pyy = FLOAT_ONE;
    if (FLOAT_LT(st->Pey, FLOAT_MULT(MIN_LEAK,st->Pyy)))
       st->Pey = FLOAT_MULT(MIN_LEAK,st->Pyy);
    if (FLOAT_GT(st->Pey, st->Pyy))
index 5ae5692..4b4d5ce 100644 (file)
@@ -291,10 +291,13 @@ static inline spx_float_t FLOAT_DIV32(spx_word32_t a, spx_word32_t b)
 #define FLOAT_MUL32(a,b) ((a)*(b))
 #define FLOAT_DIV32(a,b) ((a)/(b))
 #define FLOAT_ADD(a,b) ((a)+(b))
+#define FLOAT_SUB(a,b) ((a)-(b))
 #define REALFLOAT(x) (x)
 #define FLOAT_DIV32_FLOAT(a,b) ((a)/(b))
 #define FLOAT_MUL32U(a,b) ((a)*(b))
 #define FLOAT_SHL(a,b) (a)
+#define FLOAT_LT(a,b) ((a)<(b))
+#define FLOAT_GT(a,b) ((a)>(b))
 
 #endif