From 6481c0c0aa437c68bbc598ebdcb39c2890f548b3 Mon Sep 17 00:00:00 2001 From: Paul Brossier Date: Tue, 29 Sep 2009 19:58:43 +0200 Subject: [PATCH] src/temporal/filter.c: fix aubio_filter_do and aubio_filter_do_outplace --- src/temporal/filter.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/src/temporal/filter.c b/src/temporal/filter.c index df4dba65..9368303a 100644 --- a/src/temporal/filter.c +++ b/src/temporal/filter.c @@ -36,11 +36,12 @@ struct _aubio_filter_t { lvec_t * x; }; -void aubio_filter_do(aubio_filter_t * f, fvec_t * in) { - aubio_filter_do_outplace(f, in, in); +void aubio_filter_do_outplace(aubio_filter_t * f, fvec_t * in, fvec_t * out) { + fvec_copy(in, out); + aubio_filter_do (f, out); } -void aubio_filter_do_outplace(aubio_filter_t * f, fvec_t * in, fvec_t * out) { +void aubio_filter_do(aubio_filter_t * f, fvec_t * in) { uint_t i,j,l, order = f->order; lsmp_t *x; lsmp_t *y; @@ -52,18 +53,14 @@ void aubio_filter_do_outplace(aubio_filter_t * f, fvec_t * in, fvec_t * out) { y = f->y->data[i]; for (j = 0; j < in->length; j++) { /* new input */ - if (IS_DENORMAL(in->data[i][j])) { - x[0] = y[0] = 0.; - } else { - x[0] = in->data[i][j]; - y[0] = b[0] * x[0]; - for (l=1;ldata[i][j]); + y[0] = b[0] * x[0]; + for (l=1;ldata[i][j] = y[0]; + in->data[i][j] = y[0]; /* store for next sample */ for (l=order-1; l>0; l--){ x[l] = x[l-1]; -- 2.11.0