FFmpeg
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
Functions
Variables
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
c
d
g
h
i
o
q
r
s
v
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
Enumerator
a
d
e
f
h
i
j
l
m
n
p
r
s
v
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
l
m
o
p
q
r
s
t
u
v
w
x
y
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Examples
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
libavutil
lls.h
Go to the documentation of this file.
1
/*
2
* linear least squares model
3
*
4
* Copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
5
*
6
* This file is part of FFmpeg.
7
*
8
* FFmpeg is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU Lesser General Public
10
* License as published by the Free Software Foundation; either
11
* version 2.1 of the License, or (at your option) any later version.
12
*
13
* FFmpeg is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* Lesser General Public License for more details.
17
*
18
* You should have received a copy of the GNU Lesser General Public
19
* License along with FFmpeg; if not, write to the Free Software
20
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
*/
22
23
#ifndef AVUTIL_LLS_H
24
#define AVUTIL_LLS_H
25
26
#include "
macros.h
"
27
#include "
mem_internal.h
"
28
29
#define MAX_VARS 32
30
#define MAX_VARS_ALIGN FFALIGN(MAX_VARS+1,4)
31
32
//FIXME avoid direct access to LLSModel from outside
33
34
/**
35
* Linear least squares model.
36
*/
37
typedef
struct
LLSModel
{
38
DECLARE_ALIGNED
(32,
double
,
covariance
[
MAX_VARS_ALIGN
][
MAX_VARS_ALIGN
]);
39
DECLARE_ALIGNED
(32,
double
,
coeff
[
MAX_VARS
][
MAX_VARS
]);
40
double
variance
[
MAX_VARS
];
41
int
indep_count
;
42
/**
43
* Take the outer-product of var[] with itself, and add to the covariance matrix.
44
* @param m this context
45
* @param var training samples, starting with the value to be predicted
46
* 32-byte aligned, and any padding elements must be initialized
47
* (i.e not denormal/nan).
48
*/
49
void (*
update_lls
)(
struct
LLSModel
*m,
const
double
*var);
50
/**
51
* Inner product of var[] and the LPC coefs.
52
* @param m this context
53
* @param var training samples, excluding the value to be predicted. unaligned.
54
* @param order lpc order
55
*/
56
double
(*
evaluate_lls
)(
struct
LLSModel
*m,
const
double
*var,
int
order);
57
}
LLSModel
;
58
59
void
avpriv_init_lls
(
LLSModel
*m,
int
indep_count
);
60
void
ff_init_lls_x86
(
LLSModel
*m);
61
void
avpriv_solve_lls
(
LLSModel
*m,
double
threshold,
unsigned
short
min_order);
62
63
#endif
/* AVUTIL_LLS_H */
LLSModel
Linear least squares model.
Definition:
lls.h:37
mem_internal.h
MAX_VARS_ALIGN
#define MAX_VARS_ALIGN
Definition:
lls.h:30
MAX_VARS
#define MAX_VARS
Definition:
lls.h:29
avpriv_solve_lls
void avpriv_solve_lls(LLSModel *m, double threshold, unsigned short min_order)
Definition:
lls.c:46
LLSModel::variance
double variance[MAX_VARS]
Definition:
lls.h:40
macros.h
ff_init_lls_x86
void ff_init_lls_x86(LLSModel *m)
Definition:
lls_init.c:32
avpriv_init_lls
void avpriv_init_lls(LLSModel *m, int indep_count)
Definition:
lls.c:114
double
double
Definition:
af_crystalizer.c:131
LLSModel::update_lls
void(* update_lls)(struct LLSModel *m, const double *var)
Take the outer-product of var[] with itself, and add to the covariance matrix.
Definition:
lls.h:49
DECLARE_ALIGNED
#define DECLARE_ALIGNED(n, t, v)
Definition:
mem_internal.h:109
LLSModel::evaluate_lls
double(* evaluate_lls)(struct LLSModel *m, const double *var, int order)
Inner product of var[] and the LPC coefs.
Definition:
lls.h:56
LLSModel::indep_count
int indep_count
Definition:
lls.h:41
LLSModel::covariance
double covariance[(((32+1)+(4) -1)&~((4) -1))][MAX_VARS_ALIGN]
Definition:
lls.h:38
LLSModel::coeff
double coeff[32][MAX_VARS]
Definition:
lls.h:39
Generated on Thu Sep 26 2024 23:15:55 for FFmpeg by
1.8.17