Merge commit '42cf7f91f1e9dabf494ff469d8f67ac8b33b0f63'
[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 #include "tableprint_vlc.h"
25 #define CONFIG_HARDCODED_TABLES 0
26 #include "qdm2_tablegen.h"
27
28 int main(void)
29 {
30     softclip_table_init();
31     rnd_table_init();
32     init_noise_samples();
33
34     write_fileheader();
35
36     WRITE_ARRAY("static const", uint16_t, softclip_table);
37     WRITE_ARRAY("static const", float, noise_table);
38     WRITE_ARRAY("static const", float, noise_samples);
39
40     WRITE_2D_ARRAY("static const", uint8_t, random_dequant_index);
41     WRITE_2D_ARRAY("static const", uint8_t, random_dequant_type24);
42
43     qdm2_init_vlc();
44
45     WRITE_2D_ARRAY("static const", VLC_TYPE, qdm2_table);
46     WRITE_VLC_TYPE("static const", vlc_tab_level, qdm2_table);
47     WRITE_VLC_TYPE("static const", vlc_tab_diff, qdm2_table);
48     WRITE_VLC_TYPE("static const", vlc_tab_run, qdm2_table);
49     WRITE_VLC_TYPE("static const", fft_level_exp_alt_vlc, qdm2_table);
50     WRITE_VLC_TYPE("static const", fft_level_exp_vlc, qdm2_table);
51     WRITE_VLC_TYPE("static const", fft_stereo_exp_vlc, qdm2_table);
52     WRITE_VLC_TYPE("static const", fft_stereo_phase_vlc, qdm2_table);
53     WRITE_VLC_TYPE("static const", vlc_tab_tone_level_idx_hi1, qdm2_table);
54     WRITE_VLC_TYPE("static const", vlc_tab_tone_level_idx_mid, qdm2_table);
55     WRITE_VLC_TYPE("static const", vlc_tab_tone_level_idx_hi2, qdm2_table);
56     WRITE_VLC_TYPE("static const", vlc_tab_type30, qdm2_table);
57     WRITE_VLC_TYPE("static const", vlc_tab_type34, qdm2_table);
58     WRITE_VLC_ARRAY("static const", vlc_tab_fft_tone_offset, qdm2_table);
59
60     return 0;
61 }