FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
tscc2data.h
Go to the documentation of this file.
1 /*
2  * TechSmith Screen Codec 2 (aka Dora) decoder
3  * Copyright (c) 2012 Konstantin Shishkov
4  *
5  * This file is part of FFmpeg.
6  *
7  * FFmpeg is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * FFmpeg is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with FFmpeg; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20  */
21 
22 #ifndef AVCODEC_TSCC2DATA_H
23 #define AVCODEC_TSCC2DATA_H
24 
25 #include <stdint.h>
26 
27 #define NUM_VLC_SETS 13
28 
29 static const uint16_t tscc2_quants[NUM_VLC_SETS][3] = {
30  { 655, 861, 1130 }, { 983, 1291, 1695 }, { 1311, 1721, 2260 },
31  { 1638, 2151, 2825 }, { 1966, 2582, 3390 }, { 2294, 3012, 3955 },
32  { 2621, 3442, 4520 }, { 2949, 3872, 5085 }, { 3277, 4303, 5650 },
33  { 3604, 4733, 6215 }, { 3932, 5163, 6780 }, { 4260, 5593, 7345 },
34  { 4588, 6024, 7910 },
35 };
36 
37 #define DC_VLC_COUNT 47
38 
39 static const uint16_t tscc2_dc_vlc_syms[DC_VLC_COUNT] = {
40  0x100, 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9,
41  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,
42  0xF0, 0xEF, 0xEE, 0xED, 0xEC, 0xEB, 0xEA, 0x17,
43  0x16, 0x15, 0x14, 0x13, 0x12, 0x11, 0x10, 0x0F,
44  0x0E, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07,
45  0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00,
46 };
47 
48 static const uint16_t tscc2_dc_vlc_codes[DC_VLC_COUNT] = {
49  0x000A, 0x0000, 0x0006, 0x002E, 0x0002, 0x000E, 0x001A, 0x007E,
50  0x004E, 0x005A, 0x00E2, 0x01BE, 0x01BA, 0x00BA, 0x0072, 0x0022,
51  0x02BE, 0x00BE, 0x033A, 0x03F2, 0x01F2, 0x03A2, 0x0122, 0x0322,
52  0x01A2, 0x0172, 0x0372, 0x013A, 0x00CE, 0x02CE, 0x02FE, 0x00FE,
53  0x00A2, 0x00F2, 0x003A, 0x01CE, 0x01FE, 0x0062, 0x00DA, 0x003E,
54  0x0032, 0x007A, 0x0012, 0x001E, 0x0016, 0x0004, 0x0001,
55 };
56 
58  5, 3, 5, 6, 6, 7, 7, 8,
59  8, 8, 8, 9, 9, 9, 9, 9,
60  10, 10, 10, 10, 10, 10, 10, 10,
61  10, 10, 10, 10, 10, 10, 10, 10,
62  9, 9, 9, 9, 9, 8, 8, 8,
63  7, 7, 6, 6, 5, 3, 1,
64 };
65 
66 static const uint8_t tscc2_nc_vlc_syms[16] = {
67  0x0F, 0x0E, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08,
68  0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00,
69 };
70 
71 static const uint16_t tscc2_nc_vlc_codes[NUM_VLC_SETS][16] = {
72  { 0x0023, 0x0003, 0x0031, 0x0021, 0x0011, 0x0053, 0x0013, 0x0001,
73  0x0009, 0x0029, 0x0033, 0x0019, 0x000B, 0x0005, 0x0007, 0x0000, },
74  { 0x0030, 0x0022, 0x0028, 0x0020, 0x0008, 0x0000, 0x0032, 0x0072,
75  0x0010, 0x0002, 0x0012, 0x0018, 0x000A, 0x0004, 0x0006, 0x0001, },
76  { 0x0032, 0x0038, 0x0020, 0x0008, 0x0002, 0x0018, 0x0072, 0x0000,
77  0x0028, 0x0022, 0x0012, 0x0010, 0x000A, 0x0004, 0x0006, 0x0001, },
78  { 0x0032, 0x0010, 0x0072, 0x0030, 0x0022, 0x0038, 0x0008, 0x0028,
79  0x0018, 0x0002, 0x0012, 0x0000, 0x000A, 0x0004, 0x0006, 0x0001, },
80  { 0x0012, 0x0052, 0x0000, 0x0020, 0x0018, 0x0022, 0x0008, 0x0028,
81  0x0038, 0x0002, 0x0032, 0x0010, 0x000A, 0x0004, 0x0006, 0x0001, },
82  { 0x0016, 0x0096, 0x0006, 0x0046, 0x0056, 0x0002, 0x0036, 0x0076,
83  0x0012, 0x0022, 0x0032, 0x0026, 0x000A, 0x000E, 0x0000, 0x0001, },
84  { 0x001A, 0x009A, 0x0032, 0x0072, 0x005A, 0x007A, 0x003A, 0x0002,
85  0x0012, 0x0022, 0x000A, 0x002A, 0x0006, 0x000E, 0x0000, 0x0001, },
86  { 0x002A, 0x00AA, 0x0002, 0x0042, 0x006A, 0x003A, 0x007A, 0x0022,
87  0x0032, 0x0012, 0x000A, 0x001A, 0x0006, 0x000E, 0x0000, 0x0001, },
88  { 0x0042, 0x00C2, 0x0002, 0x000A, 0x004A, 0x003A, 0x007A, 0x0022,
89  0x0012, 0x0032, 0x002A, 0x001A, 0x0006, 0x000E, 0x0000, 0x0001, },
90  { 0x00BA, 0x01BA, 0x003A, 0x0012, 0x0052, 0x007A, 0x0002, 0x0022,
91  0x0032, 0x000A, 0x002A, 0x001A, 0x0000, 0x0004, 0x0006, 0x0001, },
92  { 0x00AA, 0x01AA, 0x002A, 0x0022, 0x0062, 0x006A, 0x0002, 0x0012,
93  0x0032, 0x000A, 0x001A, 0x003A, 0x0000, 0x0004, 0x0006, 0x0001, },
94  { 0x00AA, 0x01AA, 0x002A, 0x0022, 0x0062, 0x006A, 0x0002, 0x0012,
95  0x0032, 0x000A, 0x003A, 0x001A, 0x0000, 0x0004, 0x0006, 0x0001, },
96  { 0x008A, 0x018A, 0x000A, 0x0022, 0x0062, 0x004A, 0x0002, 0x0012,
97  0x0032, 0x002A, 0x001A, 0x003A, 0x0000, 0x0004, 0x0006, 0x0001, },
98 };
99 
101  { 6, 6, 6, 6, 6, 7, 7, 6, 6, 6, 6, 5, 4, 3, 3, 1 },
102  { 6, 6, 6, 6, 6, 6, 7, 7, 6, 6, 6, 5, 4, 3, 3, 1 },
103  { 7, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 5, 4, 3, 3, 1 },
104  { 7, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 4, 3, 3, 1 },
105  { 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 4, 3, 3, 1 },
106  { 8, 8, 7, 7, 7, 6, 7, 7, 6, 6, 6, 6, 4, 4, 2, 1 },
107  { 8, 8, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 4, 4, 2, 1 },
108  { 8, 8, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 4, 4, 2, 1 },
109  { 8, 8, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 4, 4, 2, 1 },
110  { 9, 9, 8, 7, 7, 7, 6, 6, 6, 6, 6, 6, 3, 3, 3, 1 },
111  { 9, 9, 8, 7, 7, 7, 6, 6, 6, 6, 6, 6, 3, 3, 3, 1 },
112  { 9, 9, 8, 7, 7, 7, 6, 6, 6, 6, 6, 6, 3, 3, 3, 1 },
113  { 9, 9, 8, 7, 7, 7, 6, 6, 6, 6, 6, 6, 3, 3, 3, 1 },
114 };
115 
116 static const uint16_t ac_vlc_desc0_syms[172] = {
117  0x1000, 0xFF8, 0xFF6, 0xFF5, 0xFF4, 0xFF3, 0xFF2, 0xFF1,
118  0xFF0, 0xFE6, 0xFE5, 0xFE4, 0xFE3, 0xFE2, 0xFE1, 0xFE0,
119  0xFD6, 0xFD5, 0xFD3, 0xFD2, 0xFD1, 0xFD0, 0xFC6, 0xFC5,
120  0xFC3, 0xFC2, 0xFC1, 0xFC0, 0xFB5, 0xFB3, 0xFB2, 0xFB1,
121  0xFB0, 0xFA5, 0xFA3, 0xFA1, 0xFA0, 0xF95, 0xF91, 0xF90,
122  0xF83, 0xF81, 0xF80, 0xF73, 0xF71, 0xF70, 0xF61, 0xF60,
123  0xF51, 0xF50, 0xF45, 0xF41, 0xF40, 0xF31, 0xF30, 0xF21,
124  0xF20, 0xF10, 0xF00, 0xEF0, 0xEE0, 0xED5, 0xED1, 0xED0,
125  0xEC0, 0xEB0, 0xEA0, 0xE90, 0xE80, 0xE70, 0xE60, 0xE50,
126  0xE40, 0xE30, 0xE20, 0xE10, 0xE00, 0xDF0, 0xDE0, 0xDD0,
127  0xDC0, 0xDB0, 0xDA0, 0xD90, 0xD80, 0xD60, 0xCD1, 0x280,
128  0x270, 0x260, 0x250, 0x240, 0x230, 0x220, 0x210, 0x200,
129  0x1F0, 0x1E0, 0x1D0, 0x1C0, 0x1B0, 0x1A1, 0x1A0, 0x190,
130  0x180, 0x170, 0x160, 0x150, 0x140, 0x130, 0x121, 0x120,
131  0x111, 0x110, 0x101, 0x100, 0x0F1, 0x0F0, 0x0E1, 0x0E0,
132  0x0D1, 0x0D0, 0x0C1, 0x0C0, 0x0B1, 0x0B0, 0x0A5, 0x0A1,
133  0x0A0, 0x091, 0x090, 0x081, 0x080, 0x075, 0x071, 0x070,
134  0x065, 0x063, 0x061, 0x060, 0x055, 0x053, 0x052, 0x051,
135  0x050, 0x046, 0x045, 0x043, 0x042, 0x041, 0x040, 0x036,
136  0x035, 0x033, 0x032, 0x031, 0x030, 0x026, 0x025, 0x024,
137  0x023, 0x022, 0x021, 0x020, 0x018, 0x016, 0x015, 0x014,
138  0x013, 0x012, 0x011, 0x010,
139 };
140 
141 static const uint16_t ac_vlc_desc0_codes[172] = {
142  0x001F, 0x0D71, 0x013F, 0x006C, 0x00A7, 0x0067, 0x001C, 0x0008,
143  0x0005, 0x06F1, 0x002C, 0x04BA, 0x0072, 0x01AA, 0x0002, 0x0006,
144  0x06AC, 0x02AF, 0x06EF, 0x018F, 0x000A, 0x0009, 0x02AC, 0x042A,
145  0x06E1, 0x068F, 0x00B1, 0x0000, 0x0317, 0x0C17, 0x0612, 0x010F,
146  0x0011, 0x0FBA, 0x002A, 0x0172, 0x000C, 0x05AC, 0x03D7, 0x0037,
147  0x0E8F, 0x02F2, 0x0041, 0x0BE1, 0x057F, 0x004A, 0x00AF, 0x006F,
148  0x06AA, 0x0097, 0x0101, 0x0012, 0x0081, 0x0571, 0x0092, 0x0EAF,
149  0x01BF, 0x00D7, 0x0031, 0x0001, 0x01F2, 0x0F17, 0x053A, 0x00BF,
150  0x038F, 0x0217, 0x0371, 0x01F1, 0x01BA, 0x022A, 0x02BF, 0x028F,
151  0x008F, 0x03F1, 0x00E1, 0x00BA, 0x00F2, 0x0EBF, 0x06AF, 0x048F,
152  0x0FE1, 0x0271, 0x07BA, 0x0D3A, 0x0C12, 0x08AC, 0x0717, 0x00AC,
153  0x0412, 0x0901, 0x04E1, 0x07E1, 0x0417, 0x0CAF, 0x04AC, 0x01AC,
154  0x04F2, 0x03BA, 0x05D7, 0x07F1, 0x01D7, 0x04AF, 0x04EF, 0x03AC,
155  0x00AA, 0x01E1, 0x0071, 0x00F1, 0x012C, 0x03EF, 0x082A, 0x0112,
156  0x03E1, 0x01FA, 0x0DAC, 0x0131, 0x0E12, 0x000F, 0x0B17, 0x007F,
157  0x0AEF, 0x007A, 0x02AA, 0x0061, 0x0671, 0x0027, 0x013A, 0x058F,
158  0x00FF, 0x033A, 0x0032, 0x0301, 0x0021, 0x0C8F, 0x037F, 0x0077,
159  0x02F1, 0x02E1, 0x003A, 0x003C, 0x0212, 0x0817, 0x0CE1, 0x003F,
160  0x0007, 0x0017, 0x0501, 0x02BA, 0x06BF, 0x0057, 0x0010, 0x02EF,
161  0x0117, 0x017F, 0x00EF, 0x006A, 0x0019, 0x0171, 0x01EF, 0x06BA,
162  0x012A, 0x00FA, 0x0022, 0x000E, 0x0AE1, 0x01AF, 0x0052, 0x002F,
163  0x004F, 0x001A, 0x0004, 0x0003,
164 };
165 
166 static const uint8_t ac_vlc_desc0_bits[172] = {
167  6, 12, 9, 7, 8, 7, 6, 4,
168  3, 11, 9, 11, 9, 9, 6, 4,
169  11, 11, 11, 11, 7, 5, 11, 11,
170  11, 12, 8, 5, 12, 12, 12, 9,
171  6, 12, 12, 9, 6, 12, 10, 7,
172  12, 10, 7, 12, 11, 7, 11, 8,
173  11, 8, 12, 11, 8, 12, 8, 12,
174  9, 9, 9, 9, 9, 12, 12, 10,
175  10, 10, 10, 10, 10, 10, 11, 11,
176  11, 11, 11, 11, 11, 12, 12, 12,
177  12, 11, 12, 12, 12, 12, 12, 12,
178  12, 12, 12, 12, 12, 12, 11, 11,
179  11, 11, 11, 11, 11, 12, 11, 10,
180  10, 10, 10, 10, 9, 10, 12, 9,
181  12, 9, 12, 9, 12, 9, 12, 9,
182  12, 8, 11, 8, 11, 8, 11, 11,
183  8, 10, 7, 10, 7, 12, 10, 7,
184  11, 12, 9, 6, 11, 12, 12, 9,
185  6, 12, 11, 11, 12, 8, 5, 12,
186  10, 11, 11, 7, 5, 11, 10, 11,
187  9, 9, 6, 4, 12, 9, 7, 8,
188  7, 6, 4, 3,
189 };
190 
191 static const uint16_t ac_vlc_desc1_syms[169] = {
192  0x1000, 0xFF8, 0xFF6, 0xFF5, 0xFF4, 0xFF3, 0xFF2, 0xFF1,
193  0xFF0, 0xFE6, 0xFE5, 0xFE4, 0xFE3, 0xFE2, 0xFE1, 0xFE0,
194  0xFD6, 0xFD5, 0xFD3, 0xFD2, 0xFD1, 0xFD0, 0xFC6, 0xFC5,
195  0xFC3, 0xFC2, 0xFC1, 0xFC0, 0xFB6, 0xFB5, 0xFB3, 0xFB2,
196  0xFB1, 0xFB0, 0xFA6, 0xFA5, 0xFA3, 0xFA1, 0xFA0, 0xF95,
197  0xF93, 0xF91, 0xF90, 0xF85, 0xF81, 0xF80, 0xF71, 0xF70,
198  0xF61, 0xF60, 0xF51, 0xF50, 0xF45, 0xF41, 0xF40, 0xF31,
199  0xF30, 0xF21, 0xF20, 0xF11, 0xF10, 0xF01, 0xF00, 0xEF1,
200  0xEF0, 0xEE1, 0xEE0, 0xED0, 0xEC6, 0xEC0, 0xEB6, 0xEB0,
201  0xEA0, 0xE90, 0xE80, 0xE70, 0xE60, 0xE50, 0xE40, 0xE33,
202  0xE31, 0xE30, 0xE20, 0xE10, 0xE00, 0xDF0, 0xDE1, 0xDE0,
203  0xDC0, 0xDB0, 0xDA0, 0x250, 0x240, 0x1F0, 0x1E0, 0x1D0,
204  0x1C0, 0x1B0, 0x1A0, 0x190, 0x180, 0x170, 0x160, 0x150,
205  0x140, 0x130, 0x120, 0x111, 0x110, 0x101, 0x100, 0x0F1,
206  0x0F0, 0x0E1, 0x0E0, 0x0D1, 0x0D0, 0x0C6, 0x0C1, 0x0C0,
207  0x0B1, 0x0B0, 0x0A1, 0x0A0, 0x095, 0x091, 0x090, 0x085,
208  0x081, 0x080, 0x075, 0x071, 0x070, 0x065, 0x063, 0x061,
209  0x060, 0x055, 0x053, 0x052, 0x051, 0x050, 0x046, 0x045,
210  0x043, 0x042, 0x041, 0x040, 0x036, 0x035, 0x033, 0x032,
211  0x031, 0x030, 0x026, 0x025, 0x024, 0x023, 0x022, 0x021,
212  0x020, 0x018, 0x016, 0x015, 0x014, 0x013, 0x012, 0x011,
213  0x010,
214 };
215 
216 static const uint16_t ac_vlc_desc1_codes[169] = {
217  0x0019, 0x027D, 0x0084, 0x0044, 0x009D, 0x003D, 0x000A, 0x0002,
218  0x0003, 0x00EA, 0x02FD, 0x017A, 0x01C6, 0x00B6, 0x0026, 0x000E,
219  0x0095, 0x0260, 0x032A, 0x0360, 0x0006, 0x0005, 0x05B6, 0x036A,
220  0x06F6, 0x0704, 0x00FA, 0x0010, 0x0279, 0x04D4, 0x00F6, 0x066A,
221  0x001D, 0x0029, 0x05F9, 0x0846, 0x04F6, 0x01D4, 0x0038, 0x0446,
222  0x0160, 0x031D, 0x0075, 0x0054, 0x02D4, 0x005A, 0x05FD, 0x0040,
223  0x06EA, 0x0055, 0x0460, 0x009A, 0x052A, 0x00A0, 0x00D8, 0x0380,
224  0x017D, 0x092A, 0x00F9, 0x0D7A, 0x0179, 0x0304, 0x002A, 0x0104,
225  0x01A0, 0x0780, 0x007D, 0x03F9, 0x0C46, 0x03EA, 0x0E6A, 0x0204,
226  0x01FD, 0x051D, 0x02AA, 0x05EA, 0x00AA, 0x0080, 0x067D, 0x09EA,
227  0x0C95, 0x09F9, 0x07B6, 0x0DB6, 0x012A, 0x0904, 0x0454, 0x0FB6,
228  0x0960, 0x08D4, 0x0495, 0x0F80, 0x0560, 0x0B04, 0x057A, 0x0079,
229  0x0795, 0x0E7D, 0x0060, 0x076A, 0x03B6, 0x0395, 0x0180, 0x02A0,
230  0x006A, 0x0195, 0x0295, 0x0646, 0x03FD, 0x01F9, 0x0154, 0x0DF9,
231  0x00C6, 0x0F95, 0x01F6, 0x0480, 0x0000, 0x0A79, 0x04AA, 0x00E0,
232  0x0246, 0x001A, 0x0479, 0x0015, 0x0D60, 0x0280, 0x0018, 0x01EA,
233  0x037A, 0x003A, 0x011D, 0x00FD, 0x0035, 0x0A7D, 0x04A0, 0x0146,
234  0x0024, 0x01B6, 0x0504, 0x0046, 0x0020, 0x0009, 0x00D4, 0x03AA,
235  0x0679, 0x026A, 0x0036, 0x0008, 0x02F6, 0x01AA, 0x016A, 0x0254,
236  0x0039, 0x000D, 0x0004, 0x0176, 0x02EA, 0x007A, 0x0076, 0x0016,
237  0x0001, 0x0879, 0x0058, 0x0014, 0x00D5, 0x005D, 0x0034, 0x000C,
238  0x0007,
239 };
240 
241 static const uint8_t ac_vlc_desc1_bits[169] = {
242  6, 12, 8, 7, 8, 7, 6, 4,
243  3, 10, 10, 11, 9, 9, 6, 4,
244  11, 10, 10, 10, 7, 5, 12, 11,
245  11, 11, 8, 5, 12, 11, 11, 12,
246  9, 6, 12, 12, 11, 9, 6, 12,
247  12, 10, 7, 11, 10, 7, 11, 7,
248  11, 8, 11, 8, 11, 11, 8, 11,
249  9, 12, 9, 12, 9, 12, 9, 12,
250  9, 12, 10, 10, 12, 10, 12, 10,
251  11, 11, 10, 11, 11, 11, 12, 12,
252  12, 12, 12, 12, 12, 12, 11, 12,
253  12, 12, 12, 12, 12, 12, 12, 12,
254  12, 12, 11, 11, 11, 11, 10, 10,
255  10, 10, 10, 11, 10, 12, 9, 12,
256  9, 12, 9, 11, 8, 12, 11, 8,
257  11, 8, 11, 8, 12, 10, 7, 12,
258  10, 7, 11, 10, 7, 12, 11, 9,
259  6, 11, 11, 12, 8, 6, 12, 10,
260  11, 11, 8, 5, 11, 10, 10, 10,
261  7, 5, 10, 9, 11, 9, 9, 6,
262  4, 12, 8, 7, 8, 7, 6, 4,
263  3,
264 };
265 
266 static const uint16_t ac_vlc_desc2_syms[165] = {
267  0x1000, 0xFF8, 0xFF7, 0xFF6, 0xFF5, 0xFF4, 0xFF3, 0xFF2,
268  0xFF1, 0xFF0, 0xFE6, 0xFE5, 0xFE4, 0xFE3, 0xFE2, 0xFE1,
269  0xFE0, 0xFD6, 0xFD5, 0xFD3, 0xFD2, 0xFD1, 0xFD0, 0xFC6,
270  0xFC5, 0xFC3, 0xFC2, 0xFC1, 0xFC0, 0xFB6, 0xFB5, 0xFB3,
271  0xFB2, 0xFB1, 0xFB0, 0xFA5, 0xFA3, 0xFA1, 0xFA0, 0xF95,
272  0xF93, 0xF91, 0xF90, 0xF81, 0xF80, 0xF75, 0xF71, 0xF70,
273  0xF61, 0xF60, 0xF51, 0xF50, 0xF41, 0xF40, 0xF36, 0xF31,
274  0xF30, 0xF26, 0xF21, 0xF20, 0xF16, 0xF11, 0xF10, 0xF06,
275  0xF01, 0xF00, 0xEF1, 0xEF0, 0xEE1, 0xEE0, 0xED0, 0xEC0,
276  0xEB3, 0xEB1, 0xEB0, 0xEA3, 0xEA1, 0xEA0, 0xE90, 0xE81,
277  0xE80, 0xE71, 0xE70, 0xE61, 0xE60, 0xE50, 0xE40, 0xE30,
278  0xE10, 0xE00, 0x241, 0x240, 0x231, 0x1D0, 0x1C0, 0x1B3,
279  0x1B0, 0x1A0, 0x190, 0x180, 0x170, 0x160, 0x150, 0x140,
280  0x130, 0x120, 0x110, 0x100, 0x0F0, 0x0E0, 0x0D1, 0x0D0,
281  0x0C1, 0x0C0, 0x0B1, 0x0B0, 0x0A5, 0x0A1, 0x0A0, 0x096,
282  0x095, 0x091, 0x090, 0x086, 0x085, 0x081, 0x080, 0x075,
283  0x071, 0x070, 0x065, 0x063, 0x061, 0x060, 0x055, 0x053,
284  0x052, 0x051, 0x050, 0x045, 0x043, 0x042, 0x041, 0x040,
285  0x036, 0x035, 0x033, 0x032, 0x031, 0x030, 0x026, 0x025,
286  0x024, 0x023, 0x022, 0x021, 0x020, 0x018, 0x016, 0x015,
287  0x014, 0x013, 0x012, 0x011, 0x010,
288 };
289 
290 static const uint16_t ac_vlc_desc2_codes[165] = {
291  0x0034, 0x059C, 0x0280, 0x001C, 0x004C, 0x00BD, 0x0020, 0x003C,
292  0x000A, 0x0003, 0x00FD, 0x008C, 0x0332, 0x01D5, 0x0055, 0x003E,
293  0x0001, 0x07E4, 0x0264, 0x00B2, 0x00A2, 0x005C, 0x0005, 0x02A2,
294  0x011D, 0x0132, 0x076C, 0x0012, 0x0018, 0x01E4, 0x05E4, 0x02B2,
295  0x0432, 0x017D, 0x000E, 0x055D, 0x0955, 0x0164, 0x0028, 0x0D62,
296  0x0B24, 0x02DE, 0x001E, 0x0340, 0x0014, 0x0555, 0x0180, 0x00DD,
297  0x01B2, 0x0092, 0x036C, 0x00EC, 0x00E4, 0x00C0, 0x0C64, 0x095D,
298  0x01DE, 0x0AE4, 0x0C32, 0x01A2, 0x06E4, 0x0832, 0x01A4, 0x015D,
299  0x0732, 0x031D, 0x0F9C, 0x03E2, 0x09E2, 0x02FD, 0x0224, 0x051D,
300  0x02E4, 0x019C, 0x05B2, 0x0355, 0x0064, 0x016C, 0x038C, 0x0880,
301  0x0480, 0x06B2, 0x0540, 0x0080, 0x075D, 0x0155, 0x0424, 0x0680,
302  0x0A62, 0x0A80, 0x078C, 0x0D9C, 0x0F8C, 0x0562, 0x0FF2, 0x0464,
303  0x0B55, 0x01E2, 0x0032, 0x07F2, 0x0140, 0x03E4, 0x0662, 0x0755,
304  0x0380, 0x026C, 0x0232, 0x001D, 0x0040, 0x00E2, 0x035D, 0x00F2,
305  0x0162, 0x01FD, 0x03F2, 0x000C, 0x0EA2, 0x05F2, 0x0072, 0x04E4,
306  0x0F32, 0x018C, 0x009D, 0x0324, 0x079C, 0x006C, 0x0054, 0x0F5D,
307  0x021D, 0x0015, 0x0024, 0x06A2, 0x009C, 0x0004, 0x0062, 0x056C,
308  0x0262, 0x0000, 0x002E, 0x01F2, 0x0124, 0x039C, 0x005E, 0x0010,
309  0x0724, 0x00A4, 0x00DE, 0x0362, 0x0052, 0x000D, 0x03B2, 0x007D,
310  0x05E2, 0x00D5, 0x005D, 0x0035, 0x0009, 0x099C, 0x0022, 0x002C,
311  0x003D, 0x0008, 0x0002, 0x0006, 0x0007,
312 };
313 
314 static const uint8_t ac_vlc_desc2_bits[165] = {
315  6, 12, 12, 8, 7, 8, 6, 6,
316  4, 3, 10, 9, 11, 9, 9, 6,
317  4, 11, 10, 10, 10, 7, 5, 11,
318  11, 10, 11, 8, 5, 11, 11, 11,
319  12, 9, 6, 11, 12, 9, 6, 12,
320  12, 10, 7, 10, 7, 11, 10, 8,
321  11, 8, 11, 8, 11, 8, 12, 12,
322  9, 12, 12, 9, 11, 12, 9, 12,
323  12, 10, 12, 10, 12, 10, 10, 11,
324  12, 12, 11, 12, 11, 11, 11, 12,
325  11, 11, 11, 12, 12, 12, 11, 11,
326  12, 12, 12, 12, 12, 12, 12, 12,
327  12, 12, 12, 12, 11, 11, 11, 11,
328  10, 10, 10, 10, 9, 9, 11, 9,
329  11, 9, 11, 8, 12, 11, 8, 11,
330  12, 10, 8, 12, 12, 10, 7, 12,
331  10, 7, 11, 12, 9, 6, 10, 11,
332  12, 8, 6, 11, 10, 11, 8, 5,
333  11, 9, 10, 10, 7, 5, 10, 9,
334  11, 9, 9, 6, 4, 12, 8, 7,
335  8, 6, 6, 4, 3,
336 };
337 
338 static const uint16_t ac_vlc_desc3_syms[162] = {
339  0x1000, 0xFF8, 0xFF7, 0xFF6, 0xFF5, 0xFF4, 0xFF3, 0xFF2,
340  0xFF1, 0xFF0, 0xFE6, 0xFE5, 0xFE4, 0xFE3, 0xFE2, 0xFE1,
341  0xFE0, 0xFD6, 0xFD5, 0xFD4, 0xFD3, 0xFD2, 0xFD1, 0xFD0,
342  0xFC6, 0xFC5, 0xFC3, 0xFC2, 0xFC1, 0xFC0, 0xFB5, 0xFB3,
343  0xFB2, 0xFB1, 0xFB0, 0xFA5, 0xFA3, 0xFA1, 0xFA0, 0xF95,
344  0xF93, 0xF91, 0xF90, 0xF85, 0xF83, 0xF81, 0xF80, 0xF71,
345  0xF70, 0xF66, 0xF61, 0xF60, 0xF56, 0xF51, 0xF50, 0xF46,
346  0xF41, 0xF40, 0xF36, 0xF31, 0xF30, 0xF26, 0xF21, 0xF20,
347  0xF11, 0xF10, 0xF01, 0xF00, 0xEF3, 0xEF1, 0xEF0, 0xEE3,
348  0xEE1, 0xEE0, 0xED3, 0xED1, 0xED0, 0xEC1, 0xEC0, 0xEB1,
349  0xEB0, 0xEA0, 0xE90, 0xE80, 0xE70, 0x1E1, 0x1D1, 0x1D0,
350  0x1C1, 0x1B1, 0x1A1, 0x180, 0x170, 0x163, 0x160, 0x150,
351  0x140, 0x130, 0x123, 0x120, 0x113, 0x110, 0x100, 0x0F0,
352  0x0E0, 0x0D1, 0x0D0, 0x0C1, 0x0C0, 0x0B1, 0x0B0, 0x0A1,
353  0x0A0, 0x095, 0x091, 0x090, 0x085, 0x081, 0x080, 0x076,
354  0x075, 0x073, 0x071, 0x070, 0x066, 0x065, 0x063, 0x061,
355  0x060, 0x055, 0x053, 0x052, 0x051, 0x050, 0x045, 0x043,
356  0x042, 0x041, 0x040, 0x036, 0x035, 0x034, 0x033, 0x032,
357  0x031, 0x030, 0x026, 0x025, 0x024, 0x023, 0x022, 0x021,
358  0x020, 0x018, 0x017, 0x016, 0x015, 0x014, 0x013, 0x012,
359  0x011, 0x010,
360 };
361 
362 static const uint16_t ac_vlc_desc3_codes[162] = {
363  0x001D, 0x087C, 0x0AE8, 0x003A, 0x001C, 0x0008, 0x000C, 0x0032,
364  0x0006, 0x0003, 0x03A5, 0x01EC, 0x01A5, 0x0080, 0x0030, 0x0005,
365  0x0001, 0x0040, 0x03FC, 0x02D4, 0x0154, 0x02FC, 0x003C, 0x0015,
366  0x051A, 0x0000, 0x02EC, 0x077C, 0x00D2, 0x0018, 0x03E8, 0x04EC,
367  0x027C, 0x01FA, 0x0022, 0x0765, 0x0EA5, 0x0054, 0x0010, 0x08EC,
368  0x0AAC, 0x03BA, 0x0042, 0x065D, 0x0AD4, 0x005C, 0x0028, 0x03C0,
369  0x00E5, 0x035C, 0x04FA, 0x00DC, 0x06A5, 0x075C, 0x00C8, 0x05A5,
370  0x04D4, 0x00BA, 0x01C0, 0x05E8, 0x012C, 0x00E8, 0x01B0, 0x00B0,
371  0x025D, 0x002C, 0x0A52, 0x025C, 0x01E8, 0x00FA, 0x0348, 0x0652,
372  0x0B7C, 0x0365, 0x031A, 0x0E52, 0x011A, 0x0200, 0x01BA, 0x02AC,
373  0x06D4, 0x01FC, 0x05BA, 0x0DFC, 0x0248, 0x0EE8, 0x0B1A, 0x0CFC,
374  0x0F65, 0x0B5C, 0x0DC0, 0x007C, 0x0548, 0x08A5, 0x00FC, 0x03B0,
375  0x0148, 0x06AC, 0x0252, 0x071A, 0x02E8, 0x0240, 0x00AC, 0x021A,
376  0x0140, 0x08E8, 0x01AC, 0x00EC, 0x0152, 0x00A5, 0x0068, 0x001A,
377  0x006C, 0x05C0, 0x015C, 0x0025, 0x05B0, 0x017C, 0x0014, 0x047C,
378  0x00D4, 0x06E8, 0x00C0, 0x0002, 0x0A5D, 0x04E8, 0x0A7C, 0x01D4,
379  0x0020, 0x04A5, 0x07B0, 0x037C, 0x015D, 0x002A, 0x005D, 0x0048,
380  0x067C, 0x007A, 0x0004, 0x04FC, 0x02FA, 0x0648, 0x0100, 0x0052,
381  0x005A, 0x000D, 0x0165, 0x0065, 0x02A5, 0x0070, 0x00F0, 0x003D,
382  0x0009, 0x05FC, 0x0E48, 0x009A, 0x0012, 0x00DD, 0x0034, 0x000A,
383  0x000E, 0x0007,
384 };
385 
386 static const uint8_t ac_vlc_desc3_bits[162] = {
387  7, 12, 12, 8, 7, 7, 6, 6,
388  4, 3, 10, 9, 11, 8, 8, 6,
389  4, 10, 10, 12, 9, 10, 7, 5,
390  11, 10, 10, 11, 8, 5, 10, 11,
391  12, 9, 6, 12, 12, 9, 6, 12,
392  12, 10, 7, 11, 12, 10, 7, 10,
393  8, 12, 11, 8, 12, 11, 8, 11,
394  11, 9, 11, 11, 9, 12, 11, 9,
395  12, 9, 12, 10, 11, 11, 10, 12,
396  12, 11, 12, 12, 11, 10, 11, 12,
397  11, 11, 11, 12, 11, 12, 12, 12,
398  12, 12, 12, 12, 11, 12, 11, 11,
399  11, 11, 12, 11, 12, 10, 10, 10,
400  9, 12, 9, 12, 9, 12, 8, 10,
401  8, 12, 10, 8, 11, 10, 7, 11,
402  11, 12, 9, 7, 12, 11, 12, 9,
403  6, 11, 11, 12, 9, 6, 10, 10,
404  11, 8, 5, 12, 10, 12, 9, 10,
405  7, 5, 10, 9, 11, 8, 8, 6,
406  4, 12, 12, 8, 7, 8, 6, 6,
407  4, 3,
408 };
409 
410 static const uint16_t ac_vlc_desc4_syms[131] = {
411  0x1000, 0xFF6, 0xFF5, 0xFF4, 0xFF3, 0xFF2, 0xFF1, 0xFF0,
412  0xFE6, 0xFE5, 0xFE4, 0xFE3, 0xFE2, 0xFE1, 0xFE0, 0xFD6,
413  0xFD5, 0xFD3, 0xFD2, 0xFD1, 0xFD0, 0xFC5, 0xFC3, 0xFC2,
414  0xFC1, 0xFC0, 0xFB5, 0xFB3, 0xFB1, 0xFB0, 0xFA5, 0xFA3,
415  0xFA1, 0xFA0, 0xF93, 0xF91, 0xF90, 0xF81, 0xF80, 0xF76,
416  0xF71, 0xF70, 0xF66, 0xF61, 0xF60, 0xF56, 0xF51, 0xF50,
417  0xF41, 0xF40, 0xF31, 0xF30, 0xF23, 0xF21, 0xF20, 0xF13,
418  0xF11, 0xF10, 0xF03, 0xF01, 0xF00, 0xEF1, 0xEF0, 0xEE0,
419  0xED0, 0xEC0, 0xEB0, 0x191, 0x181, 0x180, 0x171, 0x161,
420  0x140, 0x130, 0x123, 0x120, 0x110, 0x100, 0x0F3, 0x0F0,
421  0x0E0, 0x0D0, 0x0C0, 0x0B1, 0x0B0, 0x0A1, 0x0A0, 0x091,
422  0x090, 0x085, 0x081, 0x080, 0x075, 0x071, 0x070, 0x066,
423  0x065, 0x063, 0x061, 0x060, 0x056, 0x055, 0x053, 0x051,
424  0x050, 0x045, 0x043, 0x042, 0x041, 0x040, 0x036, 0x035,
425  0x033, 0x032, 0x031, 0x030, 0x026, 0x025, 0x024, 0x023,
426  0x022, 0x021, 0x020, 0x018, 0x016, 0x015, 0x014, 0x013,
427  0x012, 0x011, 0x010,
428 };
429 
430 static const uint16_t ac_vlc_desc4_codes[131] = {
431  0x006B, 0x00BE, 0x0052, 0x00F3, 0x005B, 0x003A, 0x0009, 0x0007,
432  0x00DA, 0x03FB, 0x0123, 0x00B3, 0x01B3, 0x002E, 0x0006, 0x030A,
433  0x005A, 0x004A, 0x034A, 0x0072, 0x0005, 0x02DA, 0x0173, 0x04FB,
434  0x0032, 0x0013, 0x039B, 0x0B9B, 0x011E, 0x0002, 0x00FB, 0x021E,
435  0x009B, 0x007E, 0x0E1A, 0x03CA, 0x007B, 0x02FB, 0x0033, 0x03AB,
436  0x0463, 0x008A, 0x0773, 0x041E, 0x002B, 0x031B, 0x065A, 0x011A,
437  0x060A, 0x01DA, 0x0963, 0x0323, 0x0BAB, 0x059E, 0x010A, 0x05AB,
438  0x0CFB, 0x071B, 0x079E, 0x0F9E, 0x0263, 0x079B, 0x0563, 0x019E,
439  0x01AB, 0x0E63, 0x029B, 0x04CA, 0x0DAB, 0x0663, 0x0B1B, 0x020A,
440  0x0A1E, 0x021A, 0x0063, 0x061E, 0x06FB, 0x025A, 0x0163, 0x0573,
441  0x000A, 0x0223, 0x011B, 0x0C1A, 0x015A, 0x0863, 0x00AB, 0x02CA,
442  0x00B2, 0x0A0A, 0x01CA, 0x00A3, 0x0B73, 0x0023, 0x0012, 0x039E,
443  0x001A, 0x0CCA, 0x01FB, 0x005E, 0x0A9B, 0x00CA, 0x0373, 0x009E,
444  0x0022, 0x07AB, 0x001E, 0x0EFB, 0x009A, 0x000B, 0x041A, 0x019B,
445  0x0363, 0x014A, 0x006A, 0x0015, 0x069B, 0x0073, 0x0523, 0x001B,
446  0x012B, 0x0003, 0x0001, 0x061A, 0x003E, 0x002A, 0x00E3, 0x003B,
447  0x000E, 0x000D, 0x0000,
448 };
449 
450 static const uint8_t ac_vlc_desc4_bits[131] = {
451  7, 8, 7, 8, 7, 6, 4, 3,
452  10, 10, 11, 9, 9, 6, 4, 10,
453  10, 9, 10, 7, 5, 10, 11, 12,
454  8, 6, 12, 12, 9, 6, 11, 12,
455  10, 7, 12, 10, 8, 11, 8, 12,
456  11, 8, 11, 11, 9, 12, 11, 9,
457  11, 9, 12, 10, 12, 11, 10, 12,
458  12, 11, 12, 12, 11, 11, 11, 11,
459  11, 12, 12, 12, 12, 12, 12, 12,
460  12, 11, 12, 11, 12, 11, 12, 11,
461  10, 10, 10, 12, 9, 12, 9, 10,
462  8, 12, 10, 8, 12, 10, 7, 11,
463  11, 12, 10, 7, 12, 11, 12, 9,
464  6, 11, 11, 12, 8, 6, 12, 10,
465  10, 10, 7, 5, 11, 9, 11, 9,
466  9, 6, 4, 12, 8, 7, 8, 7,
467  6, 4, 2,
468 };
469 
470 static const uint16_t ac_vlc_desc5_syms[132] = {
471  0x1000, 0xFF8, 0xFF6, 0xFF5, 0xFF4, 0xFF3, 0xFF2, 0xFF1,
472  0xFF0, 0xFE6, 0xFE5, 0xFE4, 0xFE3, 0xFE2, 0xFE1, 0xFE0,
473  0xFD6, 0xFD5, 0xFD4, 0xFD3, 0xFD2, 0xFD1, 0xFD0, 0xFC5,
474  0xFC3, 0xFC2, 0xFC1, 0xFC0, 0xFB5, 0xFB3, 0xFB1, 0xFB0,
475  0xFA3, 0xFA1, 0xFA0, 0xF96, 0xF93, 0xF91, 0xF90, 0xF86,
476  0xF85, 0xF81, 0xF80, 0xF76, 0xF75, 0xF71, 0xF70, 0xF66,
477  0xF61, 0xF60, 0xF51, 0xF50, 0xF43, 0xF41, 0xF40, 0xF33,
478  0xF31, 0xF30, 0xF23, 0xF21, 0xF20, 0xF11, 0xF10, 0xF00,
479  0xEF0, 0xEE0, 0xEC1, 0xEC0, 0x151, 0x141, 0x140, 0x131,
480  0x121, 0x120, 0x111, 0x110, 0x103, 0x100, 0x0F0, 0x0E0,
481  0x0D3, 0x0D0, 0x0C3, 0x0C1, 0x0C0, 0x0B1, 0x0B0, 0x0A1,
482  0x0A0, 0x091, 0x090, 0x081, 0x080, 0x075, 0x071, 0x070,
483  0x065, 0x061, 0x060, 0x056, 0x055, 0x053, 0x052, 0x051,
484  0x050, 0x046, 0x045, 0x043, 0x042, 0x041, 0x040, 0x035,
485  0x034, 0x033, 0x032, 0x031, 0x030, 0x026, 0x025, 0x024,
486  0x023, 0x022, 0x021, 0x020, 0x018, 0x016, 0x015, 0x014,
487  0x013, 0x012, 0x011, 0x010,
488 };
489 
490 static const uint16_t ac_vlc_desc5_codes[132] = {
491  0x0001, 0x0D62, 0x00BD, 0x0022, 0x009B, 0x0032, 0x0019, 0x0005,
492  0x0007, 0x034D, 0x009A, 0x012B, 0x0052, 0x006B, 0x003A, 0x0006,
493  0x06FD, 0x017D, 0x081A, 0x031B, 0x031A, 0x0012, 0x0011, 0x0202,
494  0x00FD, 0x051B, 0x00D2, 0x001D, 0x011A, 0x0782, 0x018D, 0x007B,
495  0x067D, 0x037D, 0x0021, 0x0E8D, 0x0562, 0x008D, 0x00BB, 0x053D,
496  0x082A, 0x0002, 0x000D, 0x0302, 0x007D, 0x053B, 0x003B, 0x0A4D,
497  0x027D, 0x01FD, 0x042A, 0x01C2, 0x041A, 0x0182, 0x014D, 0x0162,
498  0x00C2, 0x032A, 0x0D9A, 0x012A, 0x0102, 0x087D, 0x072B, 0x039A,
499  0x0362, 0x019A, 0x0C62, 0x04C2, 0x0D1B, 0x028D, 0x0762, 0x0E7D,
500  0x0E41, 0x059A, 0x024D, 0x093B, 0x052B, 0x011B, 0x064D, 0x013D,
501  0x0382, 0x0262, 0x0641, 0x0462, 0x004D, 0x0CC2, 0x033B, 0x068D,
502  0x0141, 0x0D2B, 0x001B, 0x0041, 0x00C1, 0x0C41, 0x01E2, 0x00EB,
503  0x062A, 0x0082, 0x0061, 0x02FD, 0x047D, 0x013B, 0x002A, 0x003D,
504  0x005B, 0x022A, 0x02C2, 0x0241, 0x0062, 0x00AA, 0x000B, 0x00E2,
505  0x001A, 0x033D, 0x021A, 0x006A, 0x0009, 0x032B, 0x002B, 0x04FD,
506  0x0042, 0x016B, 0x002D, 0x000E, 0x0441, 0x00CD, 0x005A, 0x00AB,
507  0x000A, 0x0039, 0x0003, 0x0000,
508 };
509 
510 static const uint8_t ac_vlc_desc5_bits[132] = {
511  7, 12, 8, 7, 8, 6, 6, 4,
512  3, 10, 9, 11, 8, 9, 6, 4,
513  11, 10, 12, 10, 10, 7, 5, 10,
514  11, 12, 8, 6, 10, 11, 9, 7,
515  12, 10, 7, 12, 12, 10, 8, 11,
516  12, 10, 8, 10, 12, 11, 9, 12,
517  11, 9, 11, 9, 11, 10, 10, 11,
518  11, 10, 12, 10, 10, 12, 11, 10,
519  11, 11, 12, 12, 12, 11, 11, 12,
520  12, 12, 12, 12, 12, 11, 11, 11,
521  11, 10, 12, 12, 10, 12, 10, 12,
522  9, 12, 9, 11, 8, 12, 9, 8,
523  11, 9, 7, 11, 11, 12, 12, 9,
524  7, 11, 10, 11, 11, 8, 6, 9,
525  12, 10, 10, 7, 5, 11, 9, 11,
526  8, 9, 6, 4, 12, 8, 7, 8,
527  6, 6, 4, 2,
528 };
529 
530 static const uint16_t ac_vlc_desc6_syms[130] = {
531  0x1000, 0xFF8, 0xFF7, 0xFF6, 0xFF5, 0xFF4, 0xFF3, 0xFF2,
532  0xFF1, 0xFF0, 0xFE6, 0xFE5, 0xFE4, 0xFE3, 0xFE2, 0xFE1,
533  0xFE0, 0xFD6, 0xFD5, 0xFD4, 0xFD3, 0xFD2, 0xFD1, 0xFD0,
534  0xFC5, 0xFC3, 0xFC2, 0xFC1, 0xFC0, 0xFB5, 0xFB3, 0xFB1,
535  0xFB0, 0xFA6, 0xFA3, 0xFA1, 0xFA0, 0xF96, 0xF95, 0xF93,
536  0xF91, 0xF90, 0xF86, 0xF85, 0xF81, 0xF80, 0xF76, 0xF71,
537  0xF70, 0xF63, 0xF61, 0xF60, 0xF53, 0xF51, 0xF50, 0xF43,
538  0xF41, 0xF40, 0xF31, 0xF30, 0xF20, 0xF10, 0xF00, 0xEF0,
539  0xEE1, 0x131, 0x121, 0x120, 0x111, 0x110, 0x101, 0x100,
540  0x0F1, 0x0F0, 0x0E3, 0x0E1, 0x0E0, 0x0D1, 0x0D0, 0x0C3,
541  0x0C0, 0x0B3, 0x0B1, 0x0B0, 0x0A1, 0x0A0, 0x091, 0x090,
542  0x081, 0x080, 0x075, 0x071, 0x070, 0x065, 0x063, 0x061,
543  0x060, 0x056, 0x055, 0x053, 0x051, 0x050, 0x046, 0x045,
544  0x043, 0x042, 0x041, 0x040, 0x036, 0x035, 0x034, 0x033,
545  0x032, 0x031, 0x030, 0x026, 0x025, 0x024, 0x023, 0x022,
546  0x021, 0x020, 0x018, 0x016, 0x015, 0x014, 0x013, 0x012,
547  0x011, 0x010,
548 };
549 
550 static const uint16_t ac_vlc_desc6_codes[130] = {
551  0x0022, 0x0BB2, 0x0942, 0x002B, 0x0072, 0x0002, 0x001A, 0x0039,
552  0x000D, 0x0007, 0x007B, 0x008E, 0x06DB, 0x00EA, 0x015B, 0x002E,
553  0x0006, 0x0959, 0x027B, 0x0A0E, 0x01AB, 0x008A, 0x0012, 0x001E,
554  0x0575, 0x005B, 0x02AB, 0x00C2, 0x0015, 0x036A, 0x04B2, 0x0099,
555  0x001B, 0x0519, 0x0C19, 0x00DB, 0x004E, 0x0042, 0x0159, 0x03B2,
556  0x030E, 0x00EB, 0x0252, 0x0EAB, 0x018A, 0x00E2, 0x06AB, 0x0242,
557  0x017B, 0x0452, 0x0319, 0x0152, 0x025B, 0x016A, 0x00AB, 0x0052,
558  0x05B2, 0x010E, 0x038E, 0x028A, 0x0359, 0x0019, 0x078A, 0x0C52,
559  0x0D8E, 0x0ED9, 0x02D9, 0x0662, 0x0119, 0x09B2, 0x0BAB, 0x0D19,
560  0x0C5B, 0x00B2, 0x0542, 0x0B8A, 0x02B2, 0x0142, 0x065B, 0x058E,
561  0x0062, 0x018E, 0x038A, 0x00D9, 0x0419, 0x0162, 0x03AB, 0x0075,
562  0x07B2, 0x0032, 0x020E, 0x07AB, 0x006B, 0x045B, 0x01B2, 0x0199,
563  0x002A, 0x0375, 0x0775, 0x0AAB, 0x01D9, 0x003B, 0x060E, 0x0342,
564  0x0175, 0x0262, 0x000A, 0x0005, 0x0559, 0x006A, 0x0D59, 0x0219,
565  0x000E, 0x004A, 0x0009, 0x0719, 0x0059, 0x02DB, 0x00D2, 0x01DB,
566  0x0025, 0x0001, 0x06D9, 0x00F5, 0x0035, 0x00FB, 0x003A, 0x000B,
567  0x0003, 0x0000,
568 };
569 
570 static const uint8_t ac_vlc_desc6_bits[130] = {
571  7, 12, 12, 8, 7, 7, 6, 6,
572  4, 3, 10, 9, 11, 8, 9, 6,
573  4, 12, 10, 12, 10, 10, 7, 5,
574  11, 11, 12, 8, 6, 10, 11, 9,
575  7, 12, 12, 10, 7, 10, 12, 12,
576  10, 8, 10, 12, 10, 8, 12, 10,
577  9, 12, 11, 9, 11, 10, 10, 11,
578  11, 10, 10, 10, 10, 11, 11, 12,
579  12, 12, 11, 11, 11, 12, 12, 12,
580  12, 11, 11, 12, 10, 12, 11, 12,
581  10, 11, 12, 10, 12, 9, 12, 9,
582  11, 8, 12, 11, 8, 12, 12, 9,
583  7, 11, 11, 12, 9, 7, 11, 10,
584  11, 11, 8, 6, 12, 9, 12, 10,
585  10, 7, 5, 11, 9, 11, 8, 9,
586  6, 4, 12, 8, 7, 8, 6, 6,
587  4, 2,
588 };
589 
590 static const uint16_t ac_vlc_desc7_syms[125] = {
591  0x1000, 0xFF8, 0xFF7, 0xFF6, 0xFF5, 0xFF4, 0xFF3, 0xFF2,
592  0xFF1, 0xFF0, 0xFE6, 0xFE5, 0xFE4, 0xFE3, 0xFE2, 0xFE1,
593  0xFE0, 0xFD5, 0xFD4, 0xFD3, 0xFD2, 0xFD1, 0xFD0, 0xFC5,
594  0xFC3, 0xFC2, 0xFC1, 0xFC0, 0xFB5, 0xFB3, 0xFB1, 0xFB0,
595  0xFA6, 0xFA5, 0xFA3, 0xFA1, 0xFA0, 0xF96, 0xF95, 0xF93,
596  0xF91, 0xF90, 0xF86, 0xF81, 0xF80, 0xF73, 0xF71, 0xF70,
597  0xF63, 0xF61, 0xF60, 0xF53, 0xF51, 0xF50, 0xF41, 0xF40,
598  0xF31, 0xF30, 0xF20, 0xF10, 0xF01, 0xF00, 0x121, 0x111,
599  0x101, 0x100, 0x0F1, 0x0F0, 0x0E1, 0x0E0, 0x0D1, 0x0D0,
600  0x0C3, 0x0C1, 0x0C0, 0x0B1, 0x0B0, 0x0A3, 0x0A1, 0x0A0,
601  0x093, 0x091, 0x090, 0x081, 0x080, 0x071, 0x070, 0x065,
602  0x063, 0x061, 0x060, 0x055, 0x053, 0x052, 0x051, 0x050,
603  0x046, 0x045, 0x043, 0x042, 0x041, 0x040, 0x036, 0x035,
604  0x034, 0x033, 0x032, 0x031, 0x030, 0x026, 0x025, 0x024,
605  0x023, 0x022, 0x021, 0x020, 0x018, 0x017, 0x016, 0x015,
606  0x014, 0x013, 0x012, 0x011, 0x010,
607 };
608 
609 static const uint16_t ac_vlc_desc7_codes[125] = {
610  0x0053, 0x009A, 0x0EE2, 0x00D3, 0x006A, 0x0052, 0x003A, 0x0035,
611  0x000D, 0x0007, 0x0062, 0x0125, 0x0142, 0x0019, 0x01F3, 0x0029,
612  0x000E, 0x0082, 0x0ADA, 0x02E3, 0x00E2, 0x0022, 0x0006, 0x0065,
613  0x05E3, 0x0765, 0x0032, 0x0039, 0x0F99, 0x05E2, 0x0099, 0x0033,
614  0x0362, 0x0799, 0x0F65, 0x0073, 0x004A, 0x02A5, 0x0162, 0x0742,
615  0x01A5, 0x00D9, 0x0342, 0x005A, 0x00AA, 0x0EF3, 0x0182, 0x01DA,
616  0x0382, 0x035A, 0x00F3, 0x0673, 0x0165, 0x00E5, 0x06F3, 0x0225,
617  0x0842, 0x025A, 0x07E3, 0x0399, 0x07A5, 0x072A, 0x0F2A, 0x09E3,
618  0x0273, 0x049A, 0x02E5, 0x0B99, 0x02E2, 0x0E73, 0x0562, 0x02F3,
619  0x032A, 0x0F42, 0x00DA, 0x0999, 0x012A, 0x0365, 0x00A5, 0x00E3,
620  0x0199, 0x03E3, 0x019A, 0x01E2, 0x0173, 0x06E5, 0x0059, 0x01E3,
621  0x02DA, 0x002A, 0x000A, 0x06DA, 0x0FA5, 0x0042, 0x01E5, 0x0013,
622  0x03E2, 0x015A, 0x03A5, 0x0442, 0x001A, 0x0005, 0x04A5, 0x0265,
623  0x08A5, 0x0025, 0x029A, 0x0072, 0x0016, 0x0599, 0x00C2, 0x0242,
624  0x00B2, 0x0002, 0x0015, 0x0001, 0x0BE3, 0x06E2, 0x0063, 0x0023,
625  0x0012, 0x0009, 0x0003, 0x000B, 0x0000,
626 };
627 
628 static const uint8_t ac_vlc_desc7_bits[125] = {
629  8, 11, 12, 8, 7, 7, 6, 6,
630  4, 3, 9, 9, 10, 8, 9, 6,
631  4, 9, 12, 10, 10, 7, 5, 10,
632  11, 12, 8, 6, 12, 11, 9, 7,
633  10, 12, 12, 10, 7, 10, 11, 12,
634  10, 8, 11, 10, 8, 12, 10, 9,
635  10, 10, 10, 12, 10, 10, 12, 10,
636  12, 10, 11, 12, 12, 12, 12, 12,
637  11, 11, 11, 12, 11, 12, 11, 11,
638  11, 12, 10, 12, 10, 11, 12, 10,
639  12, 12, 9, 11, 9, 11, 8, 12,
640  12, 9, 7, 11, 12, 12, 9, 7,
641  10, 10, 11, 11, 8, 6, 11, 10,
642  12, 10, 10, 7, 5, 11, 8, 10,
643  8, 8, 6, 4, 12, 12, 8, 7,
644  7, 6, 6, 4, 2,
645 };
646 
647 static const uint16_t ac_vlc_desc8_syms[121] = {
648  0x1000, 0xFF8, 0xFF7, 0xFF6, 0xFF5, 0xFF4, 0xFF3, 0xFF2,
649  0xFF1, 0xFF0, 0xFE6, 0xFE5, 0xFE4, 0xFE3, 0xFE2, 0xFE1,
650  0xFE0, 0xFD5, 0xFD4, 0xFD3, 0xFD2, 0xFD1, 0xFD0, 0xFC5,
651  0xFC3, 0xFC2, 0xFC1, 0xFC0, 0xFB6, 0xFB5, 0xFB3, 0xFB1,
652  0xFB0, 0xFA6, 0xFA5, 0xFA3, 0xFA1, 0xFA0, 0xF96, 0xF95,
653  0xF93, 0xF91, 0xF90, 0xF86, 0xF83, 0xF81, 0xF80, 0xF73,
654  0xF71, 0xF70, 0xF63, 0xF61, 0xF60, 0xF51, 0xF50, 0xF41,
655  0xF40, 0xF30, 0xF21, 0xF20, 0x111, 0x101, 0x0F1, 0x0E1,
656  0x0E0, 0x0D1, 0x0D0, 0x0C1, 0x0C0, 0x0B3, 0x0B1, 0x0B0,
657  0x0A3, 0x0A1, 0x0A0, 0x093, 0x091, 0x090, 0x083, 0x081,
658  0x080, 0x073, 0x071, 0x070, 0x065, 0x063, 0x061, 0x060,
659  0x055, 0x053, 0x051, 0x050, 0x046, 0x045, 0x043, 0x042,
660  0x041, 0x040, 0x036, 0x035, 0x034, 0x033, 0x032, 0x031,
661  0x030, 0x026, 0x025, 0x024, 0x023, 0x022, 0x021, 0x020,
662  0x018, 0x017, 0x016, 0x015, 0x014, 0x013, 0x012, 0x011,
663  0x010,
664 };
665 
666 static const uint16_t ac_vlc_desc8_codes[121] = {
667  0x00F6, 0x0676, 0x0EB6, 0x00F3, 0x0056, 0x006A, 0x0039, 0x0003,
668  0x000D, 0x0007, 0x00A2, 0x0173, 0x00CA, 0x0025, 0x0082, 0x0019,
669  0x0001, 0x00B6, 0x0276, 0x02E3, 0x00B2, 0x0062, 0x001A, 0x0175,
670  0x01E3, 0x0BE5, 0x004A, 0x0029, 0x07A5, 0x00E3, 0x030A, 0x0176,
671  0x0023, 0x0042, 0x05CA, 0x00A5, 0x0142, 0x0052, 0x04A5, 0x0B02,
672  0x0D22, 0x0375, 0x0065, 0x0522, 0x0DE3, 0x010A, 0x00F5, 0x0136,
673  0x0275, 0x01B2, 0x03F5, 0x03E3, 0x0002, 0x08E3, 0x01A2, 0x0B36,
674  0x020A, 0x0076, 0x0CE3, 0x07E5, 0x070A, 0x03A5, 0x02B6, 0x0036,
675  0x01E5, 0x02A5, 0x05E3, 0x07B6, 0x07F5, 0x0736, 0x0BA5, 0x0075,
676  0x0302, 0x0FE5, 0x01B6, 0x0102, 0x04E3, 0x0022, 0x08A5, 0x01CA,
677  0x00E5, 0x0F0A, 0x05E5, 0x0096, 0x0A76, 0x0336, 0x0236, 0x0012,
678  0x03B6, 0x0BF5, 0x0073, 0x0035, 0x02B2, 0x000A, 0x0476, 0x0122,
679  0x0016, 0x0009, 0x0322, 0x01F5, 0x03E5, 0x01A5, 0x03CA, 0x0072,
680  0x0006, 0x06A5, 0x0032, 0x02CA, 0x008A, 0x00C2, 0x0015, 0x000E,
681  0x0702, 0x06B6, 0x0063, 0x0033, 0x002A, 0x0005, 0x0013, 0x000B,
682  0x0000,
683 };
684 
685 static const uint8_t ac_vlc_desc8_bits[121] = {
686  8, 11, 12, 8, 7, 7, 6, 6,
687  4, 3, 9, 9, 10, 8, 8, 6,
688  4, 10, 12, 10, 10, 7, 5, 10,
689  11, 12, 8, 6, 11, 12, 11, 9,
690  7, 9, 11, 12, 9, 7, 11, 12,
691  12, 10, 8, 12, 12, 10, 9, 10,
692  10, 9, 12, 10, 9, 12, 9, 12,
693  10, 11, 12, 12, 12, 12, 11, 10,
694  11, 11, 12, 11, 11, 11, 12, 10,
695  12, 12, 10, 10, 12, 9, 12, 11,
696  9, 12, 11, 8, 12, 12, 10, 7,
697  11, 12, 9, 7, 10, 10, 11, 11,
698  8, 6, 10, 10, 12, 10, 10, 7,
699  5, 11, 8, 10, 8, 8, 6, 4,
700  11, 12, 8, 7, 7, 6, 6, 4,
701  2,
702 };
703 
704 static const uint16_t ac_vlc_desc9_syms[114] = {
705  0x1000, 0xFF8, 0xFF7, 0xFF6, 0xFF5, 0xFF4, 0xFF3, 0xFF2,
706  0xFF1, 0xFF0, 0xFE6, 0xFE5, 0xFE4, 0xFE3, 0xFE2, 0xFE1,
707  0xFE0, 0xFD5, 0xFD4, 0xFD3, 0xFD2, 0xFD1, 0xFD0, 0xFC5,
708  0xFC3, 0xFC2, 0xFC1, 0xFC0, 0xFB6, 0xFB5, 0xFB3, 0xFB2,
709  0xFB1, 0xFB0, 0xFA6, 0xFA5, 0xFA3, 0xFA1, 0xFA0, 0xF96,
710  0xF93, 0xF91, 0xF90, 0xF83, 0xF81, 0xF80, 0xF73, 0xF71,
711  0xF70, 0xF61, 0xF60, 0xF51, 0xF50, 0xF40, 0xF31, 0xF30,
712  0xF21, 0x121, 0x0F1, 0x0E1, 0x0D1, 0x0D0, 0x0C1, 0x0C0,
713  0x0B1, 0x0B0, 0x0A3, 0x0A1, 0x0A0, 0x093, 0x091, 0x090,
714  0x083, 0x081, 0x080, 0x073, 0x071, 0x070, 0x065, 0x063,
715  0x061, 0x060, 0x055, 0x053, 0x051, 0x050, 0x045, 0x043,
716  0x042, 0x041, 0x040, 0x036, 0x035, 0x034, 0x033, 0x032,
717  0x031, 0x030, 0x026, 0x025, 0x024, 0x023, 0x022, 0x021,
718  0x020, 0x018, 0x017, 0x016, 0x015, 0x014, 0x013, 0x012,
719  0x011, 0x010,
720 };
721 
722 static const uint16_t ac_vlc_desc9_codes[114] = {
723  0x0061, 0x0403, 0x0DB1, 0x0012, 0x0071, 0x0056, 0x0035, 0x0023,
724  0x000D, 0x0007, 0x0243, 0x01D3, 0x026A, 0x00A1, 0x00A2, 0x0011,
725  0x000E, 0x01AA, 0x0531, 0x0093, 0x0222, 0x0032, 0x0006, 0x07F2,
726  0x04D3, 0x0C43, 0x0072, 0x0001, 0x0343, 0x05F2, 0x04AA, 0x03F2,
727  0x0031, 0x0045, 0x0143, 0x00AA, 0x0B31, 0x00F2, 0x00C3, 0x0693,
728  0x0BF2, 0x0203, 0x00E1, 0x03B1, 0x02D3, 0x00B1, 0x056A, 0x01D2,
729  0x008A, 0x046A, 0x01E2, 0x0003, 0x0103, 0x01B1, 0x02E2, 0x0293,
730  0x016A, 0x04E2, 0x0443, 0x0521, 0x0321, 0x0043, 0x00D3, 0x00E2,
731  0x0703, 0x00D2, 0x0731, 0x0A93, 0x0393, 0x0803, 0x0422, 0x0383,
732  0x018A, 0x006A, 0x0021, 0x096A, 0x0303, 0x0052, 0x0CE2, 0x0D31,
733  0x038A, 0x0013, 0x01F2, 0x0E93, 0x0083, 0x0005, 0x02D2, 0x0121,
734  0x0022, 0x00EA, 0x0036, 0x0122, 0x0193, 0x0331, 0x0183, 0x02AA,
735  0x004A, 0x001A, 0x0131, 0x002A, 0x036A, 0x000A, 0x0062, 0x0025,
736  0x0009, 0x06E2, 0x05B1, 0x0053, 0x0002, 0x0016, 0x0015, 0x0033,
737  0x000B, 0x0000,
738 };
739 
740 static const uint8_t ac_vlc_desc9_bits[114] = {
741  8, 11, 12, 7, 7, 7, 6, 6,
742  4, 3, 10, 9, 10, 8, 8, 6,
743  4, 9, 12, 10, 10, 7, 5, 11,
744  11, 12, 8, 6, 10, 11, 11, 12,
745  9, 7, 10, 11, 12, 9, 8, 12,
746  12, 10, 8, 10, 10, 9, 11, 9,
747  9, 11, 9, 12, 10, 11, 11, 12,
748  12, 12, 12, 11, 10, 11, 11, 11,
749  11, 10, 11, 12, 10, 12, 11, 10,
750  10, 11, 9, 12, 11, 8, 12, 12,
751  10, 8, 11, 12, 9, 7, 10, 11,
752  11, 8, 6, 9, 10, 12, 10, 10,
753  7, 5, 11, 8, 10, 8, 8, 6,
754  4, 11, 12, 8, 6, 7, 6, 6,
755  4, 2,
756 };
757 
758 static const uint16_t ac_vlc_descA_syms[110] = {
759  0x1000, 0xFF8, 0xFF7, 0xFF6, 0xFF5, 0xFF4, 0xFF3, 0xFF2,
760  0xFF1, 0xFF0, 0xFE6, 0xFE5, 0xFE4, 0xFE3, 0xFE2, 0xFE1,
761  0xFE0, 0xFD5, 0xFD4, 0xFD3, 0xFD2, 0xFD1, 0xFD0, 0xFC6,
762  0xFC5, 0xFC3, 0xFC2, 0xFC1, 0xFC0, 0xFB6, 0xFB5, 0xFB3,
763  0xFB2, 0xFB1, 0xFB0, 0xFA6, 0xFA5, 0xFA3, 0xFA1, 0xFA0,
764  0xF96, 0xF93, 0xF91, 0xF90, 0xF83, 0xF81, 0xF80, 0xF73,
765  0xF71, 0xF70, 0xF61, 0xF60, 0xF51, 0xF50, 0xF41, 0xF40,
766  0xF31, 0x0E1, 0x0D1, 0x0C1, 0x0C0, 0x0B1, 0x0B0, 0x0A1,
767  0x0A0, 0x093, 0x091, 0x090, 0x083, 0x081, 0x080, 0x073,
768  0x071, 0x070, 0x063, 0x061, 0x060, 0x055, 0x053, 0x051,
769  0x050, 0x045, 0x044, 0x043, 0x042, 0x041, 0x040, 0x036,
770  0x035, 0x034, 0x033, 0x032, 0x031, 0x030, 0x026, 0x025,
771  0x024, 0x023, 0x022, 0x021, 0x020, 0x018, 0x017, 0x016,
772  0x015, 0x014, 0x013, 0x012, 0x011, 0x010,
773 };
774 
775 static const uint16_t ac_vlc_descA_codes[110] = {
776  0x002A, 0x04C5, 0x02A3, 0x004A, 0x0015, 0x0005, 0x0003, 0x0013,
777  0x000D, 0x0007, 0x0171, 0x0032, 0x0371, 0x0076, 0x0042, 0x0011,
778  0x000E, 0x00AA, 0x04D5, 0x03A3, 0x06A3, 0x0062, 0x001A, 0x06D5,
779  0x07F2, 0x0223, 0x0CD5, 0x006A, 0x0001, 0x00F6, 0x0623, 0x03F2,
780  0x07EA, 0x01F1, 0x0021, 0x03D5, 0x08C2, 0x07F6, 0x00F2, 0x00E3,
781  0x0FEA, 0x02C5, 0x01AA, 0x0082, 0x04A3, 0x00B6, 0x0071, 0x03B2,
782  0x0023, 0x01B6, 0x08A3, 0x0002, 0x0BB2, 0x00C5, 0x02EA, 0x0C23,
783  0x0FF6, 0x0423, 0x07B2, 0x01C5, 0x07D5, 0x01EA, 0x06EA, 0x02C2,
784  0x01F6, 0x01D5, 0x01B2, 0x00B2, 0x04F1, 0x03EA, 0x01A2, 0x02A2,
785  0x02D5, 0x0123, 0x00D5, 0x01F2, 0x0055, 0x05B2, 0x04C2, 0x0102,
786  0x0061, 0x05D5, 0x00C2, 0x00F1, 0x00A3, 0x0045, 0x0016, 0x01A3,
787  0x01C2, 0x08D5, 0x03C5, 0x00EA, 0x000A, 0x0006, 0x00A2, 0x0036,
788  0x02F1, 0x0072, 0x0022, 0x0025, 0x0009, 0x03F6, 0x0AA3, 0x0063,
789  0x0012, 0x0031, 0x0035, 0x0033, 0x000B, 0x0000,
790 };
791 
792 static const uint8_t ac_vlc_descA_bits[110] = {
793  8, 11, 12, 7, 7, 7, 6, 6,
794  4, 3, 10, 8, 10, 8, 8, 6,
795  4, 9, 12, 10, 11, 7, 5, 11,
796  11, 11, 12, 8, 6, 9, 11, 11,
797  12, 9, 7, 11, 12, 12, 9, 8,
798  12, 10, 9, 8, 11, 9, 9, 12,
799  11, 9, 12, 9, 12, 11, 11, 12,
800  12, 12, 11, 10, 11, 10, 11, 10,
801  10, 11, 11, 9, 11, 11, 9, 10,
802  11, 9, 12, 10, 8, 11, 11, 9,
803  7, 11, 12, 11, 12, 8, 6, 10,
804  9, 12, 10, 10, 7, 5, 10, 8,
805  10, 8, 8, 6, 4, 11, 12, 8,
806  6, 7, 6, 6, 4, 2,
807 };
808 
809 static const uint16_t ac_vlc_descB_syms[101] = {
810  0x1000, 0xFF8, 0xFF7, 0xFF6, 0xFF5, 0xFF4, 0xFF3, 0xFF2,
811  0xFF1, 0xFF0, 0xFE6, 0xFE5, 0xFE4, 0xFE3, 0xFE2, 0xFE1,
812  0xFE0, 0xFD5, 0xFD4, 0xFD3, 0xFD2, 0xFD1, 0xFD0, 0xFC6,
813  0xFC5, 0xFC3, 0xFC2, 0xFC1, 0xFC0, 0xFB6, 0xFB5, 0xFB3,
814  0xFB1, 0xFB0, 0xFA6, 0xFA3, 0xFA1, 0xFA0, 0xF93, 0xF91,
815  0xF90, 0xF83, 0xF81, 0xF80, 0xF71, 0xF70, 0xF61, 0xF60,
816  0xF51, 0xF50, 0xF41, 0x0F1, 0x0D1, 0x0C1, 0x0B1, 0x0B0,
817  0x0A1, 0x0A0, 0x091, 0x090, 0x083, 0x081, 0x080, 0x073,
818  0x071, 0x070, 0x063, 0x061, 0x060, 0x055, 0x053, 0x051,
819  0x050, 0x045, 0x043, 0x042, 0x041, 0x040, 0x036, 0x035,
820  0x034, 0x033, 0x032, 0x031, 0x030, 0x026, 0x025, 0x024,
821  0x023, 0x022, 0x021, 0x020, 0x018, 0x017, 0x016, 0x015,
822  0x014, 0x013, 0x012, 0x011, 0x010,
823 };
824 
825 static const uint16_t ac_vlc_descB_codes[101] = {
826  0x00EE, 0x03A5, 0x0B73, 0x004E, 0x0035, 0x0015, 0x0023, 0x0013,
827  0x000D, 0x0007, 0x0673, 0x01F3, 0x02FE, 0x0096, 0x0133, 0x001E,
828  0x0001, 0x0116, 0x00F5, 0x03F5, 0x0473, 0x0052, 0x001A, 0x01D5,
829  0x0025, 0x0073, 0x0633, 0x0086, 0x0036, 0x012E, 0x0155, 0x0006,
830  0x0055, 0x000E, 0x0106, 0x023E, 0x0192, 0x0075, 0x0173, 0x01AE,
831  0x00D5, 0x08F5, 0x002E, 0x01FE, 0x0406, 0x00AE, 0x0E3E, 0x0206,
832  0x013E, 0x0373, 0x0D55, 0x063E, 0x0E33, 0x033E, 0x01F5, 0x0273,
833  0x003E, 0x06A5, 0x0092, 0x03D5, 0x04F5, 0x053E, 0x0016, 0x00FE,
834  0x07A5, 0x0125, 0x0506, 0x0292, 0x00BE, 0x0425, 0x0F73, 0x02F5,
835  0x0056, 0x0233, 0x02A5, 0x0C25, 0x007E, 0x0026, 0x0355, 0x0033,
836  0x0555, 0x01A5, 0x0306, 0x0046, 0x000A, 0x0225, 0x006E, 0x00A5,
837  0x0012, 0x00F3, 0x0005, 0x0009, 0x073E, 0x0773, 0x00B3, 0x0032,
838  0x0065, 0x0003, 0x0002, 0x000B, 0x0000,
839 };
840 
841 static const uint8_t ac_vlc_descB_bits[101] = {
842  8, 11, 12, 7, 7, 7, 6, 6,
843  4, 3, 11, 9, 10, 8, 9, 6,
844  4, 9, 12, 10, 11, 7, 5, 10,
845  11, 11, 12, 8, 6, 9, 11, 11,
846  9, 7, 11, 11, 9, 8, 10, 9,
847  9, 12, 9, 9, 11, 9, 12, 10,
848  11, 12, 12, 12, 12, 11, 10, 11,
849  10, 11, 10, 10, 11, 11, 9, 10,
850  11, 9, 11, 10, 8, 12, 12, 10,
851  7, 11, 11, 12, 8, 6, 10, 10,
852  12, 10, 10, 7, 5, 10, 8, 10,
853  8, 9, 6, 4, 11, 12, 8, 6,
854  7, 6, 5, 4, 2,
855 };
856 
857 static const uint16_t ac_vlc_descC_syms[96] = {
858  0x1000, 0xFF8, 0xFF7, 0xFF6, 0xFF5, 0xFF4, 0xFF3, 0xFF2,
859  0xFF1, 0xFF0, 0xFE6, 0xFE5, 0xFE4, 0xFE3, 0xFE2, 0xFE1,
860  0xFE0, 0xFD5, 0xFD4, 0xFD3, 0xFD2, 0xFD1, 0xFD0, 0xFC6,
861  0xFC5, 0xFC3, 0xFC2, 0xFC1, 0xFC0, 0xFB6, 0xFB5, 0xFB3,
862  0xFB1, 0xFB0, 0xFA6, 0xFA3, 0xFA1, 0xFA0, 0xF93, 0xF91,
863  0xF90, 0xF81, 0xF80, 0xF71, 0xF70, 0xF61, 0xF60, 0xF51,
864  0x0E1, 0x0C1, 0x0B1, 0x0A1, 0x0A0, 0x091, 0x090, 0x083,
865  0x081, 0x080, 0x073, 0x071, 0x070, 0x063, 0x061, 0x060,
866  0x055, 0x053, 0x051, 0x050, 0x045, 0x043, 0x042, 0x041,
867  0x040, 0x036, 0x035, 0x034, 0x033, 0x032, 0x031, 0x030,
868  0x026, 0x025, 0x024, 0x023, 0x022, 0x021, 0x020, 0x018,
869  0x017, 0x016, 0x015, 0x014, 0x013, 0x012, 0x011, 0x010,
870 };
871 
872 static const uint16_t ac_vlc_descC_codes[96] = {
873  0x00DE, 0x072E, 0x0576, 0x006E, 0x0075, 0x0055, 0x0013, 0x0033,
874  0x000D, 0x0007, 0x07D2, 0x0052, 0x0065, 0x00CE, 0x0183, 0x003E,
875  0x0001, 0x002E, 0x0F35, 0x0003, 0x0243, 0x001A, 0x0006, 0x01A5,
876  0x0043, 0x0012, 0x0E43, 0x00B6, 0x0016, 0x0135, 0x0176, 0x0643,
877  0x0035, 0x001E, 0x0735, 0x0283, 0x0125, 0x00AE, 0x00D2, 0x0165,
878  0x0103, 0x0603, 0x00E5, 0x0C43, 0x02B5, 0x04A5, 0x00A5, 0x0443,
879  0x0265, 0x0476, 0x0212, 0x0112, 0x0376, 0x012E, 0x02D2, 0x0083,
880  0x0483, 0x015E, 0x06A5, 0x0335, 0x005E, 0x0025, 0x01D2, 0x00F6,
881  0x03D2, 0x032E, 0x03B5, 0x005A, 0x0203, 0x02A5, 0x0BD2, 0x004E,
882  0x0032, 0x01B5, 0x00B5, 0x0A65, 0x0225, 0x0276, 0x000E, 0x000A,
883  0x03E5, 0x0143, 0x01E5, 0x0036, 0x0092, 0x0005, 0x0009, 0x0665,
884  0x0076, 0x00C3, 0x003A, 0x0015, 0x0023, 0x0002, 0x000B, 0x0000,
885 };
886 
887 static const uint8_t ac_vlc_descC_bits[96] = {
888  8, 11, 11, 7, 7, 7, 6, 6,
889  4, 3, 11, 8, 10, 8, 9, 6,
890  4, 9, 12, 10, 11, 7, 5, 9,
891  11, 10, 12, 8, 6, 10, 11, 12,
892  9, 7, 12, 10, 9, 8, 10, 9,
893  9, 11, 9, 12, 10, 11, 11, 12,
894  12, 11, 10, 9, 10, 10, 10, 11,
895  11, 9, 11, 11, 9, 10, 10, 8,
896  12, 11, 10, 7, 11, 11, 12, 8,
897  6, 10, 10, 12, 10, 10, 7, 5,
898  10, 9, 10, 8, 8, 6, 4, 11,
899  11, 8, 6, 7, 6, 5, 4, 2,
900 };
901 
902 static const int tscc2_ac_vlc_sizes[NUM_VLC_SETS] = {
903  172, 169, 165, 162, 131, 132, 130, 125, 121, 114, 110, 101, 96
904 };
905 
906 static const uint16_t * const tscc2_ac_vlc_syms[NUM_VLC_SETS] = {
911 };
912 
913 static const uint16_t * const tscc2_ac_vlc_codes[NUM_VLC_SETS] = {
919 };
920 
921 static const uint8_t * const tscc2_ac_vlc_bits[NUM_VLC_SETS] = {
926 };
927 
928 #endif /* AVCODEC_TSCC2DATA_H */
static const uint8_t ac_vlc_desc1_bits[169]
Definition: tscc2data.h:241
static const uint16_t ac_vlc_desc2_syms[165]
Definition: tscc2data.h:266
static const uint16_t ac_vlc_descC_syms[96]
Definition: tscc2data.h:857
static const uint8_t ac_vlc_desc4_bits[131]
Definition: tscc2data.h:450
static const uint16_t ac_vlc_desc6_codes[130]
Definition: tscc2data.h:550
static const uint16_t tscc2_dc_vlc_syms[DC_VLC_COUNT]
Definition: tscc2data.h:39
static const uint16_t ac_vlc_desc0_syms[172]
Definition: tscc2data.h:116
static const uint16_t ac_vlc_descC_codes[96]
Definition: tscc2data.h:872
#define NUM_VLC_SETS
Definition: tscc2data.h:27
static const uint16_t ac_vlc_desc0_codes[172]
Definition: tscc2data.h:141
static const int tscc2_ac_vlc_sizes[NUM_VLC_SETS]
Definition: tscc2data.h:902
static const uint16_t ac_vlc_desc5_codes[132]
Definition: tscc2data.h:490
static const uint16_t ac_vlc_descA_codes[110]
Definition: tscc2data.h:775
static const uint16_t ac_vlc_desc9_syms[114]
Definition: tscc2data.h:704
static const uint16_t ac_vlc_desc7_codes[125]
Definition: tscc2data.h:609
uint8_t
static const uint16_t ac_vlc_desc9_codes[114]
Definition: tscc2data.h:722
static const uint8_t ac_vlc_desc2_bits[165]
Definition: tscc2data.h:314
static const uint16_t ac_vlc_descB_syms[101]
Definition: tscc2data.h:809
static const uint8_t tscc2_dc_vlc_bits[DC_VLC_COUNT]
Definition: tscc2data.h:57
static const uint16_t *const tscc2_ac_vlc_syms[NUM_VLC_SETS]
Definition: tscc2data.h:906
static const uint16_t ac_vlc_descB_codes[101]
Definition: tscc2data.h:825
static const uint16_t ac_vlc_desc1_syms[169]
Definition: tscc2data.h:191
static const uint16_t *const tscc2_ac_vlc_codes[NUM_VLC_SETS]
Definition: tscc2data.h:913
static const uint16_t ac_vlc_desc7_syms[125]
Definition: tscc2data.h:590
static const uint16_t ac_vlc_desc1_codes[169]
Definition: tscc2data.h:216
static const uint8_t ac_vlc_descC_bits[96]
Definition: tscc2data.h:887
static const uint16_t ac_vlc_descA_syms[110]
Definition: tscc2data.h:758
static const uint16_t ac_vlc_desc6_syms[130]
Definition: tscc2data.h:530
#define DC_VLC_COUNT
Definition: tscc2data.h:37
static const uint16_t ac_vlc_desc2_codes[165]
Definition: tscc2data.h:290
static const uint16_t ac_vlc_desc3_codes[162]
Definition: tscc2data.h:362
static const uint8_t ac_vlc_desc0_bits[172]
Definition: tscc2data.h:166
static const uint16_t tscc2_nc_vlc_codes[NUM_VLC_SETS][16]
Definition: tscc2data.h:71
static const uint16_t ac_vlc_desc4_syms[131]
Definition: tscc2data.h:410
static const uint16_t tscc2_quants[NUM_VLC_SETS][3]
Definition: tscc2data.h:29
static const uint16_t ac_vlc_desc8_codes[121]
Definition: tscc2data.h:666
static const uint8_t ac_vlc_desc8_bits[121]
Definition: tscc2data.h:685
static const uint16_t tscc2_dc_vlc_codes[DC_VLC_COUNT]
Definition: tscc2data.h:48
static const uint16_t ac_vlc_desc4_codes[131]
Definition: tscc2data.h:430
static const uint8_t *const tscc2_ac_vlc_bits[NUM_VLC_SETS]
Definition: tscc2data.h:921
static const uint8_t ac_vlc_desc6_bits[130]
Definition: tscc2data.h:570
static const uint8_t ac_vlc_desc5_bits[132]
Definition: tscc2data.h:510
static const uint16_t ac_vlc_desc3_syms[162]
Definition: tscc2data.h:338
static const uint8_t ac_vlc_descB_bits[101]
Definition: tscc2data.h:841
static const uint8_t ac_vlc_desc3_bits[162]
Definition: tscc2data.h:386
static const uint8_t tscc2_nc_vlc_bits[NUM_VLC_SETS][16]
Definition: tscc2data.h:100
static const uint8_t tscc2_nc_vlc_syms[16]
Definition: tscc2data.h:66
static const uint8_t ac_vlc_descA_bits[110]
Definition: tscc2data.h:792
static const uint8_t ac_vlc_desc7_bits[125]
Definition: tscc2data.h:628
static const uint16_t ac_vlc_desc5_syms[132]
Definition: tscc2data.h:470
static const uint16_t ac_vlc_desc8_syms[121]
Definition: tscc2data.h:647
static const uint8_t ac_vlc_desc9_bits[114]
Definition: tscc2data.h:740