[Mplayer-cvslog] CVS: main/libao2 pl_eq.c,1.2,1.3
Atmosfear
atmos4 at mplayerhq.hu
Sun Jun 16 03:44:45 CEST 2002
Update of /cvsroot/mplayer/main/libao2
In directory mail:/var/tmp.root/cvs-serv30457/libao2
Modified Files:
pl_eq.c
Log Message:
Fixed lround replacement, hopefully fast enough.
Index: pl_eq.c
===================================================================
RCS file: /cvsroot/mplayer/main/libao2/pl_eq.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- pl_eq.c 15 Jun 2002 23:31:58 -0000 1.2
+++ pl_eq.c 16 Jun 2002 01:44:33 -0000 1.3
@@ -89,16 +89,21 @@
return CONTROL_UNKNOWN;
}
+// return rounded 16bit int
+static inline int16_t lround16(double n){
+ return (int16_t)((n)>=0.0?(n)+0.5:(n)-0.5);
+}
+
// 2nd order Band-pass Filter design
void bp2(int16_t* a, int16_t* b, float fc, float q){
double th=2*3.141592654*fc;
double C=(1 - tan(th*q/2))/(1 + tan(th*q/2));
- a[0] = (int16_t)( 16383.0 * (1 + C) * cos(th) + 0.5);
- a[1] = (int16_t)(-16383.0 * C + 0.5);
+ a[0] = lround16( 16383.0 * (1 + C) * cos(th));
+ a[1] = lround16(-16383.0 * C);
- b[0] = (int16_t)(-16383.0 * (C - 1)/2 + 0.5);
- b[1] = (int16_t)(-16383.0 * 1.0050 + 0.5);
+ b[0] = lround16(-16383.0 * (C - 1)/2);
+ b[1] = lround16(-16383.0 * 1.0050);
}
// empty buffers
More information about the MPlayer-cvslog
mailing list