FFmpeg
Variables
qdm2data.h File Reference
#include <stdint.h>

Go to the source code of this file.

Variables

static const uint8_t tab_level [24][2]
 VLC TABLES. More...
 
static const uint8_t tab_diff [33][2]
 
static const uint8_t tab_run [6][2]
 
static const uint8_t tab_tone_level_idx_hi1 [20][2]
 
static const uint8_t tab_tone_level_idx_mid [13][2]
 
static const uint8_t tab_tone_level_idx_hi2 [18][2]
 
static const uint8_t tab_type30 [9][2]
 
static const uint8_t tab_type34 [10][2]
 
static const uint8_t tab_fft_tone_offset_sizes []
 
static const uint8_t tab_fft_tone_offset [][2]
 
static const uint8_t fft_level_exp_alt [28][2]
 FFT TABLES. More...
 
static const uint8_t fft_level_exp [20][2]
 
static const uint8_t fft_stereo_exp [7][2]
 
static const uint8_t fft_stereo_phase [9][2]
 
static const int fft_cutoff_index_table [4][2]
 
static const int16_t fft_level_index_table [256]
 
static const uint8_t last_coeff [3]
 
static const uint8_t coeff_per_sb_for_avg [3][30]
 
static const uint32_t dequant_table [3][10][30]
 
static const uint8_t coeff_per_sb_for_dequant [3][30]
 
static const int8_t tone_level_idx_offset_table [30][4]
 
static const int8_t coding_method_table [5][30]
 
static const int vlc_stage3_values [60]
 
static const float fft_tone_sample_table [4][16][5]
 
static const float fft_tone_level_table [2][64]
 
static const float fft_tone_envelope_table [4][31]
 
static const float sb_noise_attenuation [32]
 
static const uint8_t fft_subpackets [32]
 
static const float dequant_1bit [2][3]
 
static const float type30_dequant [8]
 
static const float type34_delta [10]
 

Detailed Description

Various QDM2 tables.

Definition in file qdm2data.h.

Variable Documentation

◆ tab_level

const uint8_t tab_level[24][2]
static
Initial value:
= {
{ 12, 4 }, { 17, 4 }, { 1, 6 }, { 8, 6 }, { 9, 5 }, { 20, 7 },
{ 3, 7 }, { 5, 6 }, { 6, 6 }, { 2, 7 }, { 22, 9 }, { 23, 10 },
{ 0, 10 }, { 21, 8 }, { 11, 4 }, { 19, 5 }, { 7, 6 }, { 4, 6 },
{ 16, 3 }, { 10, 4 }, { 18, 4 }, { 15, 3 }, { 13, 3 }, { 14, 3 },
}

VLC TABLES.

Definition at line 38 of file qdm2data.h.

Referenced by qdm2_init_vlc().

◆ tab_diff

const uint8_t tab_diff[33][2]
static
Initial value:
= {
{ 2, 3 }, { 1, 3 }, { 5, 3 }, { 14, 8 }, { 20, 9 }, { 26, 10 },
{ 25, 12 }, { 32, 12 }, { 19, 11 }, { 16, 8 }, { 24, 9 }, { 17, 9 },
{ 12, 7 }, { 13, 7 }, { 9, 5 }, { 7, 4 }, { 3, 2 }, { 4, 3 },
{ 8, 6 }, { 11, 6 }, { 18, 8 }, { 15, 8 }, { 30, 11 }, { 36, 13 },
{ 34, 13 }, { 29, 13 }, { 0, 13 }, { 21, 10 }, { 28, 10 }, { 23, 10 },
{ 22, 8 }, { 10, 6 }, { 6, 4 },
}

Definition at line 46 of file qdm2data.h.

Referenced by qdm2_init_vlc().

◆ tab_run

const uint8_t tab_run[6][2]
static
Initial value:
= {
{ 1, 1 }, { 2, 2 }, { 3, 3 }, { 4, 4 }, { 5, 5 }, { 0, 5 },
}

Definition at line 56 of file qdm2data.h.

Referenced by qdm2_init_vlc().

◆ tab_tone_level_idx_hi1

