]> git.sesse.net Git - ffmpeg/blob - libavcodec/sinewin_tablegen_template.c
Merge commit '3ae0e721c7b6e0483801b9039b3d140e3b68b7f5'
[ffmpeg] / libavcodec / sinewin_tablegen_template.c
1 /*
2  * Generate a header file for hardcoded sine windows
3  *
4  * Copyright (c) 2009 Reimar Döffinger <Reimar.Doeffinger@gmx.de>
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 #include <stdlib.h>
24 #define CONFIG_HARDCODED_TABLES 0
25
26 #if USE_FIXED
27 #define ADD_SUFFIX(a) a ## _fixed
28 #define INTFLOAT int
29 #define WRITE_FUNC write_int32_t_array
30
31 #else
32
33 #define ADD_SUFFIX(a) a
34 #define INTFLOAT float
35 #define WRITE_FUNC write_float_array
36
37 #endif
38
39 #define SINETABLE_CONST
40 #define SINETABLE(size) \
41     INTFLOAT ADD_SUFFIX(ff_sine_##size)[size]
42 #define FF_ARRAY_ELEMS(a) (sizeof(a) / sizeof((a)[0]))
43 #include "sinewin_tablegen.h"
44 #include "tableprint.h"
45
46 int main(void)
47 {
48     int i;
49
50     write_fileheader();
51
52     for (i = 5; i <= 13; i++) {
53         ADD_SUFFIX(ff_init_ff_sine_windows)(i);
54         printf("SINETABLE(%4i) = {\n", 1 << i);
55         WRITE_FUNC(ADD_SUFFIX(ff_sine_windows)[i], 1 << i);
56         printf("};\n");
57     }
58
59     return 0;
60 }