27 int firorder,
int iirorder,
28 unsigned int filter_shift,
int32_t mask,
int blocksize,
37 for (i = 0; i < blocksize; i++) {
38 int32_t residual = *sample_buffer;
43 for (order = 0; order < firorder; order++)
44 accum += (int64_t) firbuf[order] * fircoeff[order];
45 for (order = 0; order < iirorder; order++)
46 accum += (int64_t) iirbuf[order] * iircoeff[order];
48 accum = accum >> filter_shift;
49 result = (accum + residual) & mask;
52 *--iirbuf = result - accum;
54 *sample_buffer = result;