[xiph-commits] r11319 - trunk/speex/libspeex

jm at svn.xiph.org jm at svn.xiph.org
Sat Apr 29 06:54:19 PDT 2006


Author: jm
Date: 2006-04-29 06:54:15 -0700 (Sat, 29 Apr 2006)
New Revision: 11319

Modified:
   trunk/speex/libspeex/filters.c
   trunk/speex/libspeex/filters_bfin.h
Log:
fir_mem16 implemented using filter_mem16 on Blackfin


Modified: trunk/speex/libspeex/filters.c
===================================================================
--- trunk/speex/libspeex/filters.c	2006-04-29 13:39:59 UTC (rev 11318)
+++ trunk/speex/libspeex/filters.c	2006-04-29 13:54:15 UTC (rev 11319)
@@ -422,6 +422,7 @@
 #endif
 
 #ifdef FIXED_POINT
+#ifndef OVERRIDE_FIR_MEM16
 void fir_mem16(const spx_word16_t *x, const spx_coef_t *num, spx_word16_t *y, int N, int ord, spx_mem_t *mem)
 {
    int i,j;
@@ -439,6 +440,7 @@
       y[i] = yi;
    }
 }
+#endif
 #else
 void fir_mem16(const spx_word16_t *x, const spx_coef_t *num, spx_word16_t *y, int N, int ord, spx_mem_t *mem)
 {

Modified: trunk/speex/libspeex/filters_bfin.h
===================================================================
--- trunk/speex/libspeex/filters_bfin.h	2006-04-29 13:39:59 UTC (rev 11318)
+++ trunk/speex/libspeex/filters_bfin.h	2006-04-29 13:54:15 UTC (rev 11319)
@@ -620,7 +620,19 @@
    filter_mem2(x, num, den, y, N, ord, mem);
 }
 
+#define OVERRIDE_FIR_MEM16
+void fir_mem16(const spx_word16_t *x, const spx_coef_t *num, spx_word16_t *y, int N, int ord, spx_mem_t *mem)
+{
+   int i;
+   spx_coef_t den2[12];
+   spx_coef_t *den;
+   den = (spx_coef_t*)((((int)den2)+4)&0xfffffffc);
+   for (i=0;i<10;i++)
+      den[i] = 0;
+   filter_mem16(x, num, den, y, N, ord, mem);
+}
 
+
 #define OVERRIDE_COMPUTE_IMPULSE_RESPONSE
 void compute_impulse_response(const spx_coef_t *ak, const spx_coef_t *awk1, const spx_coef_t *awk2, spx_word16_t *y, int N, int ord, char *stack)
 {



More information about the commits mailing list