const uint8_t tab_tone_level_idx_hi1[20][2]
static
Initial value:
= {
{ 4, 3 }, { 5, 5 }, { 9, 10 }, { 11, 11 }, { 13, 12 }, { 14, 12 },
{ 10, 10 }, { 12, 11 }, { 17, 14 }, { 16, 14 }, { 18, 15 }, { 0, 15 },
{ 19, 14 }, { 15, 12 }, { 8, 8 }, { 7, 7 }, { 6, 6 }, { 1, 4 },
{ 2, 2 }, { 3, 1 },
}

Definition at line 61 of file qdm2data.h.

Referenced by qdm2_init_vlc().

◆ tab_tone_level_idx_mid

const uint8_t tab_tone_level_idx_mid[13][2]
static
Initial value:
= {
{ 18, 2 }, { 19, 4 }, { 20, 6 }, { 14, 7 }, { 21, 8 }, { 13, 9 },
{ 22, 10 }, { 12, 11 }, { 23, 12 }, { 0, 12 }, { 15, 5 }, { 16, 3 },
{ 17, 1 },
}

Definition at line 69 of file qdm2data.h.

Referenced by qdm2_init_vlc().

◆ tab_tone_level_idx_hi2

const uint8_t tab_tone_level_idx_hi2[18][2]
static
Initial value:
= {
{ 14, 4 }, { 11, 6 }, { 19, 7 }, { 9, 7 }, { 13, 5 }, { 10, 6 },
{ 20, 8 }, { 8, 8 }, { 6, 10 }, { 23, 11 }, { 0, 11 }, { 21, 9 },
{ 7, 8 }, { 12, 5 }, { 18, 4 }, { 16, 2 }, { 15, 2 }, { 17, 2 },
}

Definition at line 76 of file qdm2data.h.

Referenced by qdm2_init_vlc().

◆ tab_type30

const uint8_t tab_type30[9][2]
static
Initial value:
= {
{ 2, 3 }, { 6, 4 }, { 7, 5 }, { 8, 6 }, { 0, 6 }, { 5, 3 }, { 1, 3 },
{ 3, 2 }, { 4, 2 },
}

Definition at line 83 of file qdm2data.h.

Referenced by qdm2_init_vlc().

◆ tab_type34

const uint8_t tab_type34[10][2]
static
Initial value:
= {
{ 1, 4 }, { 9, 5 }, { 0, 5 }, { 3, 3 }, { 7, 3 }, { 8, 3 }, { 2, 3 },
{ 4, 3 }, { 6, 3 }, { 5, 3 },
}

Definition at line 89 of file qdm2data.h.

Referenced by qdm2_init_vlc().

◆ tab_fft_tone_offset_sizes

const uint8_t tab_fft_tone_offset_sizes[]
static
Initial value:
= {
23, 28, 31, 34, 37
}

Definition at line 94 of file qdm2data.h.

Referenced by qdm2_init_vlc().

◆ tab_fft_tone_offset

const uint8_t tab_fft_tone_offset[][2]
static

Definition at line 98 of file qdm2data.h.

Referenced by qdm2_init_vlc().

◆ fft_level_exp_alt

const uint8_t fft_level_exp_alt[28][2]
static
Initial value:
= {
{ 18, 3 }, { 16, 3 }, { 22, 7 }, { 8, 10 }, { 4, 10 }, { 3, 9 },
{ 2, 8 }, { 23, 8 }, { 10, 8 }, { 11, 7 }, { 21, 5 }, { 20, 4 },
{ 1, 7 }, { 7, 10 }, { 5, 10 }, { 9, 9 }, { 6, 10 }, { 25, 11 },
{ 26, 12 }, { 27, 13 }, { 0, 13 }, { 24, 9 }, { 12, 6 }, { 13, 5 },
{ 14, 4 }, { 19, 3 }, { 15, 3 }, { 17, 2 },
}

FFT TABLES.

Definition at line 137 of file qdm2data.h.

Referenced by qdm2_init_vlc().

◆ fft_level_exp

const uint8_t fft_level_exp[20][2]
static
Initial value:
= {
{ 3, 3 }, { 11, 6 }, { 16, 9 }, { 17, 10 }, { 18, 11 }, { 19, 12 },
{ 0, 12 }, { 15, 8 }, { 14, 7 }, { 9, 5 }, { 7, 4 }, { 2, 3 },
{ 4, 3 }, { 1, 3 }, { 5, 3 }, { 12, 6 }, { 13, 6 }, { 10, 5 },
{ 8, 4 }, { 6, 3 },
}

