7916d1b607eb8933afdeab9d44c982429e62ec08
[libav.git] / libavcodec / sp5x.h
1 /*
2 * Sunplus JPEG tables
3 * Copyright (c) 2003 the ffmpeg project
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 SP5X_H
23 #define SP5X_H
24
25 #include <stdint.h>
26
27 static const uint8_t sp5x_data_sof[] =
28 {
29 0xFF, 0xC0, /* SOF */
30 0x00, 0x11, /* len */
31 0x08, /* bits */
32 0x00, 0xf0, /* height (default: 240) */
33 0x01, 0x40, /* width (default: 240) */
34 0x03, /* nb components */
35 0x01, 0x22, 0x00, /* 21 vs 22 ? */
36 0x02, 0x11, 0x01,
37 0x03, 0x11, 0x01
38 };
39
40 static const uint8_t sp5x_data_sos[] =
41 {
42 0xFF, 0xDA, /* SOS */
43 0x00, 0x0C, /* len */
44 0x03, /* nb components */
45 0x01, 0x00,
46 0x02, 0x11,
47 0x03, 0x11,
48 0x00, /* Ss */
49 0x3F, /* Se */
50 0x00 /* Ah/Al */
51 };
52
53 static const uint8_t sp5x_data_dqt[] =
54 {
55 0xFF, 0xDB, /* DQT */
56 0x00, 0x84, /* len */
57 0x00,
58 0x05, 0x03, 0x04, 0x04, 0x04, 0x03, 0x05, 0x04,
59 0x04, 0x04, 0x06, 0x05, 0x05, 0x06, 0x08, 0x0D,
60 0x08, 0x08, 0x07, 0x07, 0x08, 0x10, 0x0C, 0x0C,
61 0x0A, 0x0D, 0x14, 0x11, 0x15, 0x14, 0x13, 0x11,
62 0x13, 0x13, 0x16, 0x18, 0x1F, 0x1A, 0x16, 0x17,
63 0x1E, 0x17, 0x13, 0x13, 0x1B, 0x25, 0x1C, 0x1E,
64 0x20, 0x21, 0x23, 0x23, 0x23, 0x15, 0x1A, 0x27,
65 0x29, 0x26, 0x22, 0x29, 0x1F, 0x22, 0x23, 0x22,
66 0x01,
67 0x05, 0x06, 0x06, 0x08, 0x07, 0x08, 0x10, 0x08,
68 0x08, 0x10, 0x22, 0x16, 0x13, 0x16, 0x22, 0x22,
69 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
70 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
71 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
72 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
73 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
74 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22
75 };
76
77 static const uint8_t sp5x_data_dht[] = {
78 0xFF, 0xC4, /* DHT */
79 0x01, 0xA2, /* len */
80 0x00, 0x00, 0x01, 0x05, 0x01, 0x01, 0x01, 0x01,
81 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
82 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,
83 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x01, 0x00, 0x03,
84 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
85 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
86 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
87 0x0A, 0x0B, 0x10, 0x00, 0x02, 0x01, 0x03, 0x03,
88 0x02, 0x04, 0x03, 0x05, 0x05, 0x04, 0x04, 0x00,
89 0x00, 0x01, 0x7D, 0x01, 0x02, 0x03, 0x00, 0x04,
90 0x11, 0x05, 0x12, 0x21, 0x31, 0x41, 0x06, 0x13,
91 0x51, 0x61, 0x07, 0x22, 0x71, 0x14, 0x32, 0x81,
92 0x91, 0xA1, 0x08, 0x23, 0x42, 0xB1, 0xC1, 0x15,
93 0x52, 0xD1, 0xF0, 0x24, 0x33, 0x62, 0x72, 0x82,
94 0x09, 0x0A, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x25,
95 0x26, 0x27, 0x28, 0x29, 0x2A, 0x34, 0x35, 0x36,
96 0x37, 0x38, 0x39, 0x3A, 0x43, 0x44, 0x45, 0x46,
97 0x47, 0x48, 0x49, 0x4A, 0x53, 0x54, 0x55, 0x56,
98 0x57, 0x58, 0x59, 0x5A, 0x63, 0x64, 0x65, 0x66,
99 0x67, 0x68, 0x69, 0x6A, 0x73, 0x74, 0x75, 0x76,
100 0x77, 0x78, 0x79, 0x7A, 0x83, 0x84, 0x85, 0x86,
101 0x87, 0x88, 0x89, 0x8A, 0x92, 0x93, 0x94, 0x95,
102 0x96, 0x97, 0x98, 0x99, 0x9A, 0xA2, 0xA3, 0xA4,
103 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xB2, 0xB3,
104 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xC2,
105 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA,
106 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9,
107 0xDA, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7,
108 0xE8, 0xE9, 0xEA, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5,
109 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0x11, 0x00, 0x02,
110 0x01, 0x02, 0x04, 0x04, 0x03, 0x04, 0x07, 0x05,
111 0x04, 0x04, 0x00, 0x01, 0x02, 0x77, 0x00, 0x01,
112 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, 0x31, 0x06,
113 0x12, 0x41, 0x51, 0x07, 0x61, 0x71, 0x13, 0x22,
114 0x32, 0x81, 0x08, 0x14, 0x42, 0x91, 0xA1, 0xB1,
115 0xC1, 0x09, 0x23, 0x33, 0x52, 0xF0, 0x15, 0x62,
116 0x72, 0xD1, 0x0A, 0x16, 0x24, 0x34, 0xE1, 0x25,
117 0xF1, 0x17, 0x18, 0x19, 0x1A, 0x26, 0x27, 0x28,
118 0x29, 0x2A, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A,
119 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A,
120 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A,
121 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A,
122 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A,
123 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
124 0x8A, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98,
125 0x99, 0x9A, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,
126 0xA8, 0xA9, 0xAA, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6,
127 0xB7, 0xB8, 0xB9, 0xBA, 0xC2, 0xC3, 0xC4, 0xC5,
128 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xD2, 0xD3, 0xD4,
129 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xE2, 0xE3,
130 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xF2,
131 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA
132 };
133
134
135 static const uint8_t sp5x_quant_table[20][64]=
136 {
137 /* index 0, Q50 */
138 { 16, 11, 12, 14, 12, 10, 16, 14, 13, 14, 18, 17, 16, 19, 24, 40,
139 26, 24, 22, 22, 24, 49, 35, 37, 29, 40, 58, 51, 61, 60, 57, 51,
140 56, 55, 64, 72, 92, 78, 64, 68, 87, 69, 55, 56, 80,109, 81, 87,
141 95, 98,103,104,103, 62, 77,113,121,112,100,120, 92,101,103, 99 },
142 { 17, 18, 18, 24, 21, 24, 47, 26, 26, 47, 99, 66, 56, 66, 99, 99,
143 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
144 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
145 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99 },
146
147 /* index 1, Q70 */
148 { 10, 7, 7, 8, 7, 6, 10, 8, 8, 8, 11, 10, 10, 11, 14, 24,
149 16, 14, 13, 13, 14, 29, 21, 22, 17, 24, 35, 31, 37, 36, 34, 31,
150 34, 33, 38, 43, 55, 47, 38, 41, 52, 41, 33, 34, 48, 65, 49, 52,
151 57, 59, 62, 62, 62, 37, 46, 68, 73, 67, 60, 72, 55, 61, 62, 59 },
152 { 10, 11, 11, 14, 13, 14, 28, 16, 16, 28, 59, 40, 34, 40, 59, 59,
153 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
154 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
155 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59 },
156
157 /* index 2, Q80 */
158 { 6, 4, 5, 6, 5, 4, 6, 6, 5, 6, 7, 7, 6, 8, 10, 16,
159 10, 10, 9, 9, 10, 20, 14, 15, 12, 16, 23, 20, 24, 24, 23, 20,
160 22, 22, 26, 29, 37, 31, 26, 27, 35, 28, 22, 22, 32, 44, 32, 35,
161 38, 39, 41, 42, 41, 25, 31, 45, 48, 45, 40, 48, 37, 40, 41, 40 },
162 { 7, 7, 7, 10, 8, 10, 19, 10, 10, 19, 40, 26, 22, 26, 40, 40,
163 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
164 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
165 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40 },
166
167 /* index 3, Q85 */
168 { 5, 3, 4, 4, 4, 3, 5, 4, 4, 4, 5, 5, 5, 6, 7, 12,
169 8, 7, 7, 7, 7, 15, 11, 11, 9, 12, 17, 15, 18, 18, 17, 15,
170 17, 17, 19, 22, 28, 23, 19, 20, 26, 21, 17, 17, 24, 33, 24, 26,
171 29, 29, 31, 31, 31, 19, 23, 34, 36, 34, 30, 36, 28, 30, 31, 30 },
172 { 5, 5, 5, 7, 6, 7, 14, 8, 8, 14, 30, 20, 17, 20, 30, 30,
173 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
174 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
175 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30 },
176
177 /* index 4, Q90 */
178 { 3, 2, 2, 3, 2, 2, 3, 3, 3, 3, 4, 3, 3, 4, 5, 8,
179 5, 5, 4, 4, 5, 10, 7, 7, 6, 8, 12, 10, 12, 12, 11, 10,
180 11, 11, 13, 14, 18, 16, 13, 14, 17, 14, 11, 11, 16, 22, 16, 17,
181 19, 20, 21, 21, 21, 12, 15, 23, 24, 22, 20, 24, 18, 20, 21, 20 },
182 { 3, 4, 4, 5, 4, 5, 9, 5, 5, 9, 20, 13, 11, 13, 20, 20,
183 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
184 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
185 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 },
186
187 /* index 5, Q60 */
188 { 13, 9, 10, 11, 10, 8, 13, 11, 10, 11, 14, 14, 13, 15, 19, 32,
189 21, 19, 18, 18, 19, 39, 28, 30, 23, 32, 46, 41, 49, 48, 46, 41,
190 45, 44, 51, 58, 74, 62, 51, 54, 70, 55, 44, 45, 64, 87, 65, 70,
191 76, 78, 82, 83, 82, 50, 62, 90, 97, 90, 80, 96, 74, 81, 82, 79 },
192 { 14, 14, 14, 19, 17, 19, 38, 21, 21, 38, 79, 53, 45, 53, 79, 79,
193 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
194 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
195 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79 },
196
197 /* index 6, Q25 */
198 { 32, 22, 24, 28, 24, 20, 32, 28, 26, 28, 36, 34, 32, 38, 48, 80,
199 52, 48, 44, 44, 48, 98, 70, 74, 58, 80,116,102,122,120,114,102,
200 112,110,128,144,184,156,128,136,174,138,110,112,160,218,162,174,
201 190,196,206,208,206,124,154,226,242,224,200,240,184,202,206,198 },
202 { 34, 36, 36, 48, 42, 48, 94, 52, 52, 94,198,132,112,132,198,198,
203 198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,
204 198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,
205 198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198 },
206
207 /* index 7, Q95 */
208 { 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 2, 2, 4,
209 3, 2, 2, 2, 2, 5, 4, 4, 3, 4, 6, 5, 6, 6, 6, 5,
210 6, 6, 6, 7, 9, 8, 6, 7, 9, 7, 6, 6, 8, 11, 8, 9,
211 10, 10, 10, 10, 10, 6, 8, 11, 12, 11, 10, 12, 9, 10, 10, 10 },
212 { 2, 2, 2, 2, 2, 2, 5, 3, 3, 5, 10, 7, 6, 7, 10, 10,
213 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
214 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
215 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 },
216
217 /* index 8, Q93 */
218 { 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 3, 2, 2, 3, 3, 6,
219 4, 3, 3, 3, 3, 7, 5, 5, 4, 6, 8, 7, 9, 8, 8, 7,
220 8, 8, 9, 10, 13, 11, 9, 10, 12, 10, 8, 8, 11, 15, 11, 12,
221 13, 14, 14, 15, 14, 9, 11, 16, 17, 16, 14, 17, 13, 14, 14, 14 },
222 { 2, 3, 3, 3, 3, 3, 7, 4, 4, 7, 14, 9, 8, 9, 14, 14,
223 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
224 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
225 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14 },
226
227 /* index 9, Q40 */
228 { 20, 14, 15, 18, 15, 13, 20, 18, 16, 18, 23, 21, 20, 24, 30, 50,
229 33, 30, 28, 28, 30, 61, 44, 46, 36, 50, 73, 64, 76, 75, 71, 64,
230 70, 69, 80, 90,115, 98, 80, 85,109, 86, 69, 70,100,136,101,109,
231 119,123,129,130,129, 78, 96,141,151,140,125,150,115,126,129,124 },
232 { 21, 23, 23, 30, 26, 30, 59, 33, 33, 59,124, 83, 70, 83,124,124,
233 124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,
234 124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,
235 124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124 }
236 };
237
238 #if 0
239 /* 4NF-M, not ZigZag */
240 static const uint8_t sp5x_quant_table_orig[18][64] =
241 {
242 /* index 0, Q50 */
243 { 16, 11, 10, 16, 24, 40, 51, 61, 12, 12, 14, 19, 26, 58, 60, 55,
244 14, 13, 16, 24, 40, 57, 69, 56, 14, 17, 22, 29, 51, 87, 80, 62,
245 18, 22, 37, 56, 68,109,103, 77, 24, 35, 55, 64, 81,104,113, 92,
246 49, 64, 78, 87,103,121,120,101, 72, 92, 95, 98,112,100,103, 99 },
247 { 17, 18, 24, 47, 99, 99, 99, 99, 18, 21, 26, 66, 99, 99, 99, 99,
248 24, 26, 56, 99, 99, 99, 99, 99, 47, 66, 99, 99, 99, 99, 99, 99,
249 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
250 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99 },
251
252 /* index 1, Q70 */
253 { 10, 7, 6, 10, 14, 24, 31, 37, 7, 7, 8, 11, 16, 35, 36, 33,
254 8, 8, 10, 14, 24, 34, 41, 34, 8, 10, 13, 17, 31, 52, 48, 37,
255 11, 13, 22, 34, 41, 65, 62, 46, 14, 21, 33, 38, 49, 62, 68, 55,
256 29, 38, 47, 52, 62, 73, 72, 61, 43, 55, 57, 59, 67, 60, 62, 59 },
257 { 10, 11, 14, 28, 59, 59, 59, 59, 11, 13, 16, 40, 59, 59, 59, 59,
258 14, 16, 34, 59, 59, 59, 59, 59, 28, 40, 59, 59, 59, 59, 59, 59,
259 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
260 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59 },
261
262 /* index 2, Q80 */
263 { 6, 4, 4, 6, 10, 16, 20, 24, 5, 5, 6, 8, 10, 23, 24, 22,
264 6, 5, 6, 10, 16, 23, 28, 22, 6, 7, 9, 12, 20, 35, 32, 25,
265 7, 9, 15, 22, 27, 44, 41, 31, 10, 14, 22, 26, 32, 42, 45, 37,
266 20, 26, 31, 35, 41, 48, 48, 40, 29, 37, 38, 39, 45, 40, 41, 40 },
267 { 7, 7, 10, 19, 40, 40, 40, 40, 7, 8, 10, 26, 40, 40, 40, 40,
268 10, 10, 22, 40, 40, 40, 40, 40, 19, 26, 40, 40, 40, 40, 40, 40,
269 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
270 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40 },
271
272 /* index 3, Q85 */
273 { 5, 3, 3, 5, 7, 12, 15, 18, 4, 4, 4, 6, 8, 17, 18, 17,
274 4, 4, 5, 7, 12, 17, 21, 17, 4, 5, 7, 9, 15, 26, 24, 19,
275 5, 7, 11, 17, 20, 33, 31, 23, 7, 11, 17, 19, 24, 31, 34, 28,
276 15, 19, 23, 26, 31, 36, 36, 30, 22, 28, 29, 29, 34, 30, 31, 30 },
277 { 5, 5, 7, 14, 30, 30, 30, 30, 5, 6, 8, 20, 30, 30, 30, 30,
278 7, 8, 17, 30, 30, 30, 30, 30, 14, 20, 30, 30, 30, 30, 30, 30,
279 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
280 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30 },
281
282 /* index 4, Q90 */
283 { 3, 2, 2, 3, 5, 8, 10, 12, 2, 2, 3, 4, 5, 12, 12, 11,
284 3, 3, 3, 5, 8, 11, 14, 11, 3, 3, 4, 6, 10, 17, 16, 12,
285 4, 4, 7, 11, 14, 22, 21, 15, 5, 7, 11, 13, 16, 21, 23, 18,
286 10, 13, 16, 17, 21, 24, 24, 20, 14, 18, 19, 20, 22, 20, 21, 20 },
287 { 3, 4, 5, 9, 20, 20, 20, 20, 4, 4, 5, 13, 20, 20, 20, 20,
288 5, 5, 11, 20, 20, 20, 20, 20, 9, 13, 20, 20, 20, 20, 20, 20,
289 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
290 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 },
291
292 /* index 5, Q60 */
293 { 13, 9, 8, 13, 19, 32, 41, 49, 10, 10, 11, 15, 21, 46, 48, 44,
294 11, 10, 13, 19, 32, 46, 55, 45, 11, 14, 18, 23, 41, 70, 64, 50,
295 14, 18, 30, 45, 54, 87, 82, 62, 19, 28, 44, 51, 65, 83, 90, 74,
296 39, 51, 62, 70, 82, 97, 96, 81, 58, 74, 76, 78, 90, 80, 82, 79 },
297 { 14, 14, 19, 38, 79, 79, 79, 79, 14, 17, 21, 53, 79, 79, 79, 79,
298 19, 21, 45, 79, 79, 79, 79, 79, 38, 53, 79, 79, 79, 79, 79, 79,
299 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
300 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79 },
301
302 /* index 6, Q25 */
303 { 32, 22, 20, 32, 48, 80,102,122, 24, 24, 28, 38, 52,116,120,110,
304 28, 26, 32, 48, 80,114,138,112, 28, 34, 44, 58,102,174,160,124,
305 36, 44, 74,112,136,218,206,154, 48, 70,110,128,162,208,226,184,
306 98,128,156,174,206,242,240,202,144,184,190,196,224,200,206,198 },
307 { 34, 36, 48, 94,198,198,198,198, 36, 42, 52,132,198,198,198,198,
308 48, 52,112,198,198,198,198,198, 94,132,198,198,198,198,198,198,
309 198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,
310 198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198 },
311
312 /* index 7, Q95 */
313 { 2, 1, 1, 2, 2, 4, 5, 6, 1, 1, 1, 2, 3, 6, 6, 6,
314 1, 1, 2, 2, 4, 6, 7, 6, 1, 2, 2, 3, 5, 9, 8, 6,
315 2, 2, 4, 6, 7, 11, 10, 8, 2, 4, 6, 6, 8, 10, 11, 9,
316 5, 6, 8, 9, 10, 12, 12, 10, 7, 9, 10, 10, 11, 10, 10, 10 },
317 { 2, 2, 2, 5, 10, 10, 10, 10, 2, 2, 3, 7, 10, 10, 10, 10,
318 2, 3, 6, 10, 10, 10, 10, 10, 5, 7, 10, 10, 10, 10, 10, 10,
319 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
320 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 },
321
322 /* index 8, Q93 */
323 { 2, 2, 1, 2, 3, 6, 7, 9, 2, 2, 2, 3, 4, 8, 8, 8,
324 2, 2, 2, 3, 6, 8, 10, 8, 2, 2, 3, 4, 7, 12, 11, 9,
325 3, 3, 5, 8, 10, 15, 14, 11, 3, 5, 8, 9, 11, 15, 16, 13,
326 7, 9, 11, 12, 14, 17, 17, 14, 10, 13, 13, 14, 16, 14, 14, 14 },
327 { 2, 3, 3, 7, 14, 14, 14, 14, 3, 3, 4, 9, 14, 14, 14, 14,
328 3, 4, 8, 14, 14, 14, 14, 14, 7, 9, 14, 14, 14, 14, 14, 14,
329 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
330 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14 }
331 };
332 #endif
333
334 #endif /* SP5X_H */