annotate elbg.h @ 6323:e6da66f378c7 libavcodec

mpegvideo.h has two function declarations with the 'inline' specifier but no definition for those functions. The C standard requires a definition to appear in the same translation unit for any function declared with 'inline'. Most of the files including mpegvideo.h do not define those functions. Fix this by removing the 'inline' specifiers from the header. patch by Uoti Urpala
author diego
date Sun, 03 Feb 2008 17:54:30 +0000
parents 1d83e9c34641
children f7cbb7733146
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5095
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
1 /*
5219
661eff5542cb Add my last name to copyright headers
vitor
parents: 5169
diff changeset
2 * Copyright (C) 2007 Vitor Sessak <vitor1001@gmail.com>
5095
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
3 *
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
4 * This file is part of FFmpeg.
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
5 *
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
6 * FFmpeg is free software; you can redistribute it and/or
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
7 * modify it under the terms of the GNU Lesser General Public
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
8 * License as published by the Free Software Foundation; either
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
9 * version 2.1 of the License, or (at your option) any later version.
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
10 *
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
11 * FFmpeg is distributed in the hope that it will be useful,
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
14 * Lesser General Public License for more details.
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
15 *
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
16 * You should have received a copy of the GNU Lesser General Public
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
17 * License along with FFmpeg; if not, write to the Free Software
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
19 */
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
20
5830
1d83e9c34641 Add FFMPEG_ prefix to all multiple inclusion guards.
diego
parents: 5219
diff changeset
21 #ifndef FFMPEG_ELBG_H
1d83e9c34641 Add FFMPEG_ prefix to all multiple inclusion guards.
diego
parents: 5219
diff changeset
22 #define FFMPEG_ELBG_H
5163
9ecbfc0c82bf add multiple inclusion guards to headers
mru
parents: 5095
diff changeset
23
5095
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
24 #include "random.h"
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
25
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
26 /**
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
27 * Implementation of the Enhanced LBG Algorithm
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
28 * Based on the paper "Neural Networks 14:1219-1237" that can be found in
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
29 * http://citeseer.ist.psu.edu/patan01enhanced.html .
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
30 *
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
31 * @param points Input points.
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
32 * @param dim Dimension of the points.
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
33 * @param numpoints Num of points in **points.
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
34 * @param codebook Pointer to the output codebook. Must be allocated.
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
35 * @param numCB Number of points in the codebook.
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
36 * @param num_steps The maximum number of steps. One step is already a good compromise between time and quality.
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
37 * @param closest_cb Return the closest codebook to each point. Must be allocated.
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
38 * @param rand_state A random number generator state. Should be already initialised by av_init_random.
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
39 */
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
40 void ff_do_elbg(int *points, int dim, int numpoints, int *codebook,
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
41 int numCB, int num_steps, int *closest_cb,
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
42 AVRandomState *rand_state);
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
43
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
44 /**
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
45 * Initialize the **codebook vector for the elbg algorithm. If you have already
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
46 * a codebook and you want to refine it, you shouldn't call this function.
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
47 * If numpoints < 8*numCB this function fills **codebook with random numbers.
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
48 * If not, it calls ff_do_elbg for a (smaller) random sample of the points in
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
49 * **points. Get the same parameters as ff_do_elbg.
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
50 */
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
51 void ff_init_elbg(int *points, int dim, int numpoints, int *codebook,
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
52 int numCB, int num_steps, int *closest_cb,
ed41cfae128d Codebook generator using the ELBG algorithm
benoit
parents:
diff changeset
53 AVRandomState *rand_state);
5163
9ecbfc0c82bf add multiple inclusion guards to headers
mru
parents: 5095
diff changeset
54
5830
1d83e9c34641 Add FFMPEG_ prefix to all multiple inclusion guards.
diego
parents: 5219
diff changeset
55 #endif /* FFMPEG_ELBG_H */