Definition at line 146 of file qdm2data.h.

Referenced by qdm2_init_vlc().

◆ fft_stereo_exp

const uint8_t fft_stereo_exp[7][2]
static
Initial value:
= {
{ 2, 2 }, { 3, 3 }, { 4, 4 }, { 5, 5 }, { 6, 6 }, { 0, 6 }, { 1, 1 },
}

Definition at line 154 of file qdm2data.h.

Referenced by qdm2_init_vlc().

◆ fft_stereo_phase

const uint8_t fft_stereo_phase[9][2]
static
Initial value:
= {
{ 2, 2 }, { 1, 2 }, { 3, 4 }, { 7, 4 }, { 6, 5 }, { 5, 6 }, { 0, 6 },
{ 4, 4 }, { 8, 2 },
}

Definition at line 159 of file qdm2data.h.

Referenced by qdm2_init_vlc().

◆ fft_cutoff_index_table

const int fft_cutoff_index_table[4][2]
static
Initial value:
= {
{ 1, 2 }, {-1, 0 }, {-1,-2 }, { 0, 0 }
}

Definition at line 164 of file qdm2data.h.

Referenced by qdm2_fft_generate_tone().

◆ fft_level_index_table

const int16_t fft_level_index_table[256]
static
Initial value:
= {
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
}

Definition at line 168 of file qdm2data.h.

Referenced by qdm2_fft_decode_tones().

◆ last_coeff

const uint8_t last_coeff[3]
static
Initial value:
= {
4, 7, 10
}

Definition at line 187 of file qdm2data.h.

Referenced by calc_input_response(), and fill_tone_level_array().

◆ coeff_per_sb_for_avg

const uint8_t coeff_per_sb_for_avg[3][30]
static
Initial value:
= {
{ 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 },
{ 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 },
{ 0, 1, 2, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9 }
}

Definition at line 191 of file qdm2data.h.

Referenced by average_quantized_coeffs(), and process_subpacket_9().

◆ dequant_table

const uint32_t dequant_table[3][10][30]
static

Definition at line 197 of file qdm2data.h.

◆ coeff_per_sb_for_dequant

const uint8_t coeff_per_sb_for_dequant[3][30]
static
Initial value:
= {
{ 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3 },
{ 0, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6 },
{ 0, 1, 2, 3, 4, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9 }
}

Definition at line 230 of file qdm2data.h.

Referenced by fill_tone_level_array().

◆ tone_level_idx_offset_table

const int8_t tone_level_idx_offset_table[30][4]
static

Definition at line 237 of file qdm2data.h.

Referenced by fill_coding_method_array().

◆ coding_method_table

const int8_t coding_method_table[5][30]
static
Initial value:
= {
{ 34, 30, 24, 24, 16, 16, 16, 16, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
},
{ 34, 30, 24, 24, 16, 16, 16, 16, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
},
{ 34, 30, 30, 30, 24, 24, 16, 16, 16, 16, 16, 16, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
},
{ 34, 34, 30, 30, 24, 24, 24, 24, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 10, 10, 10, 10, 10, 10, 10, 10
},
{ 34, 34, 30, 30, 30, 30, 30, 30, 24, 24, 24, 24, 24, 24, 24,
24, 24, 24, 24, 24, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16
},
}

Definition at line 272 of file qdm2data.h.

Referenced by fill_coding_method_array().

◆ vlc_stage3_values

const int vlc_stage3_values[60]
static
Initial value:
= {
0, 1, 2, 3, 4, 6, 8, 10, 12, 16, 20, 24,
28, 36, 44, 52, 60, 76, 92, 108, 124, 156, 188, 220,
252, 316, 380, 444, 508, 636, 764, 892, 1020, 1276, 1532, 1788,
2044, 2556, 3068, 3580, 4092, 5116, 6140, 7164, 8188, 10236, 12284, 14332,
16380, 20476, 24572, 28668, 32764, 40956, 49148, 57340, 65532, 81916, 98300,114684
}

