FFmpeg
sinewin_tablegen.c
Go to the documentation of this file.
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 #define CONFIG_HARDCODED_TABLES 0
24 #define BUILD_TABLES
25 
26 #define SINETABLE_CONST
27 #define SINETABLE(size) \
28  float ff_sine_##size[size]
29 #define FF_ARRAY_ELEMS(a) (sizeof(a) / sizeof((a)[0]))
30 #include "sinewin_tablegen.h"
31 #include "tableprint.h"
32 
33 int main(void)
34 {
36 
37  for (int i = 5; i <= 13; i++) {
39  printf("SINETABLE(%4i) = {\n", 1 << i);
41  printf("};\n");
42  }
43 
44  return 0;
45 }
ff_sine_windows
SINETABLE_CONST float *const ff_sine_windows[]
Definition: sinewin_tablegen.h:51
main
int main(void)
Definition: sinewin_tablegen.c:33
tableprint.h
sinewin_tablegen.h
write_fileheader
write_fileheader() adds some minor things like a "this is a generated file" comment and some standard includes. tablegen.h defines some write functions for one- and two-dimensional arrays for standard types - they print only the "core" parts so they are easier to reuse for multi-dimensional arrays so the outermost
Definition: tablegen.txt:39
printf
printf("static const uint8_t my_array[100] = {\n")
i
#define i(width, name, range_min, range_max)
Definition: cbs_h2645.c:256
write_float_array
void write_float_array(const float *, int)
ff_init_ff_sine_windows
void ff_init_ff_sine_windows(int index)
initialize the specified entry of ff_sine_windows
Definition: sinewin_tablegen.h:101