ffmpeg / libavutil / lls.h @ d71ad089
History | View | Annotate | Download (1.42 KB)
1 | 82ab5ad7 | Michael Niedermayer | /*
|
---|---|---|---|
2 | * linear least squares model
|
||
3 | *
|
||
4 | * Copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
|
||
5 | *
|
||
6 | b78e7197 | Diego Biurrun | * This file is part of FFmpeg.
|
7 | *
|
||
8 | * FFmpeg is free software; you can redistribute it and/or
|
||
9 | 82ab5ad7 | Michael Niedermayer | * modify it under the terms of the GNU Lesser General Public
|
10 | * License as published by the Free Software Foundation; either
|
||
11 | b78e7197 | Diego Biurrun | * version 2.1 of the License, or (at your option) any later version.
|
12 | 82ab5ad7 | Michael Niedermayer | *
|
13 | b78e7197 | Diego Biurrun | * FFmpeg is distributed in the hope that it will be useful,
|
14 | 82ab5ad7 | Michael Niedermayer | * 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 | b78e7197 | Diego Biurrun | * License along with FFmpeg; if not, write to the Free Software
|
20 | e5a389a1 | Diego Biurrun | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
21 | 82ab5ad7 | Michael Niedermayer | */
|
22 | |||
23 | 98790382 | Stefano Sabatini | #ifndef AVUTIL_LLS_H
|
24 | #define AVUTIL_LLS_H
|
||
25 | 82ab5ad7 | Michael Niedermayer | |
26 | #define MAX_VARS 32 |
||
27 | |||
28 | //FIXME avoid direct access to LLSModel from outside
|
||
29 | |||
30 | /**
|
||
31 | * Linear least squares model.
|
||
32 | */
|
||
33 | typedef struct LLSModel{ |
||
34 | double covariance[MAX_VARS+1][MAX_VARS+1]; |
||
35 | 408ec4e2 | Michael Niedermayer | double coeff[MAX_VARS][MAX_VARS];
|
36 | double variance[MAX_VARS];
|
||
37 | 82ab5ad7 | Michael Niedermayer | int indep_count;
|
38 | }LLSModel; |
||
39 | |||
40 | void av_init_lls(LLSModel *m, int indep_count); |
||
41 | void av_update_lls(LLSModel *m, double *param, double decay); |
||
42 | 408ec4e2 | Michael Niedermayer | void av_solve_lls(LLSModel *m, double threshold, int min_order); |
43 | double av_evaluate_lls(LLSModel *m, double *param, int order); |
||
44 | 82ab5ad7 | Michael Niedermayer | |
45 | 98790382 | Stefano Sabatini | #endif /* AVUTIL_LLS_H */ |