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 AVCODEC_SP5X_H
23#define AVCODEC_SP5X_H
24
25#include <stdint.h>
26
27static 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
40static 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
53static 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
77static 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
135static 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 */
240static 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 /* AVCODEC_SP5X_H */
335