d23493c7418068ea6b78b198aa893e1501c72ff5
[ffmpeg.git] / libavcodec / qdm2_tablegen.c
1 /*
2  * Generate a header file for hardcoded QDM2 tables
3  *
4  * Copyright (c) 2010 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 #include "qdm2_tablegen.h"
26 #include "tableprint.h"
27
28 void tableinit(void)
29 {
30     softclip_table_init();
31     rnd_table_init();
32     init_noise_samples();
33 }
34
35 const struct tabledef tables[] = {
36     {
37         "static const uint16_t softclip_table[HARDCLIP_THRESHOLD - SOFTCLIP_THRESHOLD + 1]",
38         write_uint16_array,
39         softclip_table,
40         HARDCLIP_THRESHOLD - SOFTCLIP_THRESHOLD + 1,
41         0
42     },
43     {
44         "static const float noise_table[4096]",
45         write_float_array,
46         noise_table,
47         4096,
48         0
49     },
50     {
51         "static const uint8_t random_dequant_index[256][5]",
52         write_uint8_2d_array,
53         random_dequant_index,
54         256,
55         5
56     },
57     {
58         "static const uint8_t random_dequant_type24[128][3]",
59         write_uint8_2d_array,
60         random_dequant_type24,
61         128,
62         3
63     },
64     {
65         "static const float noise_samples[128]",
66         write_float_array,
67         noise_samples,
68         128,
69         0
70     },
71     { NULL }
72 };