• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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     0x0FF, 0x001, 0x0FC, 0x0F1, 0x0EA, 0x017, 0x00E, 0x016, 0x0EB, 0x009,
41     0x0F6, 0x004, 0x006, 0x0F2, 0x015, 0x014, 0x00D, 0x0EC, 0x0ED, 0x100,
42     0x0FA, 0x0F7, 0x008, 0x00C, 0x013, 0x0EE, 0x0F3, 0x0F4, 0x005, 0x0FE,
43     0x002, 0x0FB, 0x0F8, 0x012, 0x011, 0x00B, 0x0FD, 0x003, 0x007, 0x0EF,
44     0x0F0, 0x0F5, 0x0F9, 0x00F, 0x010, 0x00A, 0x000,
45 };
46 
47 static const uint8_t tscc2_dc_vlc_lens[DC_VLC_COUNT] = {
48      3,  3,  6,  9, 10, 10,  9, 10, 10,  8,  8,  6,  7,  9, 10, 10,  9, 10,
49     10,  5,  7,  8,  8,  9, 10, 10,  9,  9,  7,  5,  5,  7,  8, 10, 10,  9,
50      6,  6,  8, 10, 10,  9,  8, 10, 10,  9,  1,
51 };
52 
53 static const uint8_t tscc2_nc_vlc_syms[NUM_VLC_SETS][16] = {
54     { 0x00, 0x08, 0x0C, 0x0B, 0x0D, 0x07, 0x06, 0x04,
55       0x02, 0x0E, 0x0F, 0x09, 0x0A, 0x05, 0x03, 0x01 },
56     { 0x0A, 0x0C, 0x07, 0x0F, 0x0B, 0x0D, 0x04, 0x02,
57       0x06, 0x0E, 0x05, 0x09, 0x08, 0x03, 0x01, 0x00 },
58     { 0x08, 0x0D, 0x04, 0x0C, 0x07, 0x0A, 0x0E, 0x02,
59       0x0B, 0x06, 0x05, 0x0F, 0x09, 0x03, 0x01, 0x00 },
60     { 0x04, 0x0E, 0x0C, 0x09, 0x08, 0x07, 0x0A, 0x02,
61       0x06, 0x0B, 0x05, 0x0F, 0x0D, 0x03, 0x01, 0x00 },
62     { 0x0D, 0x0C, 0x04, 0x09, 0x08, 0x0B, 0x07, 0x02,
63       0x06, 0x0A, 0x0F, 0x0E, 0x05, 0x03, 0x01, 0x00 },
64     { 0x01, 0x0A, 0x06, 0x07, 0x05, 0x03, 0x0D, 0x0C,
65       0x04, 0x0F, 0x0E, 0x0B, 0x09, 0x08, 0x02, 0x00 },
66     { 0x01, 0x08, 0x06, 0x07, 0x0D, 0x0C, 0x05, 0x04,
67       0x0F, 0x0E, 0x0B, 0x09, 0x0A, 0x03, 0x02, 0x00 },
68     { 0x01, 0x0D, 0x0C, 0x08, 0x06, 0x07, 0x05, 0x0F,
69       0x0E, 0x0B, 0x04, 0x0A, 0x09, 0x03, 0x02, 0x00 },
70     { 0x01, 0x0D, 0x0F, 0x0E, 0x08, 0x07, 0x06, 0x0C,
71       0x0B, 0x05, 0x04, 0x0A, 0x09, 0x03, 0x02, 0x00 },
72     { 0x03, 0x02, 0x09, 0x08, 0x0C, 0x0B, 0x07, 0x06,
73       0x05, 0x04, 0x0D, 0x0F, 0x0E, 0x0A, 0x01, 0x00 },
74     { 0x03, 0x02, 0x09, 0x0C, 0x0B, 0x08, 0x07, 0x06,
75       0x0D, 0x0F, 0x0E, 0x0A, 0x05, 0x04, 0x01, 0x00 },
76     { 0x03, 0x02, 0x09, 0x0C, 0x0B, 0x08, 0x07, 0x06,
77       0x0D, 0x0F, 0x0E, 0x0A, 0x04, 0x05, 0x01, 0x00 },
78     { 0x03, 0x02, 0x09, 0x0C, 0x0B, 0x08, 0x07, 0x0D,
79       0x0F, 0x0E, 0x0A, 0x06, 0x05, 0x04, 0x01, 0x00 },
80 };
81 
82 static const uint8_t tscc2_nc_vlc_lens[NUM_VLC_SETS][16] = {
83     { 1, 6, 6, 6, 6, 6, 6, 5, 3, 6, 6, 7, 7, 6, 4, 3 },
84     { 6, 6, 6, 6, 6, 6, 5, 3, 6, 6, 6, 7, 7, 4, 3, 1 },
85     { 6, 6, 5, 6, 6, 6, 6, 3, 6, 6, 6, 7, 7, 4, 3, 1 },
86     { 5, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 7, 7, 4, 3, 1 },
87     { 6, 6, 5, 6, 6, 6, 6, 3, 6, 6, 7, 7, 6, 4, 3, 1 },
88     { 2, 6, 6, 6, 6, 4, 7, 7, 6, 8, 8, 7, 7, 7, 4, 1 },
89     { 2, 6, 6, 6, 7, 7, 6, 6, 8, 8, 7, 7, 7, 4, 4, 1 },
90     { 2, 7, 7, 6, 6, 6, 6, 8, 8, 7, 6, 7, 7, 4, 4, 1 },
91     { 2, 7, 8, 8, 6, 6, 6, 7, 7, 6, 6, 7, 7, 4, 4, 1 },
92     { 3, 3, 6, 6, 7, 7, 6, 6, 6, 6, 8, 9, 9, 7, 3, 1 },
93     { 3, 3, 6, 7, 7, 6, 6, 6, 8, 9, 9, 7, 6, 6, 3, 1 },
94     { 3, 3, 6, 7, 7, 6, 6, 6, 8, 9, 9, 7, 6, 6, 3, 1 },
95     { 3, 3, 6, 7, 7, 6, 6, 8, 9, 9, 7, 6, 6, 6, 3, 1 },
96 };
97 
98 static const uint16_t tscc2_ac_vlc_syms[] = {
99     /* Descriptor 0 - 172 entries */
100     0x0FC0, 0x0040, 0x0FF1, 0x0011, 0x0FA0, 0x0FE5, 0x0140, 0x0280, 0x0D60,
101     0x0210, 0x0FC6, 0x0FD6, 0x0200, 0x0F95, 0x0101, 0x0190, 0x0FF5, 0x0FF2,
102     0x0060, 0x0FE1, 0x0021, 0x0F41, 0x0270, 0x0D80, 0x0055, 0x0FB2, 0x00F1,
103     0x0120, 0x0F30, 0x0015, 0x0090, 0x0FE3, 0x0FA1, 0x0E00, 0x01F0, 0x0F81,
104     0x0EE0, 0x0FD1, 0x0F70, 0x0FA3, 0x0121, 0x0FC5, 0x0E70, 0x0023, 0x0180,
105     0x00C1, 0x0F51, 0x0FE2, 0x0031, 0x0012, 0x0061, 0x00A5, 0x0ED1, 0x0D90,
106     0x0091, 0x0E10, 0x0FE4, 0x0043, 0x0024, 0x0E80, 0x01E0, 0x0DA0, 0x0FA5,
107     0x00D0, 0x0022, 0x0110, 0x0FE0, 0x0020, 0x0EF0, 0x0F45, 0x0260, 0x0045,
108     0x0081, 0x0F40, 0x0F80, 0x0080, 0x00C0, 0x0E20, 0x0250, 0x0052, 0x0063,
109     0x0018, 0x0FC3, 0x0170, 0x0111, 0x0F73, 0x0240, 0x0DC0, 0x0FB0, 0x0F00,
110     0x0100, 0x0FC1, 0x0160, 0x0DB0, 0x00B1, 0x0026, 0x0F31, 0x0FF8, 0x0EA0,
111     0x0150, 0x0065, 0x0FE6, 0x0E90, 0x0E30, 0x01C0, 0x0FD0, 0x0030, 0x0FF0,
112     0x0010, 0x0050, 0x00B0, 0x0FF4, 0x0FF3, 0x0046, 0x0053, 0x0230, 0x0FB3,
113     0x0EB0, 0x0035, 0x0FB5, 0x00E1, 0x0CD1, 0x0ED5, 0x0F50, 0x0041, 0x0F10,
114     0x01B0, 0x01D0, 0x0F91, 0x0F90, 0x0070, 0x00F0, 0x0FB1, 0x0E40, 0x0DD0,
115     0x0075, 0x0E50, 0x0FC2, 0x0F83, 0x0FD2, 0x00A1, 0x0EC0, 0x0013, 0x0014,
116     0x0F61, 0x01A1, 0x0220, 0x0FD5, 0x0DE0, 0x0F21, 0x0016, 0x0F60, 0x0032,
117     0x01A0, 0x0036, 0x00D1, 0x0FD3, 0x0025, 0x0130, 0x1000, 0x0051, 0x0FF6,
118     0x0ED0, 0x0E60, 0x0042, 0x0DF0, 0x0F20, 0x00E0, 0x0033, 0x0F71, 0x0071,
119     0x00A0,
120     /* Descriptor 1 - 169 entries */
121     0x00D0, 0x0E50, 0x00D1, 0x0091, 0x0160, 0x0F31, 0x0EE1, 0x0250, 0x0F70,
122     0x0051, 0x0F41, 0x0063, 0x0150, 0x0EF0, 0x01A0, 0x0F51, 0x0FD5, 0x0F93,
123     0x0DC0, 0x0240, 0x0095, 0x0FD2, 0x00C0, 0x0FC0, 0x0040, 0x0090, 0x0016,
124     0x0F40, 0x0FA0, 0x0026, 0x0EB0, 0x0EF1, 0x0DF0, 0x0053, 0x0F01, 0x01F0,
125     0x0FC2, 0x0FF6, 0x0FF5, 0x0060, 0x0015, 0x0F85, 0x0DE1, 0x0032, 0x0100,
126     0x0046, 0x0DB0, 0x0FB5, 0x0F81, 0x0FA1, 0x0012, 0x0011, 0x0FF1, 0x0FF2,
127     0x0F00, 0x0E00, 0x0F21, 0x0F45, 0x0FD3, 0x0E60, 0x00C1, 0x0E80, 0x0035,
128     0x0045, 0x0140, 0x0042, 0x0FB2, 0x0EB6, 0x0033, 0x0FC5, 0x0190, 0x0FE6,
129     0x0024, 0x0F61, 0x0085, 0x0E33, 0x0E70, 0x0EC0, 0x00B0, 0x0F50, 0x0F80,
130     0x0080, 0x0023, 0x0FE4, 0x01E0, 0x0F11, 0x0081, 0x0FC1, 0x0FD1, 0x0052,
131     0x0FA5, 0x0F95, 0x0EC6, 0x00B1, 0x0111, 0x0061, 0x00F0, 0x0FE3, 0x0FE1,
132     0x0021, 0x0041, 0x0FE2, 0x0055, 0x0FC6, 0x0E10, 0x0180, 0x0E20, 0x0DE0,
133     0x0022, 0x0025, 0x0FB3, 0x0FA3, 0x0036, 0x0FC3, 0x00E0, 0x0FE0, 0x0020,
134     0x0050, 0x0FB0, 0x1000, 0x0031, 0x01D0, 0x0018, 0x00A1, 0x0FB6, 0x00C6,
135     0x0043, 0x0F10, 0x0F20, 0x0101, 0x0E30, 0x0FA6, 0x00F1, 0x0ED0, 0x0FD0,
136     0x00A0, 0x0FD6, 0x0DA0, 0x0E31, 0x0120, 0x0130, 0x0170, 0x01C0, 0x00E1,
137     0x0F60, 0x0014, 0x0070, 0x0F90, 0x0030, 0x0FB1, 0x0075, 0x0E90, 0x0F91,
138     0x0FF4, 0x0013, 0x0FF3, 0x0EE0, 0x0FF8, 0x0065, 0x0E40, 0x01B0, 0x0F30,
139     0x0071, 0x0FE5, 0x0EA0, 0x0F71, 0x0110, 0x0FF0, 0x0010,
140     /* Descriptor 2 - 165 entries */
141     0x0051, 0x0E61, 0x0E81, 0x0E80, 0x0FF7, 0x0E00, 0x0E30, 0x0F71, 0x0130,
142     0x00F0, 0x0170, 0x0E70, 0x0F81, 0x0F40, 0x0FF3, 0x0040, 0x0013, 0x0FA0,
143     0x0FC0, 0x0060, 0x0065, 0x0E40, 0x0ED0, 0x0043, 0x0086, 0x0F93, 0x0036,
144     0x0035, 0x0F10, 0x0EA1, 0x01B3, 0x0F36, 0x0FD5, 0x0FA1, 0x0F41, 0x0096,
145     0x0EB3, 0x0F26, 0x0F16, 0x0FB6, 0x0FB5, 0x0160, 0x0FD6, 0x0F80, 0x0080,
146     0x1000, 0x00B0, 0x0FE5, 0x0091, 0x0E90, 0x0241, 0x0231, 0x0FF5, 0x0015,
147     0x0081, 0x0120, 0x0EA0, 0x0053, 0x0F51, 0x0FC2, 0x0F50, 0x0FF6, 0x0061,
148     0x0EB1, 0x0018, 0x0FF8, 0x0240, 0x0042, 0x0085, 0x0EF1, 0x0FD1, 0x0FF2,
149     0x0012, 0x0016, 0x0FD2, 0x0FC6, 0x0063, 0x00A5, 0x0F20, 0x0055, 0x0052,
150     0x0E10, 0x0150, 0x00C1, 0x01D0, 0x0F95, 0x0032, 0x00E0, 0x01A0, 0x0EE1,
151     0x0024, 0x0EF0, 0x0FC1, 0x0F60, 0x0031, 0x0190, 0x0F11, 0x0FB2, 0x0F21,
152     0x0110, 0x0FC3, 0x0FE4, 0x0F01, 0x0095, 0x0FD3, 0x0FB3, 0x0E71, 0x0F61,
153     0x0EB0, 0x0026, 0x00A0, 0x00D0, 0x0045, 0x00A1, 0x00B1, 0x0180, 0x01C0,
154     0x0FF1, 0x0011, 0x0FB0, 0x0050, 0x0F90, 0x0041, 0x0033, 0x0F91, 0x0F30,
155     0x0FE1, 0x0FE0, 0x0020, 0x0FD0, 0x0070, 0x0FE2, 0x0E50, 0x0FA3, 0x0F75,
156     0x0EA3, 0x01B0, 0x0140, 0x0023, 0x0FE3, 0x0021, 0x0030, 0x0100, 0x0071,
157     0x0FC5, 0x0EC0, 0x0F00, 0x0090, 0x0022, 0x0F06, 0x0F31, 0x0FA5, 0x00D1,
158     0x0E60, 0x0075, 0x0F70, 0x0014, 0x0FF4, 0x0025, 0x0FB1, 0x0FE6, 0x0EE0,
159     0x00C0, 0x0FF0, 0x0010,
160     /* Descriptor 3 - 162 entries */
161     0x0FC5, 0x0EC1, 0x0033, 0x0FE3, 0x0FD6, 0x0110, 0x00E0, 0x0071, 0x0F36,
162     0x0095, 0x01A1, 0x0F71, 0x0060, 0x0FA0, 0x0FE2, 0x0F20, 0x0F21, 0x0085,
163     0x0150, 0x0053, 0x0023, 0x0022, 0x0FF4, 0x0043, 0x0E70, 0x0034, 0x0017,
164     0x0140, 0x0170, 0x0EF0, 0x0F50, 0x0F80, 0x00B0, 0x0F26, 0x00D1, 0x0065,
165     0x0113, 0x0FF7, 0x0073, 0x01E1, 0x0EF3, 0x0F31, 0x0FB5, 0x0FC0, 0x0040,
166     0x0080, 0x0FA1, 0x0FD3, 0x0075, 0x0F41, 0x0FD4, 0x0F83, 0x0EB0, 0x0061,
167     0x0013, 0x0FF3, 0x0F10, 0x0F30, 0x0100, 0x0EB1, 0x0F93, 0x0130, 0x00D0,
168     0x00A0, 0x00C1, 0x0F95, 0x0FB3, 0x0FC3, 0x0FE5, 0x0FF5, 0x0F81, 0x0F00,
169     0x0091, 0x0F66, 0x01B1, 0x0F51, 0x0F60, 0x0FD1, 0x0180, 0x0FF8, 0x0076,
170     0x0FB2, 0x0063, 0x0042, 0x0081, 0x0052, 0x0EE1, 0x0FC2, 0x0160, 0x0036,
171     0x01D0, 0x0FD2, 0x0EA0, 0x0018, 0x0E80, 0x0FD5, 0x0070, 0x0F90, 0x0FB0,
172     0x0015, 0x0032, 0x0123, 0x0F01, 0x0EE3, 0x0ED1, 0x00C0, 0x0FC1, 0x0FF2,
173     0x0012, 0x0050, 0x00A1, 0x00F0, 0x0ED0, 0x0FC6, 0x0ED3, 0x01D1, 0x0120,
174     0x0016, 0x0031, 0x0FF6, 0x0F40, 0x0EC0, 0x0E90, 0x0F91, 0x0041, 0x0EF1,
175     0x0F61, 0x0035, 0x0FB1, 0x0FF1, 0x0011, 0x0FE0, 0x0020, 0x0FE1, 0x0090,
176     0x00B1, 0x0163, 0x0055, 0x0024, 0x0F56, 0x0FA3, 0x0FE4, 0x0F46, 0x0FE6,
177     0x0025, 0x0026, 0x0EE0, 0x0FA5, 0x01C1, 0x0F70, 0x0FD0, 0x0030, 0x1000,
178     0x0045, 0x0F11, 0x0066, 0x0F85, 0x0051, 0x0014, 0x0021, 0x0FF0, 0x0010,
179     /* Descriptor 4 - 131 entries */
180     0x0010, 0x0FB0, 0x0050, 0x0070, 0x0FF5, 0x0FC1, 0x0090, 0x0FD1, 0x00E0,
181     0x0161, 0x0085, 0x0F41, 0x0F20, 0x0FD6, 0x0F70, 0x0FD3, 0x0032, 0x0FD2,
182     0x0055, 0x0191, 0x0063, 0x0091, 0x0081, 0x0F91, 0x0015, 0x0031, 0x0065,
183     0x0036, 0x00B1, 0x0130, 0x0018, 0x0F93, 0x0F50, 0x0041, 0x0FD5, 0x0100,
184     0x0F51, 0x00B0, 0x0FE6, 0x0FC5, 0x0F40, 0x0FF2, 0x0FE0, 0x0012, 0x0FE1,
185     0x0043, 0x0F61, 0x0FA3, 0x0140, 0x0120, 0x0FB1, 0x0051, 0x0EE0, 0x0F21,
186     0x0066, 0x0F03, 0x0F01, 0x0060, 0x0016, 0x0FF6, 0x0FA0, 0x0020, 0x0FF1,
187     0x0FD0, 0x0030, 0x0011, 0x0021, 0x0071, 0x00D0, 0x0FE4, 0x0024, 0x0F30,
188     0x0080, 0x0123, 0x00A1, 0x0F71, 0x0F00, 0x0180, 0x0EC0, 0x00F3, 0x0F31,
189     0x0EF0, 0x0033, 0x0014, 0x0FC0, 0x0F80, 0x0FE3, 0x0FE2, 0x0025, 0x0FC3,
190     0x00F0, 0x0053, 0x0075, 0x0F66, 0x0FF4, 0x0040, 0x0F60, 0x0022, 0x00A0,
191     0x0ED0, 0x0F13, 0x0181, 0x0F76, 0x0F23, 0x0045, 0x1000, 0x0023, 0x00C0,
192     0x0F56, 0x0171, 0x0F10, 0x0FA1, 0x0EB0, 0x0056, 0x0026, 0x0035, 0x0FB5,
193     0x0FB3, 0x0EF1, 0x0FF3, 0x0013, 0x0F90, 0x0FA5, 0x0FC2, 0x0F11, 0x0F81,
194     0x0110, 0x0042, 0x0061, 0x0FE5, 0x0FF0,
195     /* Descriptor 5 - 132 entries */
196     0x0010, 0x0F81, 0x0FC5, 0x0F20, 0x0F76, 0x0061, 0x0F41, 0x00D3, 0x0FB3,
197     0x0023, 0x0F31, 0x0EC0, 0x00B1, 0x0045, 0x0F50, 0x0FF5, 0x0042, 0x00C1,
198     0x0EC1, 0x00D0, 0x0F33, 0x0F93, 0x0FF8, 0x0EF0, 0x0140, 0x0035, 0x0071,
199     0x0FD1, 0x0FE3, 0x0FC1, 0x0FF3, 0x0013, 0x0052, 0x0F85, 0x0F51, 0x0046,
200     0x0065, 0x0F21, 0x0F30, 0x0041, 0x0031, 0x0034, 0x0FD4, 0x0F43, 0x0032,
201     0x0FB5, 0x0FD2, 0x0FE5, 0x0EE0, 0x0120, 0x0F23, 0x0F00, 0x0015, 0x0FE1,
202     0x0FE0, 0x0020, 0x1000, 0x0081, 0x0018, 0x0075, 0x0043, 0x00C3, 0x0121,
203     0x00A0, 0x0080, 0x0FA0, 0x0060, 0x0FD0, 0x0030, 0x0FF2, 0x0012, 0x0FF1,
204     0x0F80, 0x0F91, 0x0141, 0x00A1, 0x0F96, 0x0FB1, 0x00C0, 0x0111, 0x0F66,
205     0x00F0, 0x0F40, 0x0FE6, 0x0016, 0x0021, 0x0FC0, 0x0051, 0x00E0, 0x0F86,
206     0x0033, 0x0FF6, 0x0F75, 0x0F11, 0x0055, 0x0F61, 0x0FA3, 0x0131, 0x0FD5,
207     0x0FA1, 0x0FC3, 0x0024, 0x0056, 0x0FD6, 0x0F60, 0x0011, 0x0040, 0x0025,
208     0x0FE4, 0x0103, 0x0091, 0x0026, 0x0F10, 0x0014, 0x0FE2, 0x0022, 0x0070,
209     0x0090, 0x0100, 0x0FC2, 0x0151, 0x0FD3, 0x0FF4, 0x0050, 0x0F70, 0x0053,
210     0x0110, 0x0F71, 0x00B0, 0x0F90, 0x0FB0, 0x0FF0,
211     /* Descriptor 6 - 130 entries */
212     0x0010, 0x0FF4, 0x0F96, 0x0F71, 0x00D1, 0x0FF7, 0x00E3, 0x0045, 0x0FC1,
213     0x1000, 0x00C0, 0x0042, 0x0120, 0x00A0, 0x0F80, 0x0FD1, 0x0F43, 0x0F63,
214     0x0EF0, 0x0F86, 0x0F60, 0x0023, 0x0080, 0x00F0, 0x0FB3, 0x00E0, 0x0063,
215     0x0110, 0x0F41, 0x0F93, 0x0FF8, 0x0081, 0x0FF5, 0x0041, 0x0FD2, 0x0F30,
216     0x0F81, 0x00B1, 0x00E1, 0x0F00, 0x0031, 0x0060, 0x0035, 0x0F51, 0x0FB5,
217     0x0FE3, 0x0FF3, 0x0013, 0x0FE0, 0x0032, 0x0075, 0x0FD4, 0x0046, 0x0F40,
218     0x0F91, 0x0FE5, 0x00B3, 0x00C3, 0x0EE1, 0x0F31, 0x0FA0, 0x0FE1, 0x0FD0,
219     0x0020, 0x0030, 0x0F10, 0x00A1, 0x0FA3, 0x0033, 0x0111, 0x0FA6, 0x0100,
220     0x0F61, 0x0026, 0x0FB1, 0x0061, 0x0025, 0x0F95, 0x0FD6, 0x0036, 0x0034,
221     0x0F20, 0x00B0, 0x0121, 0x0018, 0x0131, 0x0051, 0x0FF2, 0x0040, 0x0021,
222     0x0FC0, 0x0015, 0x0090, 0x0043, 0x0FC5, 0x0056, 0x0055, 0x0016, 0x0FF1,
223     0x0011, 0x0012, 0x0FF6, 0x0F50, 0x0FC2, 0x0053, 0x0F76, 0x0F85, 0x0FD3,
224     0x0091, 0x0101, 0x0071, 0x0070, 0x0F90, 0x0FB0, 0x0FC3, 0x0065, 0x00F1,
225     0x0F53, 0x00D0, 0x0FE2, 0x0FA1, 0x0024, 0x0FE4, 0x0022, 0x0050, 0x0FE6,
226     0x0FD5, 0x0F70, 0x0014, 0x0FF0,
227     /* Descriptor 7 - 125 entries */
228     0x0010, 0x0022, 0x0FD5, 0x0F71, 0x0F63, 0x0052, 0x0F31, 0x0042, 0x0024,
229     0x0FE4, 0x0F86, 0x0F93, 0x00C1, 0x0025, 0x0FD1, 0x0FE6, 0x0F95, 0x00D1,
230     0x0FA6, 0x0FD2, 0x00E1, 0x0017, 0x0FF7, 0x0081, 0x0FB3, 0x0046, 0x0014,
231     0x0FF4, 0x0FC1, 0x0023, 0x0031, 0x0060, 0x0FA0, 0x0061, 0x00B0, 0x00C3,
232     0x0F00, 0x0121, 0x0F80, 0x0FF5, 0x0041, 0x0FF8, 0x0100, 0x0032, 0x0090,
233     0x0F81, 0x0F30, 0x0045, 0x0F61, 0x00C0, 0x0063, 0x0FD4, 0x0055, 0x0F70,
234     0x0FF3, 0x0FD0, 0x0030, 0x0FE0, 0x0020, 0x0013, 0x0FE1, 0x0FE3, 0x0FB1,
235     0x0093, 0x00B1, 0x0026, 0x0F10, 0x00F0, 0x0FA5, 0x0FB5, 0x0070, 0x0F90,
236     0x0FC0, 0x0040, 0x0033, 0x0F40, 0x0FE5, 0x00A1, 0x0034, 0x0036, 0x0F96,
237     0x0F91, 0x0043, 0x0F01, 0x0053, 0x0FC5, 0x0035, 0x0F51, 0x00A3, 0x0FC2,
238     0x0FA3, 0x0F50, 0x00F1, 0x0071, 0x0051, 0x0021, 0x0FF2, 0x0FF1, 0x0012,
239     0x0015, 0x0016, 0x00A0, 0x0FD3, 0x0065, 0x0111, 0x0FC3, 0x0091, 0x0018,
240     0x0F20, 0x0050, 0x1000, 0x0FF6, 0x0FB0, 0x0FA1, 0x0101, 0x0F53, 0x00E0,
241     0x0080, 0x0F60, 0x00D0, 0x0F41, 0x0F73, 0x0FE2, 0x0011, 0x0FF0,
242     /* Descriptor 8 - 121 entries */
243     0x0010, 0x0F60, 0x0093, 0x00A3, 0x0F95, 0x0018, 0x0FE2, 0x0FA6, 0x0FA1,
244     0x0022, 0x0090, 0x0042, 0x0F86, 0x0F93, 0x0036, 0x0FE6, 0x0F50, 0x0FD1,
245     0x0060, 0x0FA0, 0x0025, 0x0FD2, 0x0046, 0x0F70, 0x0031, 0x0045, 0x0F40,
246     0x0F81, 0x0FB3, 0x0111, 0x0073, 0x0023, 0x0FC1, 0x0FE4, 0x0024, 0x0081,
247     0x0FA5, 0x0032, 0x0014, 0x0FF4, 0x0FD0, 0x0030, 0x0041, 0x0070, 0x0FF5,
248     0x00E1, 0x0061, 0x0F73, 0x0063, 0x0F41, 0x00B3, 0x0FD5, 0x00F1, 0x0017,
249     0x0FF7, 0x00A0, 0x0055, 0x00C1, 0x0F30, 0x0043, 0x0FD4, 0x0065, 0x0FF8,
250     0x0FB1, 0x1000, 0x0020, 0x0FE0, 0x0040, 0x0FC0, 0x0FE1, 0x0FF3, 0x0013,
251     0x0FE3, 0x0FA3, 0x0083, 0x0F96, 0x00D1, 0x0026, 0x0033, 0x0101, 0x00B1,
252     0x0FB6, 0x0F90, 0x0080, 0x00E0, 0x0071, 0x0034, 0x0FC2, 0x0F20, 0x00A1,
253     0x0021, 0x0050, 0x00B0, 0x0F71, 0x0FC5, 0x0F91, 0x0F80, 0x0035, 0x0F63,
254     0x0053, 0x00C0, 0x0FF1, 0x0FF2, 0x0FB0, 0x0016, 0x0FB5, 0x0F51, 0x0091,
255     0x0F21, 0x0FD3, 0x0FC3, 0x00D0, 0x0F83, 0x0F61, 0x0012, 0x0015, 0x0051,
256     0x0FE5, 0x0FF6, 0x0011, 0x0FF0,
257     /* Descriptor 9 - 114 entries */
258     0x0010, 0x0015, 0x0042, 0x0091, 0x0FD2, 0x0036, 0x0FE2, 0x0022, 0x00C0,
259     0x0121, 0x0065, 0x0F31, 0x0018, 0x0F60, 0x0FF6, 0x0070, 0x00B0, 0x0045,
260     0x0F71, 0x0FD1, 0x0FC1, 0x0FA1, 0x0055, 0x0FB5, 0x0FB2, 0x0F93, 0x0FC5,
261     0x0023, 0x0F70, 0x0083, 0x0061, 0x0031, 0x0025, 0x0FA5, 0x0FB3, 0x0032,
262     0x0FD5, 0x0081, 0x0F61, 0x0FE4, 0x0F21, 0x0073, 0x0F73, 0x0024, 0x0041,
263     0x0030, 0x0FD0, 0x0014, 0x0FF4, 0x0040, 0x0FE0, 0x0FC0, 0x0080, 0x0043,
264     0x00E1, 0x00D1, 0x0FE3, 0x1000, 0x0F90, 0x0FE1, 0x0FB1, 0x0026, 0x0FD4,
265     0x0063, 0x0034, 0x0FA3, 0x00A3, 0x0F80, 0x0F40, 0x0017, 0x0FF7, 0x0F83,
266     0x0FF5, 0x0020, 0x0050, 0x0FB0, 0x0021, 0x0013, 0x0FF3, 0x0FF1, 0x0F51,
267     0x0093, 0x0FF8, 0x0F91, 0x0F50, 0x0071, 0x00B1, 0x0051, 0x0033, 0x0090,
268     0x00D0, 0x00F1, 0x0FC2, 0x0FE6, 0x0FA6, 0x0FB6, 0x0FA0, 0x0FF2, 0x0060,
269     0x0FD3, 0x0F30, 0x00A1, 0x0F96, 0x0053, 0x0035, 0x00A0, 0x0016, 0x00C1,
270     0x0FC3, 0x0F81, 0x0FE5, 0x0012, 0x0011, 0x0FF0,
271     /* Descriptor A - 110 entries */
272     0x0010, 0x0F60, 0x0051, 0x0F90, 0x0FE2, 0x0044, 0x0FA5, 0x0053, 0x00A1,
273     0x0035, 0x0022, 0x0026, 0x0073, 0x0080, 0x0FD1, 0x0015, 0x0FE5, 0x0090,
274     0x0091, 0x0055, 0x0F73, 0x0F51, 0x00D1, 0x0023, 0x0FA1, 0x0061, 0x0FB3,
275     0x0FC5, 0x0031, 0x0FF6, 0x1000, 0x0FD5, 0x0F91, 0x0FC1, 0x0032, 0x0F41,
276     0x00B0, 0x00B1, 0x0081, 0x0FB2, 0x0F96, 0x0FD0, 0x0030, 0x0040, 0x0025,
277     0x0F81, 0x0F70, 0x0FE3, 0x0FB6, 0x00A0, 0x0018, 0x0FA3, 0x0F31, 0x0FE0,
278     0x0FC0, 0x0FB0, 0x0050, 0x0FE1, 0x0014, 0x0F80, 0x0FE6, 0x0FE4, 0x0043,
279     0x0083, 0x0024, 0x0FB1, 0x0020, 0x0FF4, 0x0041, 0x0F50, 0x0FF8, 0x0F93,
280     0x00C1, 0x0033, 0x0021, 0x0FF5, 0x0060, 0x0063, 0x0034, 0x0FD4, 0x0FC2,
281     0x0071, 0x0FC6, 0x0093, 0x0045, 0x0FA6, 0x00C0, 0x0013, 0x0FF1, 0x0FF3,
282     0x0F71, 0x00E1, 0x0F40, 0x0FC3, 0x0FB5, 0x0070, 0x0042, 0x0F61, 0x0F83,
283     0x0FF7, 0x0017, 0x0FD2, 0x0036, 0x0FD3, 0x0016, 0x0FA0, 0x0FF2, 0x0012,
284     0x0011, 0x0FF0,
285     /* Descriptor B - 101 entries */
286     0x0010, 0x0012, 0x0023, 0x0091, 0x0061, 0x0FA1, 0x0FD1, 0x0015, 0x0030,
287     0x0FD0, 0x0FB3, 0x0F71, 0x0F60, 0x0FA6, 0x0063, 0x0032, 0x0FC1, 0x0031,
288     0x0040, 0x0080, 0x0FD5, 0x0FE3, 0x0050, 0x0FC0, 0x0FB0, 0x0FF6, 0x0F81,
289     0x0FB6, 0x0F70, 0x0F91, 0x0025, 0x1000, 0x0FE1, 0x00A1, 0x0FA3, 0x00F1,
290     0x0F61, 0x0F51, 0x0081, 0x00C1, 0x0018, 0x0060, 0x0041, 0x0073, 0x0FE4,
291     0x0F80, 0x0FE0, 0x0020, 0x0021, 0x0FC5, 0x0055, 0x0042, 0x0026, 0x0070,
292     0x0024, 0x0043, 0x00A0, 0x0033, 0x0FF8, 0x0071, 0x0014, 0x0FF4, 0x0FB1,
293     0x0FB5, 0x0034, 0x0F41, 0x0036, 0x0F90, 0x0FC6, 0x0090, 0x0FF5, 0x0FA0,
294     0x0FD4, 0x0F83, 0x0083, 0x0051, 0x00B1, 0x0FD3, 0x0FF1, 0x0013, 0x0FF3,
295     0x0FF2, 0x0035, 0x0045, 0x0FC2, 0x00D1, 0x0FE2, 0x0016, 0x0FC3, 0x0FD2,
296     0x00B0, 0x0FE6, 0x0F93, 0x0F50, 0x0FF7, 0x0017, 0x0053, 0x0022, 0x0FE5,
297     0x0011, 0x0FF0,
298     /* Descriptor C - 96 entries */
299     0x0010, 0x0012, 0x0FC3, 0x00B1, 0x00A1, 0x0022, 0x0FE5, 0x0F93, 0x0090,
300     0x0061, 0x0055, 0x0042, 0x0FE6, 0x0040, 0x0030, 0x0FD1, 0x0050, 0x0015,
301     0x0FD0, 0x0FC0, 0x0023, 0x0FC1, 0x0017, 0x00C1, 0x0032, 0x0FB5, 0x0FF7,
302     0x00A0, 0x0060, 0x0031, 0x0041, 0x0FE3, 0x0FD5, 0x0091, 0x0053, 0x0FF8,
303     0x0FA0, 0x0FF6, 0x0FB0, 0x0070, 0x0080, 0x1000, 0x0FE1, 0x0FE0, 0x0020,
304     0x0021, 0x0063, 0x0033, 0x0FA1, 0x0F60, 0x0F61, 0x0043, 0x0073, 0x0FC6,
305     0x0FE4, 0x00E1, 0x0034, 0x0018, 0x0F91, 0x0F80, 0x0024, 0x0026, 0x0014,
306     0x0FF4, 0x0FB1, 0x0FB6, 0x0071, 0x0FA6, 0x0FD4, 0x0035, 0x0F70, 0x0036,
307     0x0051, 0x0FF5, 0x0FF1, 0x0FD3, 0x0045, 0x0F81, 0x0F90, 0x0083, 0x0081,
308     0x0FA3, 0x0FE2, 0x0FC5, 0x0F51, 0x0F71, 0x0FD2, 0x0FB3, 0x0FC2, 0x0025,
309     0x0016, 0x0013, 0x0FF3, 0x0FF2, 0x0011, 0x0FF0,
310 };
311 
312 static const uint8_t tscc2_ac_vlc_lens[] = {
313     /* Descriptor 0 - 172 entries */
314      5,  5,  4,  4,  6,  9,  9, 12, 12, 11, 11, 11, 11, 12, 12, 10,  7,  6,
315      6,  6,  6, 11, 12, 12, 11, 12, 12,  9,  8,  7,  7,  9,  9, 11, 11, 10,
316      9,  7,  7, 12, 12, 11, 10,  9, 10, 11, 11,  9,  7,  6,  9, 11, 12, 12,
317     10, 11, 11, 11, 11, 10, 11, 12, 12,  8,  9,  9,  4,  4,  9, 12, 12, 11,
318     10,  8,  7,  7,  8, 11, 12, 12, 12, 12, 11, 10, 12, 12, 12, 12,  6,  9,
319      9,  8, 10, 11, 11, 11, 12, 12, 10, 10, 11, 11, 10, 11, 11,  5,  5,  3,
320      3,  6,  8,  8,  7, 12, 12, 12, 12, 10, 10, 12, 12, 12, 12,  8,  8,  9,
321     11, 11, 10,  7,  7,  9,  9, 11, 12, 12, 11, 12, 12, 11, 11, 10,  7,  8,
322     11, 12, 12, 11, 12, 12,  9,  8, 11, 11, 12, 12, 11, 10, 10,  6,  9,  9,
323     10, 11, 12, 12,  9,  9, 11, 11, 10,  8,
324     /* Descriptor 1 - 169 entries */
325      8, 11, 11, 10, 10, 11, 12, 12,  7,  8, 11, 11, 10,  9, 11, 11, 10, 12,
326     12, 12, 12, 10,  8,  5,  5,  7,  8,  8,  6, 10, 10, 12, 12, 11, 12, 12,
327     11,  8,  7,  6,  7, 11, 11, 10,  9, 12, 12, 11, 10,  9,  6,  4,  4,  6,
328      9, 12, 12, 11, 10, 11, 11, 10, 10, 10, 10, 11, 12, 12, 10, 11, 11, 10,
329     11, 11, 12, 12, 11, 10,  8,  8,  7,  7,  9, 11, 12, 12, 10,  8,  7, 12,
330     12, 12, 12, 11, 11,  9,  9,  9,  6,  6,  8,  9, 11, 12, 12, 11, 12, 12,
331      9,  9, 11, 11, 11, 11,  9,  4,  4,  6,  6,  6,  7, 12, 12, 11, 12, 12,
332     11,  9,  9, 12, 12, 12, 12, 10,  5,  8, 11, 12, 12, 10, 10, 11, 12, 12,
333      8,  8,  7,  7,  5,  9, 11, 11, 10,  8,  7,  7, 10, 12, 12, 12, 12,  9,
334     10, 10, 11, 11, 10,  3,  3,
335     /* Descriptor 2 - 165 entries */
336      8, 12, 12, 11, 12, 12, 11, 10, 10,  9, 11, 11, 10,  8,  6,  5,  6,  6,
337      5,  6, 11, 11, 10, 10, 12, 12, 11,  9,  9, 11, 12, 12, 10,  9, 11, 11,
338     12, 12, 11, 11, 11, 11, 11,  7,  7,  6,  8,  9, 10, 11, 12, 12,  7,  7,
339     10, 10, 11, 11, 11, 11,  8,  8,  9, 12, 12, 12, 12, 11, 12, 12,  7,  6,
340      6,  8, 10, 11, 12, 12,  9, 10, 12, 12, 11, 11, 12, 12, 10,  9, 12, 12,
341     11, 10,  8,  8,  7, 12, 12, 12, 12, 10, 10, 11, 12, 12, 10, 11, 11, 11,
342     11, 10,  8,  9, 11, 11, 11, 12, 12,  4,  4,  6,  6,  7,  8, 10, 10,  9,
343      6,  4,  4,  5,  7,  9, 12, 12, 11, 12, 12, 11,  9,  9,  6,  5, 10, 10,
344     11, 11, 10,  8,  9, 12, 12, 11, 11, 12, 12,  8,  8,  8,  9,  9, 10, 10,
345      9,  3,  3,
346     /* Descriptor 3 - 162 entries */
347     10, 10,  9,  8, 10, 10,  9,  9, 11, 12, 12, 10,  6,  6,  8,  9, 11, 11,
348     11, 11,  8,  8,  7, 10, 11, 12, 12, 11, 11, 10,  8,  7,  8, 12, 12, 11,
349     12, 12, 12, 12, 11, 11, 10,  5,  5,  7,  9,  9, 11, 11, 12, 12, 11,  9,
350      6,  6,  9,  9, 10, 12, 12, 11,  9,  8, 12, 12, 11, 10,  9,  7, 10, 10,
351     10, 12, 12, 11,  8,  7, 12, 12, 11, 12, 12, 11, 10, 12, 12, 11, 11, 12,
352     12, 10, 11, 12, 12, 10,  7,  7,  6,  7, 10, 12, 12, 12, 12,  9,  8,  6,
353      6,  6, 10, 10, 11, 11, 12, 12, 11,  8,  7,  8,  9, 11, 11, 10,  8, 11,
354     11, 10,  9,  4,  4,  4,  4,  6,  8, 12, 12, 11, 11, 12, 12, 11, 11, 10,
355      9, 10, 11, 12, 12,  8,  5,  5,  7, 10, 12, 12, 11,  9,  8,  6,  3,  3,
356     /* Descriptor 4 - 131 entries */
357      2,  6,  6,  7,  7,  8,  8,  7, 10, 12, 12, 11, 10, 10,  8,  9, 10, 10,
358     11, 12, 12, 10, 10, 10,  7,  7, 11, 12, 12, 11, 12, 12,  9,  8, 10, 11,
359     11,  9, 10, 10,  9,  6,  4,  6,  6, 11, 11, 12, 12, 11,  9,  9, 11, 11,
360     11, 12, 12,  7,  8,  8,  7,  4,  4,  5,  5,  4,  6, 10, 10, 11, 11, 10,
361      8, 12, 12, 11, 11, 12, 12, 12, 12, 11, 10,  8,  6,  8,  9,  9,  9, 11,
362     11, 12, 12, 11,  8,  6,  9,  9,  9, 11, 12, 12, 12, 12, 11,  7,  9, 10,
363     12, 12, 11, 10, 12, 12, 11, 10, 12, 12, 11,  7,  7,  8, 11, 12, 12, 11,
364     12, 12, 10, 10,  3,
365     /* Descriptor 5 - 132 entries */
366      2, 10, 10, 10, 10,  9, 10, 11, 11,  8, 11, 12, 12, 10,  9,  7, 11, 12,
367     12, 10, 11, 12, 12, 11, 11,  9,  9,  7,  8,  8,  6,  6, 12, 12, 11, 11,
368     11, 10, 10,  8,  7, 12, 12, 11, 10, 10, 10,  9, 11, 12, 12, 10,  7,  6,
369      4,  4,  7, 11, 12, 12, 11, 12, 12,  9,  8,  7,  7,  5,  5,  6,  6,  4,
370      8, 10, 11, 12, 12,  9, 10, 12, 12, 11, 10, 10,  8,  6,  6,  9, 11, 11,
371     10,  8, 12, 12, 11, 11, 12, 12, 10, 10, 11, 11, 11, 11,  9,  4,  6,  9,
372     11, 12, 12, 11, 11,  8,  9,  9,  8,  9, 11, 12, 12, 10,  8,  7,  9, 12,
373     12, 11, 10,  8,  7,  3,
374     /* Descriptor 6 - 130 entries */
375      2,  7, 10, 10, 12, 12, 11, 10,  8,  7, 10, 11, 11,  9,  8,  7, 11, 12,
376     12, 10,  9,  8,  8, 11, 11, 10, 12, 12, 11, 12, 12, 11,  7,  8, 10, 10,
377     10, 12, 12, 11,  7,  7,  9, 10, 10,  8,  6,  6,  4, 10, 12, 12, 11, 10,
378     10,  9, 11, 12, 12, 10,  7,  6,  5,  4,  5, 11, 12, 12, 10, 11, 12, 12,
379     11, 11,  9,  9,  9, 12, 12, 12, 12, 10, 10, 11, 12, 12,  9,  6,  6,  6,
380      6,  7,  9, 11, 11, 11, 11,  8,  4,  4,  6,  8, 10, 12, 12, 12, 12, 10,
381     12, 12, 11,  8,  8,  7, 11, 12, 12, 11, 11,  9, 10, 11, 11,  9,  7, 10,
382     10,  9,  8,  3,
383     /* Descriptor 7 - 125 entries */
384      2,  8,  9, 10, 10, 12, 12, 11, 10, 10, 11, 12, 12,  8,  7,  9, 11, 11,
385     10, 10, 11, 12, 12, 11, 11, 10,  7,  7,  8,  8,  7,  7,  7,  9, 10, 11,
386     12, 12,  8,  7,  8, 11, 11, 10,  9, 10, 10, 10, 10, 10, 12, 12, 11,  9,
387      6,  5,  5,  4,  4,  6,  6,  8,  9, 12, 12, 11, 12, 12, 12, 12,  8,  8,
388      6,  6, 10, 10,  9, 12, 12, 11, 10, 10, 11, 12, 12, 10, 10, 10, 11, 12,
389     12, 10, 11, 11,  9,  6,  6,  4,  6,  7,  8, 10, 10, 12, 12, 11, 12, 12,
390     11,  7,  8,  8,  7, 10, 11, 12, 12,  9, 10, 11, 12, 12,  9,  4,  3,
391     /* Descriptor 8 - 121 entries */
392      2,  9, 10, 12, 12, 11,  8,  9,  9,  8,  9, 11, 12, 12, 10,  9,  9,  7,
393      7,  7,  8, 10, 10,  9,  7, 10, 10, 10, 11, 12, 12,  8,  8, 10, 10, 11,
394     11, 10,  7,  7,  5,  5,  8,  8,  7, 10, 10, 10, 12, 12, 11, 10, 11, 12,
395     12, 10, 11, 11, 11, 11, 12, 12, 11,  9,  8,  4,  4,  6,  6,  6,  6,  6,
396      8, 12, 12, 11, 11, 11, 10, 12, 12, 11,  8,  9, 11, 11, 12, 12, 12, 12,
397      6,  7, 10, 10, 10, 10,  9, 10, 12, 12, 11,  4,  6,  7,  8, 12, 12, 12,
398     12, 10, 11, 12, 12, 10,  6,  7,  9,  9,  8,  4,  3,
399     /* Descriptor 9 - 114 entries */
400      2,  6, 11, 11, 10,  9,  8,  8, 11, 12, 12, 11, 11,  9,  7,  8, 10, 10,
401      9,  7,  8,  9, 11, 11, 12, 12, 11,  8,  9, 10, 10,  7,  8, 11, 11, 10,
402      9, 11, 11, 10, 12, 12, 11, 10,  8,  5,  5,  7,  7,  6,  4,  6,  9, 11,
403     11, 10,  8,  8,  8,  6,  9, 11, 12, 12, 12, 12, 11,  9, 11, 12, 12, 10,
404      7,  4,  7,  7,  6,  6,  6,  4, 12, 12, 11, 10, 10, 11, 11,  9, 10, 10,
405     11, 12, 12, 10, 10, 10,  8,  6,  8, 10, 12, 12, 12, 12, 10, 10,  8, 11,
406     11, 10,  9,  6,  4,  3,
407     /* Descriptor A - 110 entries */
408      2,  9,  9,  8,  8, 12, 12, 11, 10,  9,  8, 10, 10,  9,  7,  6,  8,  9,
409     11, 11, 12, 12, 11,  8,  9, 10, 11, 11,  7,  7,  8,  9,  9,  8, 10, 11,
410     11, 10, 11, 12, 12,  5,  5,  6,  8,  9,  9,  8,  9, 10, 11, 12, 12,  4,
411      6,  7,  7,  6,  7,  9, 10, 10, 11, 11, 10,  9,  4,  7,  8, 11, 11, 10,
412     10, 10,  6,  7,  8, 12, 12, 12, 12, 11, 11, 11, 11, 11, 11,  6,  4,  6,
413     11, 12, 12, 11, 11,  9, 12, 12, 11, 12, 12, 11, 10, 10,  8,  8,  6,  6,
414      4,  3,
415     /* Descriptor B - 101 entries */
416      2,  5,  8, 10, 10,  9,  7,  6,  5,  5, 11, 11, 10, 11, 11, 10,  8,  7,
417      6,  9,  9,  8,  7,  6,  7,  7,  9,  9,  9,  9,  8,  8,  6, 10, 11, 12,
418     12, 11, 11, 11, 11,  8,  8, 10, 10,  9,  4,  4,  6, 11, 12, 12, 10,  9,
419     10, 11, 11, 10, 11, 11,  7,  7,  9, 11, 12, 12, 10,  9, 10, 10,  7,  8,
420     12, 12, 11, 10, 10, 10,  4,  6,  6,  6, 10, 11, 12, 12,  9,  8, 11, 11,
421     11, 11, 10, 12, 12, 12, 12,  9,  9,  4,  3,
422     /* Descriptor C - 96 entries */
423      2,  5, 10, 10,  9,  8,  8, 10, 10, 10, 12, 12, 11,  6,  5,  7,  7,  6,
424      5,  6,  8,  8, 11, 11, 10, 11, 11, 10,  8,  7,  8,  8,  9, 10, 11, 11,
425      8,  7,  7,  9,  9,  8,  6,  4,  4,  6, 10, 10,  9, 11, 11, 11, 11,  9,
426     10, 12, 12, 11,  9,  9, 10, 10,  7,  7,  9, 10, 11, 12, 12, 10, 10, 10,
427     10,  7,  4, 10, 11, 11,  9, 11, 11, 10,  9, 11, 12, 12, 11, 12, 12,  9,
428      8,  6,  6,  6,  4,  3,
429 };
430 
431 static const int tscc2_ac_vlc_sizes[NUM_VLC_SETS] = {
432     172, 169, 165, 162, 131, 132, 130, 125, 121, 114, 110, 101, 96
433 };
434 
435 #endif /* AVCODEC_TSCC2DATA_H */
436