changeset 331:5e82b21d1914

Minor fix to filter (mean value does not get reset on every filtered audio block)
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 22 Sep 2005 01:53:05 +0000
parents e0abd282d6b7
children 961212302eb9
files src/xs_filter.c
diffstat 1 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/xs_filter.c	Thu Sep 22 01:44:00 2005 +0000
+++ b/src/xs_filter.c	Thu Sep 22 01:53:05 2005 +0000
@@ -26,19 +26,23 @@
 #define XS_FVAR(T, P, K) g ## K ## int ## P *sp_ ## T ## P , *dp_ ## T ## P
 
 #define XS_FILTER1(T, P, K, Q)							\
-	dataSize /= sizeof(g ## K ## int ## P); tmpo = 0;			\
+	dataSize /= sizeof(g ## K ## int ## P); 				\
 	sp_ ## T ## P = (g ## K ## int ## P *) srcBuf;				\
 	dp_ ## T ## P = (g ## K ## int ## P *) destBuf;				\
 	while (dataSize-- > 0) {						\
 		for (tmp = 0, i = 0; i < oversampleFactor; i++)			\
 			tmp += (gint32) ((gint ## P) (*(sp_ ## T ## P ++) Q));	\
-		tmpo = (tmp + tmpo) / (oversampleFactor + 1);			\
-		*(dp_ ## T ## P ++) = ((g ## K ## int ## P) tmpo) Q ;		\
+		xs_filter_mbn = (tmp + xs_filter_mbn) / (oversampleFactor + 1);	\
+		*(dp_ ## T ## P ++) = ((g ## K ## int ## P) xs_filter_mbn) Q ;	\
 		}
 
+
+static gint32 xs_filter_mbn = 0;
+
+
 gint xs_filter_rateconv(void *destBuf, void *srcBuf, const AFormat audioFormat, const gint oversampleFactor, const gint bufSize)
 {
- gint32 tmp, tmpo;
+ static gint32 tmp;
  XS_FVAR(s,8,);
  XS_FVAR(u,8,u);
  XS_FVAR(s,16,);