summaryrefslogtreecommitdiff
path: root/libavcodec/qdm2_tablegen.c
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2014-09-07 13:55:23 +0200
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>2014-12-18 23:51:07 +0100
commit70d80ed40fa33e3981aed1bf89536b2272cff925 (patch)
tree5350f725289d9c8e8d4a1f7f88039cac48cd5b45 /libavcodec/qdm2_tablegen.c
parentde6d44829c43c666d881979520e86aabb10e105f (diff)
qdm2: Allow hard-coding VLC tables.
Also adds a lot of infrastructure necessary for it. Some of it is a bit ugly though. Increases binary size for hardcoded tables by about 12 kB, which is about 15 kB from qdm2_table minus data and code saved that was only used for creating it. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Diffstat (limited to 'libavcodec/qdm2_tablegen.c')
-rw-r--r--libavcodec/qdm2_tablegen.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/libavcodec/qdm2_tablegen.c b/libavcodec/qdm2_tablegen.c
index a7a9fb6643..e19b49b235 100644
--- a/libavcodec/qdm2_tablegen.c
+++ b/libavcodec/qdm2_tablegen.c
@@ -21,9 +21,9 @@
*/
#include <stdlib.h>
+#include "tableprint_vlc.h"
#define CONFIG_HARDCODED_TABLES 0
#include "qdm2_tablegen.h"
-#include "tableprint.h"
int main(void)
{
@@ -40,5 +40,22 @@ int main(void)
WRITE_2D_ARRAY("static const", uint8_t, random_dequant_index);
WRITE_2D_ARRAY("static const", uint8_t, random_dequant_type24);
+ qdm2_init_vlc();
+
+ WRITE_2D_ARRAY("static const", VLC_TYPE, qdm2_table);
+ WRITE_VLC_TYPE("static const", vlc_tab_level, qdm2_table);
+ WRITE_VLC_TYPE("static const", vlc_tab_diff, qdm2_table);
+ WRITE_VLC_TYPE("static const", vlc_tab_run, qdm2_table);
+ WRITE_VLC_TYPE("static const", fft_level_exp_alt_vlc, qdm2_table);
+ WRITE_VLC_TYPE("static const", fft_level_exp_vlc, qdm2_table);
+ WRITE_VLC_TYPE("static const", fft_stereo_exp_vlc, qdm2_table);
+ WRITE_VLC_TYPE("static const", fft_stereo_phase_vlc, qdm2_table);
+ WRITE_VLC_TYPE("static const", vlc_tab_tone_level_idx_hi1, qdm2_table);
+ WRITE_VLC_TYPE("static const", vlc_tab_tone_level_idx_mid, qdm2_table);
+ WRITE_VLC_TYPE("static const", vlc_tab_tone_level_idx_hi2, qdm2_table);
+ WRITE_VLC_TYPE("static const", vlc_tab_type30, qdm2_table);
+ WRITE_VLC_TYPE("static const", vlc_tab_type34, qdm2_table);
+ WRITE_VLC_ARRAY("static const", vlc_tab_fft_tone_offset, qdm2_table);
+
return 0;
}