62 double *aut=alloca(
sizeof(*aut)*(m+1));
63 double *lpc=alloca(
sizeof(*lpc)*(m));
72 for(i=j;i<
n;i++)d+=(
double)data[
i]*data[i-
j];
79 error=aut[0] * (1. + 1
e-10);
80 epsilon=1
e-9*aut[0]+1
e-10;
86 memset(lpc+i,0,(m-i)*
sizeof(*lpc));
95 for(j=0;j<
i;j++)r-=lpc[j]*aut[i-j];
104 lpc[
j]+=r*lpc[i-1-
j];
107 if(i&1)lpc[
j]+=lpc[
j]*
r;
125 for(j=0;j<
m;j++)lpci[j]=(
float)lpc[
j];
142 float *work=alloca(
sizeof(*work)*(m+n));
156 y-=work[o++]*coeff[--p];
float vorbis_lpc_from_data(float *data, float *lpci, int n, int m)
void vorbis_lpc_predict(float *coeff, float *prime, int m, float *data, long n)
return Display return Display Bool Bool int int e
return Display return Display Bool Bool int d
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
EGLSurface EGLint EGLint y
GLdouble GLdouble GLdouble r