-static void celt_postfilter_apply(CeltBlock *block, float *data, int len)
-{
- const int T = block->pf_period;
- float g0, g1, g2;
- float x0, x1, x2, x3, x4;
- int i;
-
- if (block->pf_gains[0] == 0.0 || len <= 0)
- return;
-
- g0 = block->pf_gains[0];
- g1 = block->pf_gains[1];
- g2 = block->pf_gains[2];
-
- x4 = data[-T - 2];
- x3 = data[-T - 1];
- x2 = data[-T];
- x1 = data[-T + 1];
-
- for (i = 0; i < len; i++) {
- x0 = data[i - T + 2];
- data[i] += g0 * x2 +
- g1 * (x1 + x3) +
- g2 * (x0 + x4);
- x4 = x3;
- x3 = x2;
- x2 = x1;
- x1 = x0;
- }
-}
-