Go to the documentation of this file.
23 #ifndef AVCODEC_QDM2_TABLEGEN_H
24 #define AVCODEC_QDM2_TABLEGEN_H
31 #define SOFTCLIP_THRESHOLD 27600
32 #define HARDCLIP_THRESHOLD 35716
34 #if CONFIG_HARDCODED_TABLES
35 #define softclip_table_init()
36 #define rnd_table_init()
37 #define init_noise_samples()
38 #define qdm2_init_vlc()
39 #include "libavcodec/qdm2_tables.h"
50 float delta = 1.0 / -dfl;
60 uint64_t random_seed = 0;
61 float delta = 1.0 / 16384.0;
62 for(
i = 0;
i < 4096 ;
i++) {
63 random_seed = random_seed * 214013 + 2531011;
67 for (
i = 0;
i < 256 ;
i++) {
70 for (j = 0; j < 5 ;j++) {
76 for (
i = 0;
i < 128 ;
i++) {
79 for (j = 0; j < 3 ;j++) {
90 unsigned random_seed = 0;
91 float delta = 1.0 / 16384.0;
92 for (
i = 0;
i < 128;
i++) {
93 random_seed = random_seed * 214013 + 2531011;
115 unsigned *
offset,
const uint8_t
tab[][2])
120 &
tab[0][1], 2, &
tab[0][0], 2, 1,
147 for (
int i = 0;
i < 5;
i++) {
static VLC fft_stereo_exp_vlc
static VLC_TYPE qdm2_table[3838][2]
static VLC vlc_tab_type30
static VLC vlc_tab_type34
static uint8_t random_dequant_index[256][5]
static const uint8_t tab_run[6][2]
static VLC vlc_tab_tone_level_idx_hi1
#define SOFTCLIP_THRESHOLD
static const uint8_t tab_diff[33][2]
static uint16_t softclip_table[HARDCLIP_THRESHOLD - SOFTCLIP_THRESHOLD+1]
static float noise_table[4096+20]
static av_cold void init_noise_samples(void)
static const struct twinvq_data tab
static av_cold void rnd_table_init(void)
int ff_init_vlc_from_lengths(VLC *vlc_arg, int nb_bits, int nb_codes, const int8_t *lens, int lens_wrap, const void *symbols, int symbols_wrap, int symbols_size, int offset, int flags, void *logctx)
Build VLC decoding tables suitable for use with get_vlc2()
#define FF_ARRAY_ELEMS(a)
static const uint8_t fft_level_exp_alt[28][2]
FFT TABLES.
#define HARDCLIP_THRESHOLD
static const uint8_t tab_fft_tone_offset_sizes[]
static const uint8_t tab_type34[10][2]
static VLC fft_stereo_phase_vlc
static const uint8_t fft_stereo_exp[7][2]
static const uint8_t fft_stereo_phase[9][2]
static const uint8_t tab_level[24][2]
VLC TABLES.
static const uint8_t tab_tone_level_idx_hi1[20][2]
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf offset
static uint8_t random_dequant_type24[128][3]
static VLC vlc_tab_tone_level_idx_mid
static VLC vlc_tab_tone_level_idx_hi2
static const uint8_t fft_level_exp[20][2]
#define i(width, name, range_min, range_max)
static av_cold void qdm2_init_vlc(void)
static VLC fft_level_exp_alt_vlc
#define INIT_VLC_STATIC_OVERLONG
static const uint8_t tab_fft_tone_offset[][2]
static const uint8_t tab_tone_level_idx_hi2[18][2]
static VLC fft_level_exp_vlc
static float noise_samples[128]
static const uint8_t tab_type30[9][2]
static const uint8_t tab_tone_level_idx_mid[13][2]
static VLC vlc_tab_fft_tone_offset[5]
static av_cold void build_vlc(VLC *vlc, int nb_bits, int nb_codes, unsigned *offset, const uint8_t tab[][2])
VLC_TYPE(* table)[2]
code, bits
static av_cold void softclip_table_init(void)