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