56 for (j = i; j <
count; j++) {
57 double sum = covar[i][j];
59 for (k = 0; k <= i-1; k++)
72 for (i = 0; i <
count; i++) {
73 double sum = covar_y[i + 1];
75 for (k = 0; k <= i-1; k++)
81 for (j = count - 1; j >= min_order; j--) {
82 for (i = j; i >= 0; i--) {
83 double sum = m->
coeff[0][i];
85 for (k = i + 1; k <= j; k++)
93 for (i = 0; i <= j; i++) {
94 double sum = m->
coeff[j][i] * covar[i][i] - 2 * covar_y[i + 1];
96 for (k = 0; k < i; k++)
97 sum += 2 * m->
coeff[j][k] * covar[k][i];
109 for (i = 0; i <= order; i++)
110 out += param[i] * m->
coeff[order][i];
Linear least squares model.
static double evaluate_lls(LLSModel *m, const double *param, int order)
double variance[MAX_VARS]
Macro definitions for various function/variable attributes.
double(* evaluate_lls)(struct LLSModel *m, const double *var, int order)
Inner product of var[] and the LPC coefs.
Libavutil version macros.
av_cold void avpriv_init_lls(LLSModel *m, int indep_count)
common internal API header
double covariance[(((32+1)+(4) -1)&~((4) -1))][(((32+1)+(4) -1)&~((4) -1))]
void avpriv_solve_lls(LLSModel *m, double threshold, unsigned short min_order)
static const int factor[16]
void(* update_lls)(struct LLSModel *m, const double *var)
Take the outer-product of var[] with itself, and add to the covariance matrix.
static void update_lls(LLSModel *m, const double *var)
void ff_init_lls_x86(LLSModel *m)