- memmove(glob->lhist, glob->lhist - 1, 10 * sizeof(*glob->lhist));
-
- *glob->lhist = glob->history[glob->phase] = 10 * log10(sum) - 32;
-
- for (x=1; x < 5; x++)
- for (y=x-1; y >= 0; y--)
- buffer[x] -= glob->pr1[x-y-1] * buffer[y];
-
- /* output */
- for (x=0; x < 5; x++) {
- glob->output[glob->phase*5+x] = glob->sb[4-x] =
- av_clipf(glob->sb[4-x] + buffer[x], -4095, 4095);
- }
-}
-
-/* column multiply */
-static void colmult(float *tgt, const float *m1, const float *m2, int n)
-{
- while (n--)
- *(tgt++) = (*(m1++)) * (*(m2++));
-}
-
-/**
- * Converts autocorrelation coefficients to LPC coefficients using the
- * Levinson-Durbin algorithm. See blocks 37 and 50 of the G.728 specification.
- *
- * @return 1 if success, 0 if fail
- */
-static int eval_lpc_coeffs(const float *in, float *tgt, int n)
-{
- int x, y;
- double f0, f1, f2;
-
- if (in[n] == 0)
- return 0;
-
- if ((f0 = *in) <= 0)
- return 0;
-
- in--; // To avoid a -1 subtraction in the inner loop