diff --git a/src/audio/tdfb/tdfb_generic.c b/src/audio/tdfb/tdfb_generic.c index a8dbdd999..7e8df014e 100644 --- a/src/audio/tdfb/tdfb_generic.c +++ b/src/audio/tdfb/tdfb_generic.c @@ -40,8 +40,9 @@ static inline void tdfb_core(struct tdfb_comp_data *cd, int in_nch, int out_nch) * two samples per call. The output is stored as Q5.27 * to fit max. 16 filters sum to a channel. */ - y0 = fir_32x16(filter, cd->in[is]) >> 4; - y1 = fir_32x16(filter, cd->in[is2]) >> 4; + fir_32x16_2x(filter, cd->in[is], cd->in[is2], &y0, &y1); + y0 >>= 4; + y1 >>= 4; for (k = 0; k < out_nch; k++) { if (om & 1) { cd->out[k] += y0;