Go to the documentation of this file.
54 for (
i = 0;
i < count;
i++) {
55 for (j =
i; j < count; j++) {
56 double sum = covar[
i][j];
58 for (k = 0; k <=
i-1; k++)
71 for (
i = 0;
i < count;
i++) {
72 double sum = covar_y[
i + 1];
74 for (k = 0; k <=
i-1; k++)
80 for (j = count - 1; j >= min_order; j--) {
81 for (
i = j;
i >= 0;
i--) {
82 double sum = m->
coeff[0][
i];
84 for (k =
i + 1; k <= j; k++)
92 for (
i = 0;
i <= j;
i++) {
93 double sum = m->
coeff[j][
i] * covar[
i][
i] - 2 * covar_y[
i + 1];
95 for (k = 0; k <
i; k++)
96 sum += 2 * m->
coeff[j][k] * covar[k][
i];
108 for (
i = 0;
i <= order;
i++)
Linear least squares model.
double variance[MAX_VARS]
void ff_init_lls_x86(LLSModel *m)
av_cold void avpriv_init_lls(LLSModel *m, int indep_count)
void(* update_lls)(struct LLSModel *m, const double *var)
Take the outer-product of var[] with itself, and add to the covariance matrix.
double(* evaluate_lls)(struct LLSModel *m, const double *var, int order)
Inner product of var[] and the LPC coefs.
#define i(width, name, range_min, range_max)
double covariance[(((32+1)+(4) -1)&~((4) -1))][MAX_VARS_ALIGN]
static double evaluate_lls(LLSModel *m, const double *param, int order)
static void update_lls(LLSModel *m, const double *var)
double coeff[32][MAX_VARS]
static const int factor[16]
void avpriv_solve_lls(LLSModel *m, double threshold, unsigned short min_order)