1cabdff1aSopenharmony_ci/*
2cabdff1aSopenharmony_ci * Generate a header file for hardcoded QDM2 tables
3cabdff1aSopenharmony_ci *
4cabdff1aSopenharmony_ci * Copyright (c) 2010 Reimar Döffinger <Reimar.Doeffinger@gmx.de>
5cabdff1aSopenharmony_ci *
6cabdff1aSopenharmony_ci * This file is part of FFmpeg.
7cabdff1aSopenharmony_ci *
8cabdff1aSopenharmony_ci * FFmpeg is free software; you can redistribute it and/or
9cabdff1aSopenharmony_ci * modify it under the terms of the GNU Lesser General Public
10cabdff1aSopenharmony_ci * License as published by the Free Software Foundation; either
11cabdff1aSopenharmony_ci * version 2.1 of the License, or (at your option) any later version.
12cabdff1aSopenharmony_ci *
13cabdff1aSopenharmony_ci * FFmpeg is distributed in the hope that it will be useful,
14cabdff1aSopenharmony_ci * but WITHOUT ANY WARRANTY; without even the implied warranty of
15cabdff1aSopenharmony_ci * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16cabdff1aSopenharmony_ci * Lesser General Public License for more details.
17cabdff1aSopenharmony_ci *
18cabdff1aSopenharmony_ci * You should have received a copy of the GNU Lesser General Public
19cabdff1aSopenharmony_ci * License along with FFmpeg; if not, write to the Free Software
20cabdff1aSopenharmony_ci * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21cabdff1aSopenharmony_ci */
22cabdff1aSopenharmony_ci
23cabdff1aSopenharmony_ci#include <stdlib.h>
24cabdff1aSopenharmony_ci#include "tableprint_vlc.h"
25cabdff1aSopenharmony_ci#define CONFIG_HARDCODED_TABLES 0
26cabdff1aSopenharmony_ci#include "qdm2_tablegen.h"
27cabdff1aSopenharmony_ci
28cabdff1aSopenharmony_ciint main(void)
29cabdff1aSopenharmony_ci{
30cabdff1aSopenharmony_ci    softclip_table_init();
31cabdff1aSopenharmony_ci    rnd_table_init();
32cabdff1aSopenharmony_ci    init_noise_samples();
33cabdff1aSopenharmony_ci
34cabdff1aSopenharmony_ci    write_fileheader();
35cabdff1aSopenharmony_ci
36cabdff1aSopenharmony_ci    WRITE_ARRAY("static const", uint16_t, softclip_table);
37cabdff1aSopenharmony_ci    WRITE_ARRAY("static const", float, noise_table);
38cabdff1aSopenharmony_ci    WRITE_ARRAY("static const", float, noise_samples);
39cabdff1aSopenharmony_ci
40cabdff1aSopenharmony_ci    WRITE_2D_ARRAY("static const", uint8_t, random_dequant_index);
41cabdff1aSopenharmony_ci    WRITE_2D_ARRAY("static const", uint8_t, random_dequant_type24);
42cabdff1aSopenharmony_ci
43cabdff1aSopenharmony_ci    qdm2_init_vlc();
44cabdff1aSopenharmony_ci
45cabdff1aSopenharmony_ci    WRITE_VLC_TABLE("static const", qdm2_table);
46cabdff1aSopenharmony_ci    WRITE_VLC_TYPE("static const", vlc_tab_level, qdm2_table);
47cabdff1aSopenharmony_ci    WRITE_VLC_TYPE("static const", vlc_tab_diff, qdm2_table);
48cabdff1aSopenharmony_ci    WRITE_VLC_TYPE("static const", vlc_tab_run, qdm2_table);
49cabdff1aSopenharmony_ci    WRITE_VLC_TYPE("static const", fft_level_exp_alt_vlc, qdm2_table);
50cabdff1aSopenharmony_ci    WRITE_VLC_TYPE("static const", fft_level_exp_vlc, qdm2_table);
51cabdff1aSopenharmony_ci    WRITE_VLC_TYPE("static const", fft_stereo_exp_vlc, qdm2_table);
52cabdff1aSopenharmony_ci    WRITE_VLC_TYPE("static const", fft_stereo_phase_vlc, qdm2_table);
53cabdff1aSopenharmony_ci    WRITE_VLC_TYPE("static const", vlc_tab_tone_level_idx_hi1, qdm2_table);
54cabdff1aSopenharmony_ci    WRITE_VLC_TYPE("static const", vlc_tab_tone_level_idx_mid, qdm2_table);
55cabdff1aSopenharmony_ci    WRITE_VLC_TYPE("static const", vlc_tab_tone_level_idx_hi2, qdm2_table);
56cabdff1aSopenharmony_ci    WRITE_VLC_TYPE("static const", vlc_tab_type30, qdm2_table);
57cabdff1aSopenharmony_ci    WRITE_VLC_TYPE("static const", vlc_tab_type34, qdm2_table);
58cabdff1aSopenharmony_ci    WRITE_VLC_ARRAY("static const", vlc_tab_fft_tone_offset, qdm2_table);
59cabdff1aSopenharmony_ci
60cabdff1aSopenharmony_ci    return 0;
61cabdff1aSopenharmony_ci}
62