summaryrefslogtreecommitdiff
path: root/libavcodec/qdm2_tablegen.c (plain)
blob: e19b49b235bcabd4deaa8b02c5d70e558d2e6d8e
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
28int 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}
62