Mercurial > libavcodec.hg
annotate qdm2_tablegen.c @ 11570:e03e3df6fb7d libavcodec
Change/simplify the tableprint/tablegen API.
| author | reimar |
|---|---|
| date | Thu, 01 Apr 2010 17:11:47 +0000 |
| parents | 8bef88bc329d |
| children | 59f399926c12 |
| rev | line source |
|---|---|
|
11488
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
1 /* |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
2 * Generate a header file for hardcoded QDM2 tables |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
3 * |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
4 * Copyright (c) 2010 Reimar Döffinger <Reimar.Doeffinger@gmx.de> |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
5 * |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
6 * This file is part of FFmpeg. |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
7 * |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
8 * FFmpeg is free software; you can redistribute it and/or |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
9 * modify it under the terms of the GNU Lesser General Public |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
10 * License as published by the Free Software Foundation; either |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
11 * version 2.1 of the License, or (at your option) any later version. |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
12 * |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
13 * FFmpeg is distributed in the hope that it will be useful, |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
16 * Lesser General Public License for more details. |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
17 * |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
18 * You should have received a copy of the GNU Lesser General Public |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
19 * License along with FFmpeg; if not, write to the Free Software |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
21 */ |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
22 |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
23 #include <stdlib.h> |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
24 #define CONFIG_HARDCODED_TABLES 0 |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
25 #include "qdm2_tablegen.h" |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
26 #include "tableprint.h" |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
27 |
| 11570 | 28 int main(void) |
|
11488
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
29 { |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
30 softclip_table_init(); |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
31 rnd_table_init(); |
|
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
32 init_noise_samples(); |
| 11570 | 33 |
| 34 write_fileheader(); | |
| 35 | |
| 36 printf("static const uint16_t softclip_table[HARDCLIP_THRESHOLD - SOFTCLIP_THRESHOLD + 1] = {\n"); | |
| 37 write_uint16_array(softclip_table, HARDCLIP_THRESHOLD - SOFTCLIP_THRESHOLD + 1); | |
| 38 printf("};\n"); | |
| 39 | |
| 40 printf("static const float noise_table[4096] = {\n"); | |
| 41 write_float_array(noise_table, 4096); | |
| 42 printf("};\n"); | |
|
11488
424b8482f316
Allow hard-coding several QDM2 tables (about 32 kB size).
reimar
parents:
diff
changeset
|
43 |
| 11570 | 44 printf("static const uint8_t random_dequant_index[256][5] = {\n"); |
| 45 write_uint8_2d_array(random_dequant_index, 256, 5); | |
| 46 printf("};\n"); | |
| 47 | |
| 48 printf("static const uint8_t random_dequant_type24[128][3] = {\n"); | |
| 49 write_uint8_2d_array(random_dequant_type24, 128, 3); | |
| 50 printf("};\n"); | |
| 51 | |
| 52 printf("static const float noise_samples[128] = {\n"); | |
| 53 write_float_array(noise_samples, 128); | |
| 54 printf("};\n"); | |
| 55 | |
| 56 return 0; | |
| 57 } |
