28                                int firorder, 
int iirorder,
 
   30                                int blocksize, 
int32_t *sample_buffer)
 
   38     for (i = 0; i < blocksize; i++) {
 
   39         int32_t residual = *sample_buffer;
 
   44         for (order = 0; order < firorder; order++)
 
   45             accum += (int64_t) firbuf[order] * fircoeff[order];
 
   46         for (order = 0; order < iirorder; order++)
 
   47             accum += (int64_t) iirbuf[order] * iircoeff[order];
 
   49         accum  = accum >> filter_shift;
 
   50         result = (accum + residual) & mask;
 
   53         *--iirbuf = result - accum;
 
   55         *sample_buffer = result;