Definition at line 290 of file qdm2data.h.

Referenced by qdm2_get_vlc().

◆ fft_tone_sample_table

const float fft_tone_sample_table[4][16][5]
static

Definition at line 298 of file qdm2data.h.

Referenced by qdm2_fft_tone_synthesizer().

◆ fft_tone_level_table

const float fft_tone_level_table[2][64]
static

Definition at line 368 of file qdm2data.h.

Referenced by fill_tone_level_array(), and qdm2_fft_tone_synthesizer().

◆ fft_tone_envelope_table

const float fft_tone_envelope_table[4][31]
static
Initial value:
= {
{ .009607375f, .038060248f, .084265202f, .146446645f, .222214907f, .308658302f,
.402454883f, .500000060f, .597545207f, .691341758f, .777785182f, .853553414f,
.915734828f, .961939812f, .990392685f, 1.00000000f, .990392625f, .961939752f,
.915734768f, .853553295f, .777785063f, .691341639f, .597545087f, .500000000f,
.402454853f, .308658272f, .222214878f, .146446615f, .084265172f, .038060218f,
.009607345f },
{ .038060248f, .146446645f, .308658302f, .500000060f, .691341758f, .853553414f,
.961939812f, 1.00000000f, .961939752f, .853553295f, .691341639f, .500000000f,
.308658272f, .146446615f, .038060218f, .000000000f, .000000000f, .000000000f,
.000000000f, .000000000f, .000000000f, .000000000f, .000000000f, .000000000f,
.000000000f, .000000000f, .000000000f, .000000000f, .000000000f, .000000000f,
.000000000f },
{ .146446645f, .500000060f, .853553414f, 1.00000000f, .853553295f, .500000000f,
.146446615f, .000000000f, .000000000f, .000000000f, .000000000f, .000000000f,
.000000000f, .000000000f, .000000000f, .000000000f, .000000000f, .000000000f,
.000000000f, .000000000f, .000000000f, .000000000f, .000000000f, .000000000f,
.000000000f, .000000000f, .000000000f, .000000000f, .000000000f, .000000000f,
.000000000f },
{ .500000060f, 1.00000000f, .500000000f, .000000000f, .000000000f, .000000000f,
.000000000f, .000000000f, .000000000f, .000000000f, .000000000f, .000000000f,
.000000000f, .000000000f, .000000000f, .000000000f, .000000000f, .000000000f,
.000000000f, .000000000f, .000000000f, .000000000f, .000000000f, .000000000f,
.000000000f, .000000000f, .000000000f, .000000000f, .000000000f, .000000000f,
.000000000f }
}

Definition at line 406 of file qdm2data.h.

Referenced by qdm2_fft_generate_tone().

◆ sb_noise_attenuation

const float sb_noise_attenuation[32]
static
Initial value:
= {
0.0f, 0.0f, 0.3f, 0.4f, 0.5f, 0.7f, 1.0f, 1.0f,
1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
}

Definition at line 433 of file qdm2data.h.

◆ fft_subpackets

const uint8_t fft_subpackets[32]
static
Initial value:
= {
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0
}

Definition at line 440 of file qdm2data.h.

Referenced by qdm2_decode_fft_packets(), and qdm2_decode_super_block().

◆ dequant_1bit

const float dequant_1bit[2][3]
static
Initial value:
= {
{-0.920000f, 0.000000f, 0.920000f },
{-0.890000f, 0.000000f, 0.890000f }
}

Definition at line 446 of file qdm2data.h.

Referenced by synthfilt_build_sb_samples().

◆ type30_dequant

const float type30_dequant[8]
static
Initial value:
= {
-1.0f,-0.625f,-0.291666656732559f,0.0f,
0.25f,0.5f,0.75f,1.0f,
}

Definition at line 451 of file qdm2data.h.

Referenced by synthfilt_build_sb_samples().

◆ type34_delta

const float type34_delta[10]
static
Initial value:
= {
-1.0f,-0.60947573184967f,-0.333333343267441f,-0.138071194291115f,0.0f,
0.138071194291115f,0.333333343267441f,0.60947573184967f,1.0f,0.0f,
}

Definition at line 456 of file qdm2data.h.

Referenced by synthfilt_build_sb_samples().