Statistics
| Branch: | Revision:

ffmpeg / libavcodec / dvdata.h @ 7458ccbb

History | View | Annotate | Download (52.8 KB)

1
/*
2
 * Constants for DV codec
3
 * Copyright (c) 2002 Fabrice Bellard.
4
 *
5
 * This library is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU Lesser General Public
7
 * License as published by the Free Software Foundation; either
8
 * version 2 of the License, or (at your option) any later version.
9
 *
10
 * This library is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13
 * Lesser General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU Lesser General Public
16
 * License along with this library; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18
 */
19

    
20
/**
21
 * @file dvdata.h
22
 * Constants for DV codec.
23
 */
24

    
25
/* 
26
 * DVprofile is used to express the differences between various 
27
 * DV flavors. For now it's primarily used for differentiating
28
 * 525/60 and 625/50, but the plans are to use it for various
29
 * DV specs as well (e.g. SMPTE314M vs. IEC 61834).
30
 */
31
typedef struct DVprofile {
32
    int              dsf;                 /* value of the dsf in the DV header */
33
    int              frame_size;          /* total size of one frame in bytes */
34
    int              difseg_size;         /* number of DIF segments */
35
    int              frame_rate;      
36
    int              frame_rate_base;
37
    int              ltc_divisor;         /* FPS from the LTS standpoint */
38
    int              height;              /* picture height in pixels */
39
    int              width;               /* picture width in pixels */
40
    const uint16_t  *video_place;         /* positions of all DV macro blocks */
41
    enum PixelFormat pix_fmt;             /* picture pixel format */
42
    
43
    int              audio_stride;        /* size of audio_shuffle table */
44
    int              audio_min_samples[3];/* min ammount of audio samples */
45
                                          /* for 48Khz, 44.1Khz and 32Khz */
46
    int              audio_samples_dist[5];/* how many samples are supposed to be */
47
                                         /* in each frame in a 5 frames window */
48
    const uint16_t (*audio_shuffle)[9];  /* PCM shuffling table */
49
} DVprofile;
50

    
51
#define NB_DV_VLC 409
52

    
53
static const uint16_t dv_vlc_bits[409] = {
54
 0x0000, 0x0002, 0x0007, 0x0008, 0x0009, 0x0014, 0x0015, 0x0016,
55
 0x0017, 0x0030, 0x0031, 0x0032, 0x0033, 0x0068, 0x0069, 0x006a,
56
 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x00e0, 0x00e1, 0x00e2,
57
 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, 0x00e8, 0x00e9, 0x00ea,
58
 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, 0x01e0, 0x01e1, 0x01e2,
59
 0x01e3, 0x01e4, 0x01e5, 0x01e6, 0x01e7, 0x01e8, 0x01e9, 0x01ea,
60
 0x01eb, 0x01ec, 0x01ed, 0x01ee, 0x01ef, 0x03e0, 0x03e1, 0x03e2,
61
 0x03e3, 0x03e4, 0x03e5, 0x03e6, 0x07ce, 0x07cf, 0x07d0, 0x07d1,
62
 0x07d2, 0x07d3, 0x07d4, 0x07d5, 0x0fac, 0x0fad, 0x0fae, 0x0faf,
63
 0x0fb0, 0x0fb1, 0x0fb2, 0x0fb3, 0x0fb4, 0x0fb5, 0x0fb6, 0x0fb7,
64
 0x0fb8, 0x0fb9, 0x0fba, 0x0fbb, 0x0fbc, 0x0fbd, 0x0fbe, 0x0fbf,
65
 0x1f80, 0x1f81, 0x1f82, 0x1f83, 0x1f84, 0x1f85, 0x1f86, 0x1f87,
66
 0x1f88, 0x1f89, 0x1f8a, 0x1f8b, 0x1f8c, 0x1f8d, 0x1f8e, 0x1f8f,
67
 0x1f90, 0x1f91, 0x1f92, 0x1f93, 0x1f94, 0x1f95, 0x1f96, 0x1f97,
68
 0x1f98, 0x1f99, 0x1f9a, 0x1f9b, 0x1f9c, 0x1f9d, 0x1f9e, 0x1f9f,
69
 0x1fa0, 0x1fa1, 0x1fa2, 0x1fa3, 0x1fa4, 0x1fa5, 0x1fa6, 0x1fa7,
70
 0x1fa8, 0x1fa9, 0x1faa, 0x1fab, 0x1fac, 0x1fad, 0x1fae, 0x1faf,
71
 0x1fb0, 0x1fb1, 0x1fb2, 0x1fb3, 0x1fb4, 0x1fb5, 0x1fb6, 0x1fb7,
72
 0x1fb8, 0x1fb9, 0x1fba, 0x1fbb, 0x1fbc, 0x1fbd, 0x1fbe, 0x1fbf,
73
 0x7f00, 0x7f01, 0x7f02, 0x7f03, 0x7f04, 0x7f05, 0x7f06, 0x7f07,
74
 0x7f08, 0x7f09, 0x7f0a, 0x7f0b, 0x7f0c, 0x7f0d, 0x7f0e, 0x7f0f,
75
 0x7f10, 0x7f11, 0x7f12, 0x7f13, 0x7f14, 0x7f15, 0x7f16, 0x7f17,
76
 0x7f18, 0x7f19, 0x7f1a, 0x7f1b, 0x7f1c, 0x7f1d, 0x7f1e, 0x7f1f,
77
 0x7f20, 0x7f21, 0x7f22, 0x7f23, 0x7f24, 0x7f25, 0x7f26, 0x7f27,
78
 0x7f28, 0x7f29, 0x7f2a, 0x7f2b, 0x7f2c, 0x7f2d, 0x7f2e, 0x7f2f,
79
 0x7f30, 0x7f31, 0x7f32, 0x7f33, 0x7f34, 0x7f35, 0x7f36, 0x7f37,
80
 0x7f38, 0x7f39, 0x7f3a, 0x7f3b, 0x7f3c, 0x7f3d, 0x7f3e, 0x7f3f,
81
 0x7f40, 0x7f41, 0x7f42, 0x7f43, 0x7f44, 0x7f45, 0x7f46, 0x7f47,
82
 0x7f48, 0x7f49, 0x7f4a, 0x7f4b, 0x7f4c, 0x7f4d, 0x7f4e, 0x7f4f,
83
 0x7f50, 0x7f51, 0x7f52, 0x7f53, 0x7f54, 0x7f55, 0x7f56, 0x7f57,
84
 0x7f58, 0x7f59, 0x7f5a, 0x7f5b, 0x7f5c, 0x7f5d, 0x7f5e, 0x7f5f,
85
 0x7f60, 0x7f61, 0x7f62, 0x7f63, 0x7f64, 0x7f65, 0x7f66, 0x7f67,
86
 0x7f68, 0x7f69, 0x7f6a, 0x7f6b, 0x7f6c, 0x7f6d, 0x7f6e, 0x7f6f,
87
 0x7f70, 0x7f71, 0x7f72, 0x7f73, 0x7f74, 0x7f75, 0x7f76, 0x7f77,
88
 0x7f78, 0x7f79, 0x7f7a, 0x7f7b, 0x7f7c, 0x7f7d, 0x7f7e, 0x7f7f,
89
 0x7f80, 0x7f81, 0x7f82, 0x7f83, 0x7f84, 0x7f85, 0x7f86, 0x7f87,
90
 0x7f88, 0x7f89, 0x7f8a, 0x7f8b, 0x7f8c, 0x7f8d, 0x7f8e, 0x7f8f,
91
 0x7f90, 0x7f91, 0x7f92, 0x7f93, 0x7f94, 0x7f95, 0x7f96, 0x7f97,
92
 0x7f98, 0x7f99, 0x7f9a, 0x7f9b, 0x7f9c, 0x7f9d, 0x7f9e, 0x7f9f,
93
 0x7fa0, 0x7fa1, 0x7fa2, 0x7fa3, 0x7fa4, 0x7fa5, 0x7fa6, 0x7fa7,
94
 0x7fa8, 0x7fa9, 0x7faa, 0x7fab, 0x7fac, 0x7fad, 0x7fae, 0x7faf,
95
 0x7fb0, 0x7fb1, 0x7fb2, 0x7fb3, 0x7fb4, 0x7fb5, 0x7fb6, 0x7fb7,
96
 0x7fb8, 0x7fb9, 0x7fba, 0x7fbb, 0x7fbc, 0x7fbd, 0x7fbe, 0x7fbf,
97
 0x7fc0, 0x7fc1, 0x7fc2, 0x7fc3, 0x7fc4, 0x7fc5, 0x7fc6, 0x7fc7,
98
 0x7fc8, 0x7fc9, 0x7fca, 0x7fcb, 0x7fcc, 0x7fcd, 0x7fce, 0x7fcf,
99
 0x7fd0, 0x7fd1, 0x7fd2, 0x7fd3, 0x7fd4, 0x7fd5, 0x7fd6, 0x7fd7,
100
 0x7fd8, 0x7fd9, 0x7fda, 0x7fdb, 0x7fdc, 0x7fdd, 0x7fde, 0x7fdf,
101
 0x7fe0, 0x7fe1, 0x7fe2, 0x7fe3, 0x7fe4, 0x7fe5, 0x7fe6, 0x7fe7,
102
 0x7fe8, 0x7fe9, 0x7fea, 0x7feb, 0x7fec, 0x7fed, 0x7fee, 0x7fef,
103
 0x7ff0, 0x7ff1, 0x7ff2, 0x7ff3, 0x7ff4, 0x7ff5, 0x7ff6, 0x7ff7,
104
 0x7ff8, 0x7ff9, 0x7ffa, 0x7ffb, 0x7ffc, 0x7ffd, 0x7ffe, 0x7fff,
105
 0x0006,
106
};
107

    
108
static const uint8_t dv_vlc_len[409] = {
109
  2,  3,  4,  4,  4,  5,  5,  5,
110
  5,  6,  6,  6,  6,  7,  7,  7,
111
  7,  7,  7,  7,  7,  8,  8,  8,
112
  8,  8,  8,  8,  8,  8,  8,  8,
113
  8,  8,  8,  8,  8,  9,  9,  9,
114
  9,  9,  9,  9,  9,  9,  9,  9,
115
  9,  9,  9,  9,  9, 10, 10, 10,
116
 10, 10, 10, 10, 11, 11, 11, 11,
117
 11, 11, 11, 11, 12, 12, 12, 12,
118
 12, 12, 12, 12, 12, 12, 12, 12,
119
 12, 12, 12, 12, 12, 12, 12, 12,
120
 13, 13, 13, 13, 13, 13, 13, 13,
121
 13, 13, 13, 13, 13, 13, 13, 13,
122
 13, 13, 13, 13, 13, 13, 13, 13,
123
 13, 13, 13, 13, 13, 13, 13, 13,
124
 13, 13, 13, 13, 13, 13, 13, 13,
125
 13, 13, 13, 13, 13, 13, 13, 13,
126
 13, 13, 13, 13, 13, 13, 13, 13,
127
 13, 13, 13, 13, 13, 13, 13, 13,
128
 15, 15, 15, 15, 15, 15, 15, 15,
129
 15, 15, 15, 15, 15, 15, 15, 15,
130
 15, 15, 15, 15, 15, 15, 15, 15,
131
 15, 15, 15, 15, 15, 15, 15, 15,
132
 15, 15, 15, 15, 15, 15, 15, 15,
133
 15, 15, 15, 15, 15, 15, 15, 15,
134
 15, 15, 15, 15, 15, 15, 15, 15,
135
 15, 15, 15, 15, 15, 15, 15, 15,
136
 15, 15, 15, 15, 15, 15, 15, 15,
137
 15, 15, 15, 15, 15, 15, 15, 15,
138
 15, 15, 15, 15, 15, 15, 15, 15,
139
 15, 15, 15, 15, 15, 15, 15, 15,
140
 15, 15, 15, 15, 15, 15, 15, 15,
141
 15, 15, 15, 15, 15, 15, 15, 15,
142
 15, 15, 15, 15, 15, 15, 15, 15,
143
 15, 15, 15, 15, 15, 15, 15, 15,
144
 15, 15, 15, 15, 15, 15, 15, 15,
145
 15, 15, 15, 15, 15, 15, 15, 15,
146
 15, 15, 15, 15, 15, 15, 15, 15,
147
 15, 15, 15, 15, 15, 15, 15, 15,
148
 15, 15, 15, 15, 15, 15, 15, 15,
149
 15, 15, 15, 15, 15, 15, 15, 15,
150
 15, 15, 15, 15, 15, 15, 15, 15,
151
 15, 15, 15, 15, 15, 15, 15, 15,
152
 15, 15, 15, 15, 15, 15, 15, 15,
153
 15, 15, 15, 15, 15, 15, 15, 15,
154
 15, 15, 15, 15, 15, 15, 15, 15,
155
 15, 15, 15, 15, 15, 15, 15, 15,
156
 15, 15, 15, 15, 15, 15, 15, 15,
157
 15, 15, 15, 15, 15, 15, 15, 15,
158
 15, 15, 15, 15, 15, 15, 15, 15,
159
 15, 15, 15, 15, 15, 15, 15, 15,
160
  4,
161
};
162

    
163
static const uint8_t dv_vlc_run[409] = {
164
  0,  0,  1,  0,  0,  2,  1,  0,
165
  0,  3,  4,  0,  0,  5,  6,  2,
166
  1,  1,  0,  0,  0,  7,  8,  9,
167
 10,  3,  4,  2,  1,  1,  1,  0,
168
  0,  0,  0,  0,  0, 11, 12, 13,
169
 14,  5,  6,  3,  4,  2,  2,  1,
170
  0,  0,  0,  0,  0,  5,  3,  3,
171
  2,  1,  1,  1,  0,  1,  6,  4,
172
  3,  1,  1,  1,  2,  3,  4,  5,
173
  7,  8,  9, 10,  7,  8,  4,  3,
174
  2,  2,  2,  2,  2,  1,  1,  1,
175
  0,  1,  2,  3,  4,  5,  6,  7,
176
  8,  9, 10, 11, 12, 13, 14, 15,
177
 16, 17, 18, 19, 20, 21, 22, 23,
178
 24, 25, 26, 27, 28, 29, 30, 31,
179
 32, 33, 34, 35, 36, 37, 38, 39,
180
 40, 41, 42, 43, 44, 45, 46, 47,
181
 48, 49, 50, 51, 52, 53, 54, 55,
182
 56, 57, 58, 59, 60, 61, 62, 63,
183
  0,  0,  0,  0,  0,  0,  0,  0,
184
  0,  0,  0,  0,  0,  0,  0,  0,
185
  0,  0,  0,  0,  0,  0,  0,  0,
186
  0,  0,  0,  0,  0,  0,  0,  0,
187
  0,  0,  0,  0,  0,  0,  0,  0,
188
  0,  0,  0,  0,  0,  0,  0,  0,
189
  0,  0,  0,  0,  0,  0,  0,  0,
190
  0,  0,  0,  0,  0,  0,  0,  0,
191
  0,  0,  0,  0,  0,  0,  0,  0,
192
  0,  0,  0,  0,  0,  0,  0,  0,
193
  0,  0,  0,  0,  0,  0,  0,  0,
194
  0,  0,  0,  0,  0,  0,  0,  0,
195
  0,  0,  0,  0,  0,  0,  0,  0,
196
  0,  0,  0,  0,  0,  0,  0,  0,
197
  0,  0,  0,  0,  0,  0,  0,  0,
198
  0,  0,  0,  0,  0,  0,  0,  0,
199
  0,  0,  0,  0,  0,  0,  0,  0,
200
  0,  0,  0,  0,  0,  0,  0,  0,
201
  0,  0,  0,  0,  0,  0,  0,  0,
202
  0,  0,  0,  0,  0,  0,  0,  0,
203
  0,  0,  0,  0,  0,  0,  0,  0,
204
  0,  0,  0,  0,  0,  0,  0,  0,
205
  0,  0,  0,  0,  0,  0,  0,  0,
206
  0,  0,  0,  0,  0,  0,  0,  0,
207
  0,  0,  0,  0,  0,  0,  0,  0,
208
  0,  0,  0,  0,  0,  0,  0,  0,
209
  0,  0,  0,  0,  0,  0,  0,  0,
210
  0,  0,  0,  0,  0,  0,  0,  0,
211
  0,  0,  0,  0,  0,  0,  0,  0,
212
  0,  0,  0,  0,  0,  0,  0,  0,
213
  0,  0,  0,  0,  0,  0,  0,  0,
214
  0,  0,  0,  0,  0,  0,  0,  0,
215
  0,
216
};
217

    
218
static const uint8_t dv_vlc_level[409] = {
219
  1,  2,  1,  3,  4,  1,  2,  5,
220
  6,  1,  1,  7,  8,  1,  1,  2,
221
  3,  4,  9, 10, 11,  1,  1,  1,
222
  1,  2,  2,  3,  5,  6,  7, 12,
223
 13, 14, 15, 16, 17,  1,  1,  1,
224
  1,  2,  2,  3,  3,  4,  5,  8,
225
 18, 19, 20, 21, 22,  3,  4,  5,
226
  6,  9, 10, 11,  0,  0,  3,  4,
227
  6, 12, 13, 14,  0,  0,  0,  0,
228
  2,  2,  2,  2,  3,  3,  5,  7,
229
  7,  8,  9, 10, 11, 15, 16, 17,
230
  0,  0,  0,  0,  0,  0,  0,  0,
231
  0,  0,  0,  0,  0,  0,  0,  0,
232
  0,  0,  0,  0,  0,  0,  0,  0,
233
  0,  0,  0,  0,  0,  0,  0,  0,
234
  0,  0,  0,  0,  0,  0,  0,  0,
235
  0,  0,  0,  0,  0,  0,  0,  0,
236
  0,  0,  0,  0,  0,  0,  0,  0,
237
  0,  0,  0,  0,  0,  0,  0,  0,
238
  0,  1,  2,  3,  4,  5,  6,  7,
239
  8,  9, 10, 11, 12, 13, 14, 15,
240
 16, 17, 18, 19, 20, 21, 22, 23,
241
 24, 25, 26, 27, 28, 29, 30, 31,
242
 32, 33, 34, 35, 36, 37, 38, 39,
243
 40, 41, 42, 43, 44, 45, 46, 47,
244
 48, 49, 50, 51, 52, 53, 54, 55,
245
 56, 57, 58, 59, 60, 61, 62, 63,
246
 64, 65, 66, 67, 68, 69, 70, 71,
247
 72, 73, 74, 75, 76, 77, 78, 79,
248
 80, 81, 82, 83, 84, 85, 86, 87,
249
 88, 89, 90, 91, 92, 93, 94, 95,
250
 96, 97, 98, 99, 100, 101, 102, 103,
251
 104, 105, 106, 107, 108, 109, 110, 111,
252
 112, 113, 114, 115, 116, 117, 118, 119,
253
 120, 121, 122, 123, 124, 125, 126, 127,
254
 128, 129, 130, 131, 132, 133, 134, 135,
255
 136, 137, 138, 139, 140, 141, 142, 143,
256
 144, 145, 146, 147, 148, 149, 150, 151,
257
 152, 153, 154, 155, 156, 157, 158, 159,
258
 160, 161, 162, 163, 164, 165, 166, 167,
259
 168, 169, 170, 171, 172, 173, 174, 175,
260
 176, 177, 178, 179, 180, 181, 182, 183,
261
 184, 185, 186, 187, 188, 189, 190, 191,
262
 192, 193, 194, 195, 196, 197, 198, 199,
263
 200, 201, 202, 203, 204, 205, 206, 207,
264
 208, 209, 210, 211, 212, 213, 214, 215,
265
 216, 217, 218, 219, 220, 221, 222, 223,
266
 224, 225, 226, 227, 228, 229, 230, 231,
267
 232, 233, 234, 235, 236, 237, 238, 239,
268
 240, 241, 242, 243, 244, 245, 246, 247,
269
 248, 249, 250, 251, 252, 253, 254, 255,
270
  0,
271
};
272

    
273
/* Specific zigzag scan for 248 idct. NOTE that unlike the
274
   specification, we interleave the fields */
275
static const uint8_t dv_248_zigzag[64] = {
276
  0,  8,  1,  9, 16, 24,  2, 10,
277
 17, 25, 32, 40, 48, 56, 33, 41,
278
 18, 26,  3, 11,  4, 12, 19, 27,
279
 34, 42, 49, 57, 50, 58, 35, 43,
280
 20, 28,  5, 13,  6, 14, 21, 29,
281
 36, 44, 51, 59, 52, 60, 37, 45,
282
 22, 30,  7, 15, 23, 31, 38, 46,
283
 53, 61, 54, 62, 39, 47, 55, 63,
284
};
285

    
286
/* unquant tables (not used directly) */
287
static const uint8_t dv_88_areas[64] = {
288
    0,0,0,1,1,1,2,2,
289
    0,0,1,1,1,2,2,2,
290
    0,1,1,1,2,2,2,3,
291
    1,1,1,2,2,2,3,3,
292
    1,1,2,2,2,3,3,3,
293
    1,2,2,2,3,3,3,3,
294
    2,2,2,3,3,3,3,3,
295
    2,2,3,3,3,3,3,3,
296
};
297

    
298
static const uint8_t dv_248_areas[64] = {
299
    0,0,1,1,1,2,2,3,
300
    0,0,1,1,2,2,2,3,
301
    0,1,1,2,2,2,3,3,
302
    0,1,1,2,2,2,3,3,
303
    1,1,2,2,2,3,3,3,
304
    1,1,2,2,2,3,3,3,
305
    1,2,2,2,3,3,3,3,
306
    1,2,2,3,3,3,3,3,
307
};
308

    
309
static const uint8_t dv_quant_shifts[22][4] = {
310
  { 3,3,4,4 }, 
311
  { 3,3,4,4 }, 
312
  { 2,3,3,4 }, 
313
  { 2,3,3,4 },
314
  { 2,2,3,3 }, 
315
  { 2,2,3,3 }, 
316
  { 1,2,2,3 }, 
317
  { 1,2,2,3 }, 
318
  { 1,1,2,2 }, 
319
  { 1,1,2,2 }, 
320
  { 0,1,1,2 }, 
321
  { 0,1,1,2 }, 
322
  { 0,0,1,1 }, 
323
  { 0,0,1,1 },
324
  { 0,0,0,1 }, 
325
  { 0,0,0,0 }, 
326
  { 0,0,0,0 }, 
327
  { 0,0,0,0 }, 
328
  { 0,0,0,0 }, 
329
  { 0,0,0,0 }, 
330
  { 0,0,0,0 }, 
331
  { 0,0,0,0 },
332
};
333

    
334
static const uint8_t dv_quant_offset[4] = { 6, 3, 0, 1 };
335

    
336
/* NOTE: I prefer hardcoding the positionning of dv blocks, it is
337
   simpler :-) */
338

    
339
static const uint16_t dv_place_420[1620] = {
340
 0x0c24, 0x2412, 0x3036, 0x0000, 0x1848,
341
 0x0e24, 0x2612, 0x3236, 0x0200, 0x1a48,
342
 0x1024, 0x2812, 0x3436, 0x0400, 0x1c48,
343
 0x1026, 0x2814, 0x3438, 0x0402, 0x1c4a,
344
 0x0e26, 0x2614, 0x3238, 0x0202, 0x1a4a,
345
 0x0c26, 0x2414, 0x3038, 0x0002, 0x184a,
346
 0x0c28, 0x2416, 0x303a, 0x0004, 0x184c,
347
 0x0e28, 0x2616, 0x323a, 0x0204, 0x1a4c,
348
 0x1028, 0x2816, 0x343a, 0x0404, 0x1c4c,
349
 0x102a, 0x2818, 0x343c, 0x0406, 0x1c4e,
350
 0x0e2a, 0x2618, 0x323c, 0x0206, 0x1a4e,
351
 0x0c2a, 0x2418, 0x303c, 0x0006, 0x184e,
352
 0x0c2c, 0x241a, 0x303e, 0x0008, 0x1850,
353
 0x0e2c, 0x261a, 0x323e, 0x0208, 0x1a50,
354
 0x102c, 0x281a, 0x343e, 0x0408, 0x1c50,
355
 0x102e, 0x281c, 0x3440, 0x040a, 0x1c52,
356
 0x0e2e, 0x261c, 0x3240, 0x020a, 0x1a52,
357
 0x0c2e, 0x241c, 0x3040, 0x000a, 0x1852,
358
 0x0c30, 0x241e, 0x3042, 0x000c, 0x1854,
359
 0x0e30, 0x261e, 0x3242, 0x020c, 0x1a54,
360
 0x1030, 0x281e, 0x3442, 0x040c, 0x1c54,
361
 0x1032, 0x2820, 0x3444, 0x040e, 0x1c56,
362
 0x0e32, 0x2620, 0x3244, 0x020e, 0x1a56,
363
 0x0c32, 0x2420, 0x3044, 0x000e, 0x1856,
364
 0x0c34, 0x2422, 0x3046, 0x0010, 0x1858,
365
 0x0e34, 0x2622, 0x3246, 0x0210, 0x1a58,
366
 0x1034, 0x2822, 0x3446, 0x0410, 0x1c58,
367
 0x1224, 0x2a12, 0x3636, 0x0600, 0x1e48,
368
 0x1424, 0x2c12, 0x3836, 0x0800, 0x2048,
369
 0x1624, 0x2e12, 0x3a36, 0x0a00, 0x2248,
370
 0x1626, 0x2e14, 0x3a38, 0x0a02, 0x224a,
371
 0x1426, 0x2c14, 0x3838, 0x0802, 0x204a,
372
 0x1226, 0x2a14, 0x3638, 0x0602, 0x1e4a,
373
 0x1228, 0x2a16, 0x363a, 0x0604, 0x1e4c,
374
 0x1428, 0x2c16, 0x383a, 0x0804, 0x204c,
375
 0x1628, 0x2e16, 0x3a3a, 0x0a04, 0x224c,
376
 0x162a, 0x2e18, 0x3a3c, 0x0a06, 0x224e,
377
 0x142a, 0x2c18, 0x383c, 0x0806, 0x204e,
378
 0x122a, 0x2a18, 0x363c, 0x0606, 0x1e4e,
379
 0x122c, 0x2a1a, 0x363e, 0x0608, 0x1e50,
380
 0x142c, 0x2c1a, 0x383e, 0x0808, 0x2050,
381
 0x162c, 0x2e1a, 0x3a3e, 0x0a08, 0x2250,
382
 0x162e, 0x2e1c, 0x3a40, 0x0a0a, 0x2252,
383
 0x142e, 0x2c1c, 0x3840, 0x080a, 0x2052,
384
 0x122e, 0x2a1c, 0x3640, 0x060a, 0x1e52,
385
 0x1230, 0x2a1e, 0x3642, 0x060c, 0x1e54,
386
 0x1430, 0x2c1e, 0x3842, 0x080c, 0x2054,
387
 0x1630, 0x2e1e, 0x3a42, 0x0a0c, 0x2254,
388
 0x1632, 0x2e20, 0x3a44, 0x0a0e, 0x2256,
389
 0x1432, 0x2c20, 0x3844, 0x080e, 0x2056,
390
 0x1232, 0x2a20, 0x3644, 0x060e, 0x1e56,
391
 0x1234, 0x2a22, 0x3646, 0x0610, 0x1e58,
392
 0x1434, 0x2c22, 0x3846, 0x0810, 0x2058,
393
 0x1634, 0x2e22, 0x3a46, 0x0a10, 0x2258,
394
 0x1824, 0x3012, 0x3c36, 0x0c00, 0x2448,
395
 0x1a24, 0x3212, 0x3e36, 0x0e00, 0x2648,
396
 0x1c24, 0x3412, 0x4036, 0x1000, 0x2848,
397
 0x1c26, 0x3414, 0x4038, 0x1002, 0x284a,
398
 0x1a26, 0x3214, 0x3e38, 0x0e02, 0x264a,
399
 0x1826, 0x3014, 0x3c38, 0x0c02, 0x244a,
400
 0x1828, 0x3016, 0x3c3a, 0x0c04, 0x244c,
401
 0x1a28, 0x3216, 0x3e3a, 0x0e04, 0x264c,
402
 0x1c28, 0x3416, 0x403a, 0x1004, 0x284c,
403
 0x1c2a, 0x3418, 0x403c, 0x1006, 0x284e,
404
 0x1a2a, 0x3218, 0x3e3c, 0x0e06, 0x264e,
405
 0x182a, 0x3018, 0x3c3c, 0x0c06, 0x244e,
406
 0x182c, 0x301a, 0x3c3e, 0x0c08, 0x2450,
407
 0x1a2c, 0x321a, 0x3e3e, 0x0e08, 0x2650,
408
 0x1c2c, 0x341a, 0x403e, 0x1008, 0x2850,
409
 0x1c2e, 0x341c, 0x4040, 0x100a, 0x2852,
410
 0x1a2e, 0x321c, 0x3e40, 0x0e0a, 0x2652,
411
 0x182e, 0x301c, 0x3c40, 0x0c0a, 0x2452,
412
 0x1830, 0x301e, 0x3c42, 0x0c0c, 0x2454,
413
 0x1a30, 0x321e, 0x3e42, 0x0e0c, 0x2654,
414
 0x1c30, 0x341e, 0x4042, 0x100c, 0x2854,
415
 0x1c32, 0x3420, 0x4044, 0x100e, 0x2856,
416
 0x1a32, 0x3220, 0x3e44, 0x0e0e, 0x2656,
417
 0x1832, 0x3020, 0x3c44, 0x0c0e, 0x2456,
418
 0x1834, 0x3022, 0x3c46, 0x0c10, 0x2458,
419
 0x1a34, 0x3222, 0x3e46, 0x0e10, 0x2658,
420
 0x1c34, 0x3422, 0x4046, 0x1010, 0x2858,
421
 0x1e24, 0x3612, 0x4236, 0x1200, 0x2a48,
422
 0x2024, 0x3812, 0x4436, 0x1400, 0x2c48,
423
 0x2224, 0x3a12, 0x4636, 0x1600, 0x2e48,
424
 0x2226, 0x3a14, 0x4638, 0x1602, 0x2e4a,
425
 0x2026, 0x3814, 0x4438, 0x1402, 0x2c4a,
426
 0x1e26, 0x3614, 0x4238, 0x1202, 0x2a4a,
427
 0x1e28, 0x3616, 0x423a, 0x1204, 0x2a4c,
428
 0x2028, 0x3816, 0x443a, 0x1404, 0x2c4c,
429
 0x2228, 0x3a16, 0x463a, 0x1604, 0x2e4c,
430
 0x222a, 0x3a18, 0x463c, 0x1606, 0x2e4e,
431
 0x202a, 0x3818, 0x443c, 0x1406, 0x2c4e,
432
 0x1e2a, 0x3618, 0x423c, 0x1206, 0x2a4e,
433
 0x1e2c, 0x361a, 0x423e, 0x1208, 0x2a50,
434
 0x202c, 0x381a, 0x443e, 0x1408, 0x2c50,
435
 0x222c, 0x3a1a, 0x463e, 0x1608, 0x2e50,
436
 0x222e, 0x3a1c, 0x4640, 0x160a, 0x2e52,
437
 0x202e, 0x381c, 0x4440, 0x140a, 0x2c52,
438
 0x1e2e, 0x361c, 0x4240, 0x120a, 0x2a52,
439
 0x1e30, 0x361e, 0x4242, 0x120c, 0x2a54,
440
 0x2030, 0x381e, 0x4442, 0x140c, 0x2c54,
441
 0x2230, 0x3a1e, 0x4642, 0x160c, 0x2e54,
442
 0x2232, 0x3a20, 0x4644, 0x160e, 0x2e56,
443
 0x2032, 0x3820, 0x4444, 0x140e, 0x2c56,
444
 0x1e32, 0x3620, 0x4244, 0x120e, 0x2a56,
445
 0x1e34, 0x3622, 0x4246, 0x1210, 0x2a58,
446
 0x2034, 0x3822, 0x4446, 0x1410, 0x2c58,
447
 0x2234, 0x3a22, 0x4646, 0x1610, 0x2e58,
448
 0x2424, 0x3c12, 0x0036, 0x1800, 0x3048,
449
 0x2624, 0x3e12, 0x0236, 0x1a00, 0x3248,
450
 0x2824, 0x4012, 0x0436, 0x1c00, 0x3448,
451
 0x2826, 0x4014, 0x0438, 0x1c02, 0x344a,
452
 0x2626, 0x3e14, 0x0238, 0x1a02, 0x324a,
453
 0x2426, 0x3c14, 0x0038, 0x1802, 0x304a,
454
 0x2428, 0x3c16, 0x003a, 0x1804, 0x304c,
455
 0x2628, 0x3e16, 0x023a, 0x1a04, 0x324c,
456
 0x2828, 0x4016, 0x043a, 0x1c04, 0x344c,
457
 0x282a, 0x4018, 0x043c, 0x1c06, 0x344e,
458
 0x262a, 0x3e18, 0x023c, 0x1a06, 0x324e,
459
 0x242a, 0x3c18, 0x003c, 0x1806, 0x304e,
460
 0x242c, 0x3c1a, 0x003e, 0x1808, 0x3050,
461
 0x262c, 0x3e1a, 0x023e, 0x1a08, 0x3250,
462
 0x282c, 0x401a, 0x043e, 0x1c08, 0x3450,
463
 0x282e, 0x401c, 0x0440, 0x1c0a, 0x3452,
464
 0x262e, 0x3e1c, 0x0240, 0x1a0a, 0x3252,
465
 0x242e, 0x3c1c, 0x0040, 0x180a, 0x3052,
466
 0x2430, 0x3c1e, 0x0042, 0x180c, 0x3054,
467
 0x2630, 0x3e1e, 0x0242, 0x1a0c, 0x3254,
468
 0x2830, 0x401e, 0x0442, 0x1c0c, 0x3454,
469
 0x2832, 0x4020, 0x0444, 0x1c0e, 0x3456,
470
 0x2632, 0x3e20, 0x0244, 0x1a0e, 0x3256,
471
 0x2432, 0x3c20, 0x0044, 0x180e, 0x3056,
472
 0x2434, 0x3c22, 0x0046, 0x1810, 0x3058,
473
 0x2634, 0x3e22, 0x0246, 0x1a10, 0x3258,
474
 0x2834, 0x4022, 0x0446, 0x1c10, 0x3458,
475
 0x2a24, 0x4212, 0x0636, 0x1e00, 0x3648,
476
 0x2c24, 0x4412, 0x0836, 0x2000, 0x3848,
477
 0x2e24, 0x4612, 0x0a36, 0x2200, 0x3a48,
478
 0x2e26, 0x4614, 0x0a38, 0x2202, 0x3a4a,
479
 0x2c26, 0x4414, 0x0838, 0x2002, 0x384a,
480
 0x2a26, 0x4214, 0x0638, 0x1e02, 0x364a,
481
 0x2a28, 0x4216, 0x063a, 0x1e04, 0x364c,
482
 0x2c28, 0x4416, 0x083a, 0x2004, 0x384c,
483
 0x2e28, 0x4616, 0x0a3a, 0x2204, 0x3a4c,
484
 0x2e2a, 0x4618, 0x0a3c, 0x2206, 0x3a4e,
485
 0x2c2a, 0x4418, 0x083c, 0x2006, 0x384e,
486
 0x2a2a, 0x4218, 0x063c, 0x1e06, 0x364e,
487
 0x2a2c, 0x421a, 0x063e, 0x1e08, 0x3650,
488
 0x2c2c, 0x441a, 0x083e, 0x2008, 0x3850,
489
 0x2e2c, 0x461a, 0x0a3e, 0x2208, 0x3a50,
490
 0x2e2e, 0x461c, 0x0a40, 0x220a, 0x3a52,
491
 0x2c2e, 0x441c, 0x0840, 0x200a, 0x3852,
492
 0x2a2e, 0x421c, 0x0640, 0x1e0a, 0x3652,
493
 0x2a30, 0x421e, 0x0642, 0x1e0c, 0x3654,
494
 0x2c30, 0x441e, 0x0842, 0x200c, 0x3854,
495
 0x2e30, 0x461e, 0x0a42, 0x220c, 0x3a54,
496
 0x2e32, 0x4620, 0x0a44, 0x220e, 0x3a56,
497
 0x2c32, 0x4420, 0x0844, 0x200e, 0x3856,
498
 0x2a32, 0x4220, 0x0644, 0x1e0e, 0x3656,
499
 0x2a34, 0x4222, 0x0646, 0x1e10, 0x3658,
500
 0x2c34, 0x4422, 0x0846, 0x2010, 0x3858,
501
 0x2e34, 0x4622, 0x0a46, 0x2210, 0x3a58,
502
 0x3024, 0x0012, 0x0c36, 0x2400, 0x3c48,
503
 0x3224, 0x0212, 0x0e36, 0x2600, 0x3e48,
504
 0x3424, 0x0412, 0x1036, 0x2800, 0x4048,
505
 0x3426, 0x0414, 0x1038, 0x2802, 0x404a,
506
 0x3226, 0x0214, 0x0e38, 0x2602, 0x3e4a,
507
 0x3026, 0x0014, 0x0c38, 0x2402, 0x3c4a,
508
 0x3028, 0x0016, 0x0c3a, 0x2404, 0x3c4c,
509
 0x3228, 0x0216, 0x0e3a, 0x2604, 0x3e4c,
510
 0x3428, 0x0416, 0x103a, 0x2804, 0x404c,
511
 0x342a, 0x0418, 0x103c, 0x2806, 0x404e,
512
 0x322a, 0x0218, 0x0e3c, 0x2606, 0x3e4e,
513
 0x302a, 0x0018, 0x0c3c, 0x2406, 0x3c4e,
514
 0x302c, 0x001a, 0x0c3e, 0x2408, 0x3c50,
515
 0x322c, 0x021a, 0x0e3e, 0x2608, 0x3e50,
516
 0x342c, 0x041a, 0x103e, 0x2808, 0x4050,
517
 0x342e, 0x041c, 0x1040, 0x280a, 0x4052,
518
 0x322e, 0x021c, 0x0e40, 0x260a, 0x3e52,
519
 0x302e, 0x001c, 0x0c40, 0x240a, 0x3c52,
520
 0x3030, 0x001e, 0x0c42, 0x240c, 0x3c54,
521
 0x3230, 0x021e, 0x0e42, 0x260c, 0x3e54,
522
 0x3430, 0x041e, 0x1042, 0x280c, 0x4054,
523
 0x3432, 0x0420, 0x1044, 0x280e, 0x4056,
524
 0x3232, 0x0220, 0x0e44, 0x260e, 0x3e56,
525
 0x3032, 0x0020, 0x0c44, 0x240e, 0x3c56,
526
 0x3034, 0x0022, 0x0c46, 0x2410, 0x3c58,
527
 0x3234, 0x0222, 0x0e46, 0x2610, 0x3e58,
528
 0x3434, 0x0422, 0x1046, 0x2810, 0x4058,
529
 0x3624, 0x0612, 0x1236, 0x2a00, 0x4248,
530
 0x3824, 0x0812, 0x1436, 0x2c00, 0x4448,
531
 0x3a24, 0x0a12, 0x1636, 0x2e00, 0x4648,
532
 0x3a26, 0x0a14, 0x1638, 0x2e02, 0x464a,
533
 0x3826, 0x0814, 0x1438, 0x2c02, 0x444a,
534
 0x3626, 0x0614, 0x1238, 0x2a02, 0x424a,
535
 0x3628, 0x0616, 0x123a, 0x2a04, 0x424c,
536
 0x3828, 0x0816, 0x143a, 0x2c04, 0x444c,
537
 0x3a28, 0x0a16, 0x163a, 0x2e04, 0x464c,
538
 0x3a2a, 0x0a18, 0x163c, 0x2e06, 0x464e,
539
 0x382a, 0x0818, 0x143c, 0x2c06, 0x444e,
540
 0x362a, 0x0618, 0x123c, 0x2a06, 0x424e,
541
 0x362c, 0x061a, 0x123e, 0x2a08, 0x4250,
542
 0x382c, 0x081a, 0x143e, 0x2c08, 0x4450,
543
 0x3a2c, 0x0a1a, 0x163e, 0x2e08, 0x4650,
544
 0x3a2e, 0x0a1c, 0x1640, 0x2e0a, 0x4652,
545
 0x382e, 0x081c, 0x1440, 0x2c0a, 0x4452,
546
 0x362e, 0x061c, 0x1240, 0x2a0a, 0x4252,
547
 0x3630, 0x061e, 0x1242, 0x2a0c, 0x4254,
548
 0x3830, 0x081e, 0x1442, 0x2c0c, 0x4454,
549
 0x3a30, 0x0a1e, 0x1642, 0x2e0c, 0x4654,
550
 0x3a32, 0x0a20, 0x1644, 0x2e0e, 0x4656,
551
 0x3832, 0x0820, 0x1444, 0x2c0e, 0x4456,
552
 0x3632, 0x0620, 0x1244, 0x2a0e, 0x4256,
553
 0x3634, 0x0622, 0x1246, 0x2a10, 0x4258,
554
 0x3834, 0x0822, 0x1446, 0x2c10, 0x4458,
555
 0x3a34, 0x0a22, 0x1646, 0x2e10, 0x4658,
556
 0x3c24, 0x0c12, 0x1836, 0x3000, 0x0048,
557
 0x3e24, 0x0e12, 0x1a36, 0x3200, 0x0248,
558
 0x4024, 0x1012, 0x1c36, 0x3400, 0x0448,
559
 0x4026, 0x1014, 0x1c38, 0x3402, 0x044a,
560
 0x3e26, 0x0e14, 0x1a38, 0x3202, 0x024a,
561
 0x3c26, 0x0c14, 0x1838, 0x3002, 0x004a,
562
 0x3c28, 0x0c16, 0x183a, 0x3004, 0x004c,
563
 0x3e28, 0x0e16, 0x1a3a, 0x3204, 0x024c,
564
 0x4028, 0x1016, 0x1c3a, 0x3404, 0x044c,
565
 0x402a, 0x1018, 0x1c3c, 0x3406, 0x044e,
566
 0x3e2a, 0x0e18, 0x1a3c, 0x3206, 0x024e,
567
 0x3c2a, 0x0c18, 0x183c, 0x3006, 0x004e,
568
 0x3c2c, 0x0c1a, 0x183e, 0x3008, 0x0050,
569
 0x3e2c, 0x0e1a, 0x1a3e, 0x3208, 0x0250,
570
 0x402c, 0x101a, 0x1c3e, 0x3408, 0x0450,
571
 0x402e, 0x101c, 0x1c40, 0x340a, 0x0452,
572
 0x3e2e, 0x0e1c, 0x1a40, 0x320a, 0x0252,
573
 0x3c2e, 0x0c1c, 0x1840, 0x300a, 0x0052,
574
 0x3c30, 0x0c1e, 0x1842, 0x300c, 0x0054,
575
 0x3e30, 0x0e1e, 0x1a42, 0x320c, 0x0254,
576
 0x4030, 0x101e, 0x1c42, 0x340c, 0x0454,
577
 0x4032, 0x1020, 0x1c44, 0x340e, 0x0456,
578
 0x3e32, 0x0e20, 0x1a44, 0x320e, 0x0256,
579
 0x3c32, 0x0c20, 0x1844, 0x300e, 0x0056,
580
 0x3c34, 0x0c22, 0x1846, 0x3010, 0x0058,
581
 0x3e34, 0x0e22, 0x1a46, 0x3210, 0x0258,
582
 0x4034, 0x1022, 0x1c46, 0x3410, 0x0458,
583
 0x4224, 0x1212, 0x1e36, 0x3600, 0x0648,
584
 0x4424, 0x1412, 0x2036, 0x3800, 0x0848,
585
 0x4624, 0x1612, 0x2236, 0x3a00, 0x0a48,
586
 0x4626, 0x1614, 0x2238, 0x3a02, 0x0a4a,
587
 0x4426, 0x1414, 0x2038, 0x3802, 0x084a,
588
 0x4226, 0x1214, 0x1e38, 0x3602, 0x064a,
589
 0x4228, 0x1216, 0x1e3a, 0x3604, 0x064c,
590
 0x4428, 0x1416, 0x203a, 0x3804, 0x084c,
591
 0x4628, 0x1616, 0x223a, 0x3a04, 0x0a4c,
592
 0x462a, 0x1618, 0x223c, 0x3a06, 0x0a4e,
593
 0x442a, 0x1418, 0x203c, 0x3806, 0x084e,
594
 0x422a, 0x1218, 0x1e3c, 0x3606, 0x064e,
595
 0x422c, 0x121a, 0x1e3e, 0x3608, 0x0650,
596
 0x442c, 0x141a, 0x203e, 0x3808, 0x0850,
597
 0x462c, 0x161a, 0x223e, 0x3a08, 0x0a50,
598
 0x462e, 0x161c, 0x2240, 0x3a0a, 0x0a52,
599
 0x442e, 0x141c, 0x2040, 0x380a, 0x0852,
600
 0x422e, 0x121c, 0x1e40, 0x360a, 0x0652,
601
 0x4230, 0x121e, 0x1e42, 0x360c, 0x0654,
602
 0x4430, 0x141e, 0x2042, 0x380c, 0x0854,
603
 0x4630, 0x161e, 0x2242, 0x3a0c, 0x0a54,
604
 0x4632, 0x1620, 0x2244, 0x3a0e, 0x0a56,
605
 0x4432, 0x1420, 0x2044, 0x380e, 0x0856,
606
 0x4232, 0x1220, 0x1e44, 0x360e, 0x0656,
607
 0x4234, 0x1222, 0x1e46, 0x3610, 0x0658,
608
 0x4434, 0x1422, 0x2046, 0x3810, 0x0858,
609
 0x4634, 0x1622, 0x2246, 0x3a10, 0x0a58,
610
 0x0024, 0x1812, 0x2436, 0x3c00, 0x0c48,
611
 0x0224, 0x1a12, 0x2636, 0x3e00, 0x0e48,
612
 0x0424, 0x1c12, 0x2836, 0x4000, 0x1048,
613
 0x0426, 0x1c14, 0x2838, 0x4002, 0x104a,
614
 0x0226, 0x1a14, 0x2638, 0x3e02, 0x0e4a,
615
 0x0026, 0x1814, 0x2438, 0x3c02, 0x0c4a,
616
 0x0028, 0x1816, 0x243a, 0x3c04, 0x0c4c,
617
 0x0228, 0x1a16, 0x263a, 0x3e04, 0x0e4c,
618
 0x0428, 0x1c16, 0x283a, 0x4004, 0x104c,
619
 0x042a, 0x1c18, 0x283c, 0x4006, 0x104e,
620
 0x022a, 0x1a18, 0x263c, 0x3e06, 0x0e4e,
621
 0x002a, 0x1818, 0x243c, 0x3c06, 0x0c4e,
622
 0x002c, 0x181a, 0x243e, 0x3c08, 0x0c50,
623
 0x022c, 0x1a1a, 0x263e, 0x3e08, 0x0e50,
624
 0x042c, 0x1c1a, 0x283e, 0x4008, 0x1050,
625
 0x042e, 0x1c1c, 0x2840, 0x400a, 0x1052,
626
 0x022e, 0x1a1c, 0x2640, 0x3e0a, 0x0e52,
627
 0x002e, 0x181c, 0x2440, 0x3c0a, 0x0c52,
628
 0x0030, 0x181e, 0x2442, 0x3c0c, 0x0c54,
629
 0x0230, 0x1a1e, 0x2642, 0x3e0c, 0x0e54,
630
 0x0430, 0x1c1e, 0x2842, 0x400c, 0x1054,
631
 0x0432, 0x1c20, 0x2844, 0x400e, 0x1056,
632
 0x0232, 0x1a20, 0x2644, 0x3e0e, 0x0e56,
633
 0x0032, 0x1820, 0x2444, 0x3c0e, 0x0c56,
634
 0x0034, 0x1822, 0x2446, 0x3c10, 0x0c58,
635
 0x0234, 0x1a22, 0x2646, 0x3e10, 0x0e58,
636
 0x0434, 0x1c22, 0x2846, 0x4010, 0x1058,
637
 0x0624, 0x1e12, 0x2a36, 0x4200, 0x1248,
638
 0x0824, 0x2012, 0x2c36, 0x4400, 0x1448,
639
 0x0a24, 0x2212, 0x2e36, 0x4600, 0x1648,
640
 0x0a26, 0x2214, 0x2e38, 0x4602, 0x164a,
641
 0x0826, 0x2014, 0x2c38, 0x4402, 0x144a,
642
 0x0626, 0x1e14, 0x2a38, 0x4202, 0x124a,
643
 0x0628, 0x1e16, 0x2a3a, 0x4204, 0x124c,
644
 0x0828, 0x2016, 0x2c3a, 0x4404, 0x144c,
645
 0x0a28, 0x2216, 0x2e3a, 0x4604, 0x164c,
646
 0x0a2a, 0x2218, 0x2e3c, 0x4606, 0x164e,
647
 0x082a, 0x2018, 0x2c3c, 0x4406, 0x144e,
648
 0x062a, 0x1e18, 0x2a3c, 0x4206, 0x124e,
649
 0x062c, 0x1e1a, 0x2a3e, 0x4208, 0x1250,
650
 0x082c, 0x201a, 0x2c3e, 0x4408, 0x1450,
651
 0x0a2c, 0x221a, 0x2e3e, 0x4608, 0x1650,
652
 0x0a2e, 0x221c, 0x2e40, 0x460a, 0x1652,
653
 0x082e, 0x201c, 0x2c40, 0x440a, 0x1452,
654
 0x062e, 0x1e1c, 0x2a40, 0x420a, 0x1252,
655
 0x0630, 0x1e1e, 0x2a42, 0x420c, 0x1254,
656
 0x0830, 0x201e, 0x2c42, 0x440c, 0x1454,
657
 0x0a30, 0x221e, 0x2e42, 0x460c, 0x1654,
658
 0x0a32, 0x2220, 0x2e44, 0x460e, 0x1656,
659
 0x0832, 0x2020, 0x2c44, 0x440e, 0x1456,
660
 0x0632, 0x1e20, 0x2a44, 0x420e, 0x1256,
661
 0x0634, 0x1e22, 0x2a46, 0x4210, 0x1258,
662
 0x0834, 0x2022, 0x2c46, 0x4410, 0x1458,
663
 0x0a34, 0x2222, 0x2e46, 0x4610, 0x1658,
664
};
665

    
666
static const uint16_t dv_place_411P[1620] = {
667
 0x0c24, 0x2710, 0x3334, 0x0000, 0x1848, 
668
 0x0d24, 0x2810, 0x3434, 0x0100, 0x1948, 
669
 0x0e24, 0x2910, 0x3534, 0x0200, 0x1a48, 
670
 0x0f24, 0x2914, 0x3538, 0x0300, 0x1b48, 
671
 0x1024, 0x2814, 0x3438, 0x0400, 0x1c48, 
672
 0x1124, 0x2714, 0x3338, 0x0500, 0x1d48, 
673
 0x1128, 0x2614, 0x3238, 0x0504, 0x1d4c, 
674
 0x1028, 0x2514, 0x3138, 0x0404, 0x1c4c, 
675
 0x0f28, 0x2414, 0x3038, 0x0304, 0x1b4c, 
676
 0x0e28, 0x2418, 0x303c, 0x0204, 0x1a4c, 
677
 0x0d28, 0x2518, 0x313c, 0x0104, 0x194c, 
678
 0x0c28, 0x2618, 0x323c, 0x0004, 0x184c, 
679
 0x0c2c, 0x2718, 0x333c, 0x0008, 0x1850, 
680
 0x0d2c, 0x2818, 0x343c, 0x0108, 0x1950, 
681
 0x0e2c, 0x2918, 0x353c, 0x0208, 0x1a50, 
682
 0x0f2c, 0x291c, 0x3540, 0x0308, 0x1b50, 
683
 0x102c, 0x281c, 0x3440, 0x0408, 0x1c50, 
684
 0x112c, 0x271c, 0x3340, 0x0508, 0x1d50, 
685
 0x1130, 0x261c, 0x3240, 0x050c, 0x1d54, 
686
 0x1030, 0x251c, 0x3140, 0x040c, 0x1c54, 
687
 0x0f30, 0x241c, 0x3040, 0x030c, 0x1b54, 
688
 0x0e30, 0x2420, 0x3044, 0x020c, 0x1a54, 
689
 0x0d30, 0x2520, 0x3144, 0x010c, 0x1954, 
690
 0x0c30, 0x2620, 0x3244, 0x000c, 0x1854, 
691
 0x0c34, 0x2720, 0x3344, 0x0010, 0x1858, 
692
 0x0d34, 0x2820, 0x3444, 0x0110, 0x1a58, 
693
 0x0e34, 0x2920, 0x3544, 0x0210, 0x1c58, 
694
 0x1224, 0x2d10, 0x3934, 0x0600, 0x1e48, 
695
 0x1324, 0x2e10, 0x3a34, 0x0700, 0x1f48, 
696
 0x1424, 0x2f10, 0x3b34, 0x0800, 0x2048, 
697
 0x1524, 0x2f14, 0x3b38, 0x0900, 0x2148, 
698
 0x1624, 0x2e14, 0x3a38, 0x0a00, 0x2248, 
699
 0x1724, 0x2d14, 0x3938, 0x0b00, 0x2348, 
700
 0x1728, 0x2c14, 0x3838, 0x0b04, 0x234c, 
701
 0x1628, 0x2b14, 0x3738, 0x0a04, 0x224c, 
702
 0x1528, 0x2a14, 0x3638, 0x0904, 0x214c, 
703
 0x1428, 0x2a18, 0x363c, 0x0804, 0x204c, 
704
 0x1328, 0x2b18, 0x373c, 0x0704, 0x1f4c, 
705
 0x1228, 0x2c18, 0x383c, 0x0604, 0x1e4c, 
706
 0x122c, 0x2d18, 0x393c, 0x0608, 0x1e50, 
707
 0x132c, 0x2e18, 0x3a3c, 0x0708, 0x1f50, 
708
 0x142c, 0x2f18, 0x3b3c, 0x0808, 0x2050, 
709
 0x152c, 0x2f1c, 0x3b40, 0x0908, 0x2150, 
710
 0x162c, 0x2e1c, 0x3a40, 0x0a08, 0x2250, 
711
 0x172c, 0x2d1c, 0x3940, 0x0b08, 0x2350, 
712
 0x1730, 0x2c1c, 0x3840, 0x0b0c, 0x2354, 
713
 0x1630, 0x2b1c, 0x3740, 0x0a0c, 0x2254, 
714
 0x1530, 0x2a1c, 0x3640, 0x090c, 0x2154, 
715
 0x1430, 0x2a20, 0x3644, 0x080c, 0x2054, 
716
 0x1330, 0x2b20, 0x3744, 0x070c, 0x1f54, 
717
 0x1230, 0x2c20, 0x3844, 0x060c, 0x1e54, 
718
 0x1234, 0x2d20, 0x3944, 0x0610, 0x1e58, 
719
 0x1334, 0x2e20, 0x3a44, 0x0710, 0x2058, 
720
 0x1434, 0x2f20, 0x3b44, 0x0810, 0x2258, 
721
 0x1824, 0x3310, 0x3f34, 0x0c00, 0x2448, 
722
 0x1924, 0x3410, 0x4034, 0x0d00, 0x2548, 
723
 0x1a24, 0x3510, 0x4134, 0x0e00, 0x2648, 
724
 0x1b24, 0x3514, 0x4138, 0x0f00, 0x2748, 
725
 0x1c24, 0x3414, 0x4038, 0x1000, 0x2848, 
726
 0x1d24, 0x3314, 0x3f38, 0x1100, 0x2948, 
727
 0x1d28, 0x3214, 0x3e38, 0x1104, 0x294c, 
728
 0x1c28, 0x3114, 0x3d38, 0x1004, 0x284c, 
729
 0x1b28, 0x3014, 0x3c38, 0x0f04, 0x274c, 
730
 0x1a28, 0x3018, 0x3c3c, 0x0e04, 0x264c, 
731
 0x1928, 0x3118, 0x3d3c, 0x0d04, 0x254c, 
732
 0x1828, 0x3218, 0x3e3c, 0x0c04, 0x244c, 
733
 0x182c, 0x3318, 0x3f3c, 0x0c08, 0x2450, 
734
 0x192c, 0x3418, 0x403c, 0x0d08, 0x2550, 
735
 0x1a2c, 0x3518, 0x413c, 0x0e08, 0x2650, 
736
 0x1b2c, 0x351c, 0x4140, 0x0f08, 0x2750, 
737
 0x1c2c, 0x341c, 0x4040, 0x1008, 0x2850, 
738
 0x1d2c, 0x331c, 0x3f40, 0x1108, 0x2950, 
739
 0x1d30, 0x321c, 0x3e40, 0x110c, 0x2954, 
740
 0x1c30, 0x311c, 0x3d40, 0x100c, 0x2854, 
741
 0x1b30, 0x301c, 0x3c40, 0x0f0c, 0x2754, 
742
 0x1a30, 0x3020, 0x3c44, 0x0e0c, 0x2654, 
743
 0x1930, 0x3120, 0x3d44, 0x0d0c, 0x2554, 
744
 0x1830, 0x3220, 0x3e44, 0x0c0c, 0x2454, 
745
 0x1834, 0x3320, 0x3f44, 0x0c10, 0x2458, 
746
 0x1934, 0x3420, 0x4044, 0x0d10, 0x2658, 
747
 0x1a34, 0x3520, 0x4144, 0x0e10, 0x2858, 
748
 0x1e24, 0x3910, 0x4534, 0x1200, 0x2a48, 
749
 0x1f24, 0x3a10, 0x4634, 0x1300, 0x2b48, 
750
 0x2024, 0x3b10, 0x4734, 0x1400, 0x2c48, 
751
 0x2124, 0x3b14, 0x4738, 0x1500, 0x2d48, 
752
 0x2224, 0x3a14, 0x4638, 0x1600, 0x2e48, 
753
 0x2324, 0x3914, 0x4538, 0x1700, 0x2f48, 
754
 0x2328, 0x3814, 0x4438, 0x1704, 0x2f4c, 
755
 0x2228, 0x3714, 0x4338, 0x1604, 0x2e4c, 
756
 0x2128, 0x3614, 0x4238, 0x1504, 0x2d4c, 
757
 0x2028, 0x3618, 0x423c, 0x1404, 0x2c4c, 
758
 0x1f28, 0x3718, 0x433c, 0x1304, 0x2b4c, 
759
 0x1e28, 0x3818, 0x443c, 0x1204, 0x2a4c, 
760
 0x1e2c, 0x3918, 0x453c, 0x1208, 0x2a50, 
761
 0x1f2c, 0x3a18, 0x463c, 0x1308, 0x2b50, 
762
 0x202c, 0x3b18, 0x473c, 0x1408, 0x2c50, 
763
 0x212c, 0x3b1c, 0x4740, 0x1508, 0x2d50, 
764
 0x222c, 0x3a1c, 0x4640, 0x1608, 0x2e50, 
765
 0x232c, 0x391c, 0x4540, 0x1708, 0x2f50, 
766
 0x2330, 0x381c, 0x4440, 0x170c, 0x2f54, 
767
 0x2230, 0x371c, 0x4340, 0x160c, 0x2e54, 
768
 0x2130, 0x361c, 0x4240, 0x150c, 0x2d54, 
769
 0x2030, 0x3620, 0x4244, 0x140c, 0x2c54, 
770
 0x1f30, 0x3720, 0x4344, 0x130c, 0x2b54, 
771
 0x1e30, 0x3820, 0x4444, 0x120c, 0x2a54, 
772
 0x1e34, 0x3920, 0x4544, 0x1210, 0x2a58, 
773
 0x1f34, 0x3a20, 0x4644, 0x1310, 0x2c58, 
774
 0x2034, 0x3b20, 0x4744, 0x1410, 0x2e58, 
775
 0x2424, 0x3f10, 0x0334, 0x1800, 0x3048, 
776
 0x2524, 0x4010, 0x0434, 0x1900, 0x3148, 
777
 0x2624, 0x4110, 0x0534, 0x1a00, 0x3248, 
778
 0x2724, 0x4114, 0x0538, 0x1b00, 0x3348, 
779
 0x2824, 0x4014, 0x0438, 0x1c00, 0x3448, 
780
 0x2924, 0x3f14, 0x0338, 0x1d00, 0x3548, 
781
 0x2928, 0x3e14, 0x0238, 0x1d04, 0x354c, 
782
 0x2828, 0x3d14, 0x0138, 0x1c04, 0x344c, 
783
 0x2728, 0x3c14, 0x0038, 0x1b04, 0x334c, 
784
 0x2628, 0x3c18, 0x003c, 0x1a04, 0x324c, 
785
 0x2528, 0x3d18, 0x013c, 0x1904, 0x314c, 
786
 0x2428, 0x3e18, 0x023c, 0x1804, 0x304c, 
787
 0x242c, 0x3f18, 0x033c, 0x1808, 0x3050, 
788
 0x252c, 0x4018, 0x043c, 0x1908, 0x3150, 
789
 0x262c, 0x4118, 0x053c, 0x1a08, 0x3250, 
790
 0x272c, 0x411c, 0x0540, 0x1b08, 0x3350, 
791
 0x282c, 0x401c, 0x0440, 0x1c08, 0x3450, 
792
 0x292c, 0x3f1c, 0x0340, 0x1d08, 0x3550, 
793
 0x2930, 0x3e1c, 0x0240, 0x1d0c, 0x3554, 
794
 0x2830, 0x3d1c, 0x0140, 0x1c0c, 0x3454, 
795
 0x2730, 0x3c1c, 0x0040, 0x1b0c, 0x3354, 
796
 0x2630, 0x3c20, 0x0044, 0x1a0c, 0x3254, 
797
 0x2530, 0x3d20, 0x0144, 0x190c, 0x3154, 
798
 0x2430, 0x3e20, 0x0244, 0x180c, 0x3054, 
799
 0x2434, 0x3f20, 0x0344, 0x1810, 0x3058, 
800
 0x2534, 0x4020, 0x0444, 0x1910, 0x3258, 
801
 0x2634, 0x4120, 0x0544, 0x1a10, 0x3458, 
802
 0x2a24, 0x4510, 0x0934, 0x1e00, 0x3648, 
803
 0x2b24, 0x4610, 0x0a34, 0x1f00, 0x3748, 
804
 0x2c24, 0x4710, 0x0b34, 0x2000, 0x3848, 
805
 0x2d24, 0x4714, 0x0b38, 0x2100, 0x3948, 
806
 0x2e24, 0x4614, 0x0a38, 0x2200, 0x3a48, 
807
 0x2f24, 0x4514, 0x0938, 0x2300, 0x3b48, 
808
 0x2f28, 0x4414, 0x0838, 0x2304, 0x3b4c, 
809
 0x2e28, 0x4314, 0x0738, 0x2204, 0x3a4c, 
810
 0x2d28, 0x4214, 0x0638, 0x2104, 0x394c, 
811
 0x2c28, 0x4218, 0x063c, 0x2004, 0x384c, 
812
 0x2b28, 0x4318, 0x073c, 0x1f04, 0x374c, 
813
 0x2a28, 0x4418, 0x083c, 0x1e04, 0x364c, 
814
 0x2a2c, 0x4518, 0x093c, 0x1e08, 0x3650, 
815
 0x2b2c, 0x4618, 0x0a3c, 0x1f08, 0x3750, 
816
 0x2c2c, 0x4718, 0x0b3c, 0x2008, 0x3850, 
817
 0x2d2c, 0x471c, 0x0b40, 0x2108, 0x3950, 
818
 0x2e2c, 0x461c, 0x0a40, 0x2208, 0x3a50, 
819
 0x2f2c, 0x451c, 0x0940, 0x2308, 0x3b50, 
820
 0x2f30, 0x441c, 0x0840, 0x230c, 0x3b54, 
821
 0x2e30, 0x431c, 0x0740, 0x220c, 0x3a54, 
822
 0x2d30, 0x421c, 0x0640, 0x210c, 0x3954, 
823
 0x2c30, 0x4220, 0x0644, 0x200c, 0x3854, 
824
 0x2b30, 0x4320, 0x0744, 0x1f0c, 0x3754, 
825
 0x2a30, 0x4420, 0x0844, 0x1e0c, 0x3654, 
826
 0x2a34, 0x4520, 0x0944, 0x1e10, 0x3658, 
827
 0x2b34, 0x4620, 0x0a44, 0x1f10, 0x3858, 
828
 0x2c34, 0x4720, 0x0b44, 0x2010, 0x3a58, 
829
 0x3024, 0x0310, 0x0f34, 0x2400, 0x3c48, 
830
 0x3124, 0x0410, 0x1034, 0x2500, 0x3d48, 
831
 0x3224, 0x0510, 0x1134, 0x2600, 0x3e48, 
832
 0x3324, 0x0514, 0x1138, 0x2700, 0x3f48, 
833
 0x3424, 0x0414, 0x1038, 0x2800, 0x4048, 
834
 0x3524, 0x0314, 0x0f38, 0x2900, 0x4148, 
835
 0x3528, 0x0214, 0x0e38, 0x2904, 0x414c, 
836
 0x3428, 0x0114, 0x0d38, 0x2804, 0x404c, 
837
 0x3328, 0x0014, 0x0c38, 0x2704, 0x3f4c, 
838
 0x3228, 0x0018, 0x0c3c, 0x2604, 0x3e4c, 
839
 0x3128, 0x0118, 0x0d3c, 0x2504, 0x3d4c, 
840
 0x3028, 0x0218, 0x0e3c, 0x2404, 0x3c4c, 
841
 0x302c, 0x0318, 0x0f3c, 0x2408, 0x3c50, 
842
 0x312c, 0x0418, 0x103c, 0x2508, 0x3d50, 
843
 0x322c, 0x0518, 0x113c, 0x2608, 0x3e50, 
844
 0x332c, 0x051c, 0x1140, 0x2708, 0x3f50, 
845
 0x342c, 0x041c, 0x1040, 0x2808, 0x4050, 
846
 0x352c, 0x031c, 0x0f40, 0x2908, 0x4150, 
847
 0x3530, 0x021c, 0x0e40, 0x290c, 0x4154, 
848
 0x3430, 0x011c, 0x0d40, 0x280c, 0x4054, 
849
 0x3330, 0x001c, 0x0c40, 0x270c, 0x3f54, 
850
 0x3230, 0x0020, 0x0c44, 0x260c, 0x3e54, 
851
 0x3130, 0x0120, 0x0d44, 0x250c, 0x3d54, 
852
 0x3030, 0x0220, 0x0e44, 0x240c, 0x3c54, 
853
 0x3034, 0x0320, 0x0f44, 0x2410, 0x3c58, 
854
 0x3134, 0x0420, 0x1044, 0x2510, 0x3e58, 
855
 0x3234, 0x0520, 0x1144, 0x2610, 0x4058, 
856
 0x3624, 0x0910, 0x1534, 0x2a00, 0x4248, 
857
 0x3724, 0x0a10, 0x1634, 0x2b00, 0x4348, 
858
 0x3824, 0x0b10, 0x1734, 0x2c00, 0x4448, 
859
 0x3924, 0x0b14, 0x1738, 0x2d00, 0x4548, 
860
 0x3a24, 0x0a14, 0x1638, 0x2e00, 0x4648, 
861
 0x3b24, 0x0914, 0x1538, 0x2f00, 0x4748, 
862
 0x3b28, 0x0814, 0x1438, 0x2f04, 0x474c, 
863
 0x3a28, 0x0714, 0x1338, 0x2e04, 0x464c, 
864
 0x3928, 0x0614, 0x1238, 0x2d04, 0x454c, 
865
 0x3828, 0x0618, 0x123c, 0x2c04, 0x444c, 
866
 0x3728, 0x0718, 0x133c, 0x2b04, 0x434c, 
867
 0x3628, 0x0818, 0x143c, 0x2a04, 0x424c, 
868
 0x362c, 0x0918, 0x153c, 0x2a08, 0x4250, 
869
 0x372c, 0x0a18, 0x163c, 0x2b08, 0x4350, 
870
 0x382c, 0x0b18, 0x173c, 0x2c08, 0x4450, 
871
 0x392c, 0x0b1c, 0x1740, 0x2d08, 0x4550, 
872
 0x3a2c, 0x0a1c, 0x1640, 0x2e08, 0x4650, 
873
 0x3b2c, 0x091c, 0x1540, 0x2f08, 0x4750, 
874
 0x3b30, 0x081c, 0x1440, 0x2f0c, 0x4754, 
875
 0x3a30, 0x071c, 0x1340, 0x2e0c, 0x4654, 
876
 0x3930, 0x061c, 0x1240, 0x2d0c, 0x4554, 
877
 0x3830, 0x0620, 0x1244, 0x2c0c, 0x4454, 
878
 0x3730, 0x0720, 0x1344, 0x2b0c, 0x4354, 
879
 0x3630, 0x0820, 0x1444, 0x2a0c, 0x4254, 
880
 0x3634, 0x0920, 0x1544, 0x2a10, 0x4258, 
881
 0x3734, 0x0a20, 0x1644, 0x2b10, 0x4458, 
882
 0x3834, 0x0b20, 0x1744, 0x2c10, 0x4658, 
883
 0x3c24, 0x0f10, 0x1b34, 0x3000, 0x0048, 
884
 0x3d24, 0x1010, 0x1c34, 0x3100, 0x0148, 
885
 0x3e24, 0x1110, 0x1d34, 0x3200, 0x0248, 
886
 0x3f24, 0x1114, 0x1d38, 0x3300, 0x0348, 
887
 0x4024, 0x1014, 0x1c38, 0x3400, 0x0448, 
888
 0x4124, 0x0f14, 0x1b38, 0x3500, 0x0548, 
889
 0x4128, 0x0e14, 0x1a38, 0x3504, 0x054c, 
890
 0x4028, 0x0d14, 0x1938, 0x3404, 0x044c, 
891
 0x3f28, 0x0c14, 0x1838, 0x3304, 0x034c, 
892
 0x3e28, 0x0c18, 0x183c, 0x3204, 0x024c, 
893
 0x3d28, 0x0d18, 0x193c, 0x3104, 0x014c, 
894
 0x3c28, 0x0e18, 0x1a3c, 0x3004, 0x004c, 
895
 0x3c2c, 0x0f18, 0x1b3c, 0x3008, 0x0050, 
896
 0x3d2c, 0x1018, 0x1c3c, 0x3108, 0x0150, 
897
 0x3e2c, 0x1118, 0x1d3c, 0x3208, 0x0250, 
898
 0x3f2c, 0x111c, 0x1d40, 0x3308, 0x0350, 
899
 0x402c, 0x101c, 0x1c40, 0x3408, 0x0450, 
900
 0x412c, 0x0f1c, 0x1b40, 0x3508, 0x0550, 
901
 0x4130, 0x0e1c, 0x1a40, 0x350c, 0x0554, 
902
 0x4030, 0x0d1c, 0x1940, 0x340c, 0x0454, 
903
 0x3f30, 0x0c1c, 0x1840, 0x330c, 0x0354, 
904
 0x3e30, 0x0c20, 0x1844, 0x320c, 0x0254, 
905
 0x3d30, 0x0d20, 0x1944, 0x310c, 0x0154, 
906
 0x3c30, 0x0e20, 0x1a44, 0x300c, 0x0054, 
907
 0x3c34, 0x0f20, 0x1b44, 0x3010, 0x0058, 
908
 0x3d34, 0x1020, 0x1c44, 0x3110, 0x0258, 
909
 0x3e34, 0x1120, 0x1d44, 0x3210, 0x0458, 
910
 0x4224, 0x1510, 0x2134, 0x3600, 0x0648, 
911
 0x4324, 0x1610, 0x2234, 0x3700, 0x0748, 
912
 0x4424, 0x1710, 0x2334, 0x3800, 0x0848, 
913
 0x4524, 0x1714, 0x2338, 0x3900, 0x0948, 
914
 0x4624, 0x1614, 0x2238, 0x3a00, 0x0a48, 
915
 0x4724, 0x1514, 0x2138, 0x3b00, 0x0b48, 
916
 0x4728, 0x1414, 0x2038, 0x3b04, 0x0b4c, 
917
 0x4628, 0x1314, 0x1f38, 0x3a04, 0x0a4c, 
918
 0x4528, 0x1214, 0x1e38, 0x3904, 0x094c, 
919
 0x4428, 0x1218, 0x1e3c, 0x3804, 0x084c, 
920
 0x4328, 0x1318, 0x1f3c, 0x3704, 0x074c, 
921
 0x4228, 0x1418, 0x203c, 0x3604, 0x064c, 
922
 0x422c, 0x1518, 0x213c, 0x3608, 0x0650, 
923
 0x432c, 0x1618, 0x223c, 0x3708, 0x0750, 
924
 0x442c, 0x1718, 0x233c, 0x3808, 0x0850, 
925
 0x452c, 0x171c, 0x2340, 0x3908, 0x0950, 
926
 0x462c, 0x161c, 0x2240, 0x3a08, 0x0a50, 
927
 0x472c, 0x151c, 0x2140, 0x3b08, 0x0b50, 
928
 0x4730, 0x141c, 0x2040, 0x3b0c, 0x0b54, 
929
 0x4630, 0x131c, 0x1f40, 0x3a0c, 0x0a54, 
930
 0x4530, 0x121c, 0x1e40, 0x390c, 0x0954, 
931
 0x4430, 0x1220, 0x1e44, 0x380c, 0x0854, 
932
 0x4330, 0x1320, 0x1f44, 0x370c, 0x0754, 
933
 0x4230, 0x1420, 0x2044, 0x360c, 0x0654, 
934
 0x4234, 0x1520, 0x2144, 0x3610, 0x0658, 
935
 0x4334, 0x1620, 0x2244, 0x3710, 0x0858, 
936
 0x4434, 0x1720, 0x2344, 0x3810, 0x0a58, 
937
 0x0024, 0x1b10, 0x2734, 0x3c00, 0x0c48, 
938
 0x0124, 0x1c10, 0x2834, 0x3d00, 0x0d48, 
939
 0x0224, 0x1d10, 0x2934, 0x3e00, 0x0e48, 
940
 0x0324, 0x1d14, 0x2938, 0x3f00, 0x0f48, 
941
 0x0424, 0x1c14, 0x2838, 0x4000, 0x1048, 
942
 0x0524, 0x1b14, 0x2738, 0x4100, 0x1148, 
943
 0x0528, 0x1a14, 0x2638, 0x4104, 0x114c, 
944
 0x0428, 0x1914, 0x2538, 0x4004, 0x104c, 
945
 0x0328, 0x1814, 0x2438, 0x3f04, 0x0f4c, 
946
 0x0228, 0x1818, 0x243c, 0x3e04, 0x0e4c, 
947
 0x0128, 0x1918, 0x253c, 0x3d04, 0x0d4c, 
948
 0x0028, 0x1a18, 0x263c, 0x3c04, 0x0c4c, 
949
 0x002c, 0x1b18, 0x273c, 0x3c08, 0x0c50, 
950
 0x012c, 0x1c18, 0x283c, 0x3d08, 0x0d50, 
951
 0x022c, 0x1d18, 0x293c, 0x3e08, 0x0e50, 
952
 0x032c, 0x1d1c, 0x2940, 0x3f08, 0x0f50, 
953
 0x042c, 0x1c1c, 0x2840, 0x4008, 0x1050, 
954
 0x052c, 0x1b1c, 0x2740, 0x4108, 0x1150, 
955
 0x0530, 0x1a1c, 0x2640, 0x410c, 0x1154, 
956
 0x0430, 0x191c, 0x2540, 0x400c, 0x1054, 
957
 0x0330, 0x181c, 0x2440, 0x3f0c, 0x0f54, 
958
 0x0230, 0x1820, 0x2444, 0x3e0c, 0x0e54, 
959
 0x0130, 0x1920, 0x2544, 0x3d0c, 0x0d54, 
960
 0x0030, 0x1a20, 0x2644, 0x3c0c, 0x0c54, 
961
 0x0034, 0x1b20, 0x2744, 0x3c10, 0x0c58, 
962
 0x0134, 0x1c20, 0x2844, 0x3d10, 0x0e58, 
963
 0x0234, 0x1d20, 0x2944, 0x3e10, 0x1058, 
964
 0x0624, 0x2110, 0x2d34, 0x4200, 0x1248, 
965
 0x0724, 0x2210, 0x2e34, 0x4300, 0x1348, 
966
 0x0824, 0x2310, 0x2f34, 0x4400, 0x1448, 
967
 0x0924, 0x2314, 0x2f38, 0x4500, 0x1548, 
968
 0x0a24, 0x2214, 0x2e38, 0x4600, 0x1648, 
969
 0x0b24, 0x2114, 0x2d38, 0x4700, 0x1748, 
970
 0x0b28, 0x2014, 0x2c38, 0x4704, 0x174c, 
971
 0x0a28, 0x1f14, 0x2b38, 0x4604, 0x164c, 
972
 0x0928, 0x1e14, 0x2a38, 0x4504, 0x154c, 
973
 0x0828, 0x1e18, 0x2a3c, 0x4404, 0x144c, 
974
 0x0728, 0x1f18, 0x2b3c, 0x4304, 0x134c, 
975
 0x0628, 0x2018, 0x2c3c, 0x4204, 0x124c, 
976
 0x062c, 0x2118, 0x2d3c, 0x4208, 0x1250, 
977
 0x072c, 0x2218, 0x2e3c, 0x4308, 0x1350, 
978
 0x082c, 0x2318, 0x2f3c, 0x4408, 0x1450, 
979
 0x092c, 0x231c, 0x2f40, 0x4508, 0x1550, 
980
 0x0a2c, 0x221c, 0x2e40, 0x4608, 0x1650, 
981
 0x0b2c, 0x211c, 0x2d40, 0x4708, 0x1750, 
982
 0x0b30, 0x201c, 0x2c40, 0x470c, 0x1754, 
983
 0x0a30, 0x1f1c, 0x2b40, 0x460c, 0x1654, 
984
 0x0930, 0x1e1c, 0x2a40, 0x450c, 0x1554, 
985
 0x0830, 0x1e20, 0x2a44, 0x440c, 0x1454, 
986
 0x0730, 0x1f20, 0x2b44, 0x430c, 0x1354, 
987
 0x0630, 0x2020, 0x2c44, 0x420c, 0x1254, 
988
 0x0634, 0x2120, 0x2d44, 0x4210, 0x1258, 
989
 0x0734, 0x2220, 0x2e44, 0x4310, 0x1458, 
990
 0x0834, 0x2320, 0x2f44, 0x4410, 0x1658,
991
};
992

    
993
static const uint16_t dv_place_411[1350] = {
994
 0x0c24, 0x2710, 0x3334, 0x0000, 0x1848,
995
 0x0d24, 0x2810, 0x3434, 0x0100, 0x1948,
996
 0x0e24, 0x2910, 0x3534, 0x0200, 0x1a48,
997
 0x0f24, 0x2914, 0x3538, 0x0300, 0x1b48,
998
 0x1024, 0x2814, 0x3438, 0x0400, 0x1c48,
999
 0x1124, 0x2714, 0x3338, 0x0500, 0x1d48,
1000
 0x1128, 0x2614, 0x3238, 0x0504, 0x1d4c,
1001
 0x1028, 0x2514, 0x3138, 0x0404, 0x1c4c,
1002
 0x0f28, 0x2414, 0x3038, 0x0304, 0x1b4c,
1003
 0x0e28, 0x2418, 0x303c, 0x0204, 0x1a4c,
1004
 0x0d28, 0x2518, 0x313c, 0x0104, 0x194c,
1005
 0x0c28, 0x2618, 0x323c, 0x0004, 0x184c,
1006
 0x0c2c, 0x2718, 0x333c, 0x0008, 0x1850,
1007
 0x0d2c, 0x2818, 0x343c, 0x0108, 0x1950,
1008
 0x0e2c, 0x2918, 0x353c, 0x0208, 0x1a50,
1009
 0x0f2c, 0x291c, 0x3540, 0x0308, 0x1b50,
1010
 0x102c, 0x281c, 0x3440, 0x0408, 0x1c50,
1011
 0x112c, 0x271c, 0x3340, 0x0508, 0x1d50,
1012
 0x1130, 0x261c, 0x3240, 0x050c, 0x1d54,
1013
 0x1030, 0x251c, 0x3140, 0x040c, 0x1c54,
1014
 0x0f30, 0x241c, 0x3040, 0x030c, 0x1b54,
1015
 0x0e30, 0x2420, 0x3044, 0x020c, 0x1a54,
1016
 0x0d30, 0x2520, 0x3144, 0x010c, 0x1954,
1017
 0x0c30, 0x2620, 0x3244, 0x000c, 0x1854,
1018
 0x0c34, 0x2720, 0x3344, 0x0010, 0x1858,
1019
 0x0d34, 0x2820, 0x3444, 0x0110, 0x1a58,
1020
 0x0e34, 0x2920, 0x3544, 0x0210, 0x1c58,
1021
 0x1224, 0x2d10, 0x3934, 0x0600, 0x1e48,
1022
 0x1324, 0x2e10, 0x3a34, 0x0700, 0x1f48,
1023
 0x1424, 0x2f10, 0x3b34, 0x0800, 0x2048,
1024
 0x1524, 0x2f14, 0x3b38, 0x0900, 0x2148,
1025
 0x1624, 0x2e14, 0x3a38, 0x0a00, 0x2248,
1026
 0x1724, 0x2d14, 0x3938, 0x0b00, 0x2348,
1027
 0x1728, 0x2c14, 0x3838, 0x0b04, 0x234c,
1028
 0x1628, 0x2b14, 0x3738, 0x0a04, 0x224c,
1029
 0x1528, 0x2a14, 0x3638, 0x0904, 0x214c,
1030
 0x1428, 0x2a18, 0x363c, 0x0804, 0x204c,
1031
 0x1328, 0x2b18, 0x373c, 0x0704, 0x1f4c,
1032
 0x1228, 0x2c18, 0x383c, 0x0604, 0x1e4c,
1033
 0x122c, 0x2d18, 0x393c, 0x0608, 0x1e50,
1034
 0x132c, 0x2e18, 0x3a3c, 0x0708, 0x1f50,
1035
 0x142c, 0x2f18, 0x3b3c, 0x0808, 0x2050,
1036
 0x152c, 0x2f1c, 0x3b40, 0x0908, 0x2150,
1037
 0x162c, 0x2e1c, 0x3a40, 0x0a08, 0x2250,
1038
 0x172c, 0x2d1c, 0x3940, 0x0b08, 0x2350,
1039
 0x1730, 0x2c1c, 0x3840, 0x0b0c, 0x2354,
1040
 0x1630, 0x2b1c, 0x3740, 0x0a0c, 0x2254,
1041
 0x1530, 0x2a1c, 0x3640, 0x090c, 0x2154,
1042
 0x1430, 0x2a20, 0x3644, 0x080c, 0x2054,
1043
 0x1330, 0x2b20, 0x3744, 0x070c, 0x1f54,
1044
 0x1230, 0x2c20, 0x3844, 0x060c, 0x1e54,
1045
 0x1234, 0x2d20, 0x3944, 0x0610, 0x1e58,
1046
 0x1334, 0x2e20, 0x3a44, 0x0710, 0x2058,
1047
 0x1434, 0x2f20, 0x3b44, 0x0810, 0x2258,
1048
 0x1824, 0x3310, 0x0334, 0x0c00, 0x2448,
1049
 0x1924, 0x3410, 0x0434, 0x0d00, 0x2548,
1050
 0x1a24, 0x3510, 0x0534, 0x0e00, 0x2648,
1051
 0x1b24, 0x3514, 0x0538, 0x0f00, 0x2748,
1052
 0x1c24, 0x3414, 0x0438, 0x1000, 0x2848,
1053
 0x1d24, 0x3314, 0x0338, 0x1100, 0x2948,
1054
 0x1d28, 0x3214, 0x0238, 0x1104, 0x294c,
1055
 0x1c28, 0x3114, 0x0138, 0x1004, 0x284c,
1056
 0x1b28, 0x3014, 0x0038, 0x0f04, 0x274c,
1057
 0x1a28, 0x3018, 0x003c, 0x0e04, 0x264c,
1058
 0x1928, 0x3118, 0x013c, 0x0d04, 0x254c,
1059
 0x1828, 0x3218, 0x023c, 0x0c04, 0x244c,
1060
 0x182c, 0x3318, 0x033c, 0x0c08, 0x2450,
1061
 0x192c, 0x3418, 0x043c, 0x0d08, 0x2550,
1062
 0x1a2c, 0x3518, 0x053c, 0x0e08, 0x2650,
1063
 0x1b2c, 0x351c, 0x0540, 0x0f08, 0x2750,
1064
 0x1c2c, 0x341c, 0x0440, 0x1008, 0x2850,
1065
 0x1d2c, 0x331c, 0x0340, 0x1108, 0x2950,
1066
 0x1d30, 0x321c, 0x0240, 0x110c, 0x2954,
1067
 0x1c30, 0x311c, 0x0140, 0x100c, 0x2854,
1068
 0x1b30, 0x301c, 0x0040, 0x0f0c, 0x2754,
1069
 0x1a30, 0x3020, 0x0044, 0x0e0c, 0x2654,
1070
 0x1930, 0x3120, 0x0144, 0x0d0c, 0x2554,
1071
 0x1830, 0x3220, 0x0244, 0x0c0c, 0x2454,
1072
 0x1834, 0x3320, 0x0344, 0x0c10, 0x2458,
1073
 0x1934, 0x3420, 0x0444, 0x0d10, 0x2658,
1074
 0x1a34, 0x3520, 0x0544, 0x0e10, 0x2858,
1075
 0x1e24, 0x3910, 0x0934, 0x1200, 0x2a48,
1076
 0x1f24, 0x3a10, 0x0a34, 0x1300, 0x2b48,
1077
 0x2024, 0x3b10, 0x0b34, 0x1400, 0x2c48,
1078
 0x2124, 0x3b14, 0x0b38, 0x1500, 0x2d48,
1079
 0x2224, 0x3a14, 0x0a38, 0x1600, 0x2e48,
1080
 0x2324, 0x3914, 0x0938, 0x1700, 0x2f48,
1081
 0x2328, 0x3814, 0x0838, 0x1704, 0x2f4c,
1082
 0x2228, 0x3714, 0x0738, 0x1604, 0x2e4c,
1083
 0x2128, 0x3614, 0x0638, 0x1504, 0x2d4c,
1084
 0x2028, 0x3618, 0x063c, 0x1404, 0x2c4c,
1085
 0x1f28, 0x3718, 0x073c, 0x1304, 0x2b4c,
1086
 0x1e28, 0x3818, 0x083c, 0x1204, 0x2a4c,
1087
 0x1e2c, 0x3918, 0x093c, 0x1208, 0x2a50,
1088
 0x1f2c, 0x3a18, 0x0a3c, 0x1308, 0x2b50,
1089
 0x202c, 0x3b18, 0x0b3c, 0x1408, 0x2c50,
1090
 0x212c, 0x3b1c, 0x0b40, 0x1508, 0x2d50,
1091
 0x222c, 0x3a1c, 0x0a40, 0x1608, 0x2e50,
1092
 0x232c, 0x391c, 0x0940, 0x1708, 0x2f50,
1093
 0x2330, 0x381c, 0x0840, 0x170c, 0x2f54,
1094
 0x2230, 0x371c, 0x0740, 0x160c, 0x2e54,
1095
 0x2130, 0x361c, 0x0640, 0x150c, 0x2d54,
1096
 0x2030, 0x3620, 0x0644, 0x140c, 0x2c54,
1097
 0x1f30, 0x3720, 0x0744, 0x130c, 0x2b54,
1098
 0x1e30, 0x3820, 0x0844, 0x120c, 0x2a54,
1099
 0x1e34, 0x3920, 0x0944, 0x1210, 0x2a58,
1100
 0x1f34, 0x3a20, 0x0a44, 0x1310, 0x2c58,
1101
 0x2034, 0x3b20, 0x0b44, 0x1410, 0x2e58,
1102
 0x2424, 0x0310, 0x0f34, 0x1800, 0x3048,
1103
 0x2524, 0x0410, 0x1034, 0x1900, 0x3148,
1104
 0x2624, 0x0510, 0x1134, 0x1a00, 0x3248,
1105
 0x2724, 0x0514, 0x1138, 0x1b00, 0x3348,
1106
 0x2824, 0x0414, 0x1038, 0x1c00, 0x3448,
1107
 0x2924, 0x0314, 0x0f38, 0x1d00, 0x3548,
1108
 0x2928, 0x0214, 0x0e38, 0x1d04, 0x354c,
1109
 0x2828, 0x0114, 0x0d38, 0x1c04, 0x344c,
1110
 0x2728, 0x0014, 0x0c38, 0x1b04, 0x334c,
1111
 0x2628, 0x0018, 0x0c3c, 0x1a04, 0x324c,
1112
 0x2528, 0x0118, 0x0d3c, 0x1904, 0x314c,
1113
 0x2428, 0x0218, 0x0e3c, 0x1804, 0x304c,
1114
 0x242c, 0x0318, 0x0f3c, 0x1808, 0x3050,
1115
 0x252c, 0x0418, 0x103c, 0x1908, 0x3150,
1116
 0x262c, 0x0518, 0x113c, 0x1a08, 0x3250,
1117
 0x272c, 0x051c, 0x1140, 0x1b08, 0x3350,
1118
 0x282c, 0x041c, 0x1040, 0x1c08, 0x3450,
1119
 0x292c, 0x031c, 0x0f40, 0x1d08, 0x3550,
1120
 0x2930, 0x021c, 0x0e40, 0x1d0c, 0x3554,
1121
 0x2830, 0x011c, 0x0d40, 0x1c0c, 0x3454,
1122
 0x2730, 0x001c, 0x0c40, 0x1b0c, 0x3354,
1123
 0x2630, 0x0020, 0x0c44, 0x1a0c, 0x3254,
1124
 0x2530, 0x0120, 0x0d44, 0x190c, 0x3154,
1125
 0x2430, 0x0220, 0x0e44, 0x180c, 0x3054,
1126
 0x2434, 0x0320, 0x0f44, 0x1810, 0x3058,
1127
 0x2534, 0x0420, 0x1044, 0x1910, 0x3258,
1128
 0x2634, 0x0520, 0x1144, 0x1a10, 0x3458,
1129
 0x2a24, 0x0910, 0x1534, 0x1e00, 0x3648,
1130
 0x2b24, 0x0a10, 0x1634, 0x1f00, 0x3748,
1131
 0x2c24, 0x0b10, 0x1734, 0x2000, 0x3848,
1132
 0x2d24, 0x0b14, 0x1738, 0x2100, 0x3948,
1133
 0x2e24, 0x0a14, 0x1638, 0x2200, 0x3a48,
1134
 0x2f24, 0x0914, 0x1538, 0x2300, 0x3b48,
1135
 0x2f28, 0x0814, 0x1438, 0x2304, 0x3b4c,
1136
 0x2e28, 0x0714, 0x1338, 0x2204, 0x3a4c,
1137
 0x2d28, 0x0614, 0x1238, 0x2104, 0x394c,
1138
 0x2c28, 0x0618, 0x123c, 0x2004, 0x384c,
1139
 0x2b28, 0x0718, 0x133c, 0x1f04, 0x374c,
1140
 0x2a28, 0x0818, 0x143c, 0x1e04, 0x364c,
1141
 0x2a2c, 0x0918, 0x153c, 0x1e08, 0x3650,
1142
 0x2b2c, 0x0a18, 0x163c, 0x1f08, 0x3750,
1143
 0x2c2c, 0x0b18, 0x173c, 0x2008, 0x3850,
1144
 0x2d2c, 0x0b1c, 0x1740, 0x2108, 0x3950,
1145
 0x2e2c, 0x0a1c, 0x1640, 0x2208, 0x3a50,
1146
 0x2f2c, 0x091c, 0x1540, 0x2308, 0x3b50,
1147
 0x2f30, 0x081c, 0x1440, 0x230c, 0x3b54,
1148
 0x2e30, 0x071c, 0x1340, 0x220c, 0x3a54,
1149
 0x2d30, 0x061c, 0x1240, 0x210c, 0x3954,
1150
 0x2c30, 0x0620, 0x1244, 0x200c, 0x3854,
1151
 0x2b30, 0x0720, 0x1344, 0x1f0c, 0x3754,
1152
 0x2a30, 0x0820, 0x1444, 0x1e0c, 0x3654,
1153
 0x2a34, 0x0920, 0x1544, 0x1e10, 0x3658,
1154
 0x2b34, 0x0a20, 0x1644, 0x1f10, 0x3858,
1155
 0x2c34, 0x0b20, 0x1744, 0x2010, 0x3a58,
1156
 0x3024, 0x0f10, 0x1b34, 0x2400, 0x0048,
1157
 0x3124, 0x1010, 0x1c34, 0x2500, 0x0148,
1158
 0x3224, 0x1110, 0x1d34, 0x2600, 0x0248,
1159
 0x3324, 0x1114, 0x1d38, 0x2700, 0x0348,
1160
 0x3424, 0x1014, 0x1c38, 0x2800, 0x0448,
1161
 0x3524, 0x0f14, 0x1b38, 0x2900, 0x0548,
1162
 0x3528, 0x0e14, 0x1a38, 0x2904, 0x054c,
1163
 0x3428, 0x0d14, 0x1938, 0x2804, 0x044c,
1164
 0x3328, 0x0c14, 0x1838, 0x2704, 0x034c,
1165
 0x3228, 0x0c18, 0x183c, 0x2604, 0x024c,
1166
 0x3128, 0x0d18, 0x193c, 0x2504, 0x014c,
1167
 0x3028, 0x0e18, 0x1a3c, 0x2404, 0x004c,
1168
 0x302c, 0x0f18, 0x1b3c, 0x2408, 0x0050,
1169
 0x312c, 0x1018, 0x1c3c, 0x2508, 0x0150,
1170
 0x322c, 0x1118, 0x1d3c, 0x2608, 0x0250,
1171
 0x332c, 0x111c, 0x1d40, 0x2708, 0x0350,
1172
 0x342c, 0x101c, 0x1c40, 0x2808, 0x0450,
1173
 0x352c, 0x0f1c, 0x1b40, 0x2908, 0x0550,
1174
 0x3530, 0x0e1c, 0x1a40, 0x290c, 0x0554,
1175
 0x3430, 0x0d1c, 0x1940, 0x280c, 0x0454,
1176
 0x3330, 0x0c1c, 0x1840, 0x270c, 0x0354,
1177
 0x3230, 0x0c20, 0x1844, 0x260c, 0x0254,
1178
 0x3130, 0x0d20, 0x1944, 0x250c, 0x0154,
1179
 0x3030, 0x0e20, 0x1a44, 0x240c, 0x0054,
1180
 0x3034, 0x0f20, 0x1b44, 0x2410, 0x0058,
1181
 0x3134, 0x1020, 0x1c44, 0x2510, 0x0258,
1182
 0x3234, 0x1120, 0x1d44, 0x2610, 0x0458,
1183
 0x3624, 0x1510, 0x2134, 0x2a00, 0x0648,
1184
 0x3724, 0x1610, 0x2234, 0x2b00, 0x0748,
1185
 0x3824, 0x1710, 0x2334, 0x2c00, 0x0848,
1186
 0x3924, 0x1714, 0x2338, 0x2d00, 0x0948,
1187
 0x3a24, 0x1614, 0x2238, 0x2e00, 0x0a48,
1188
 0x3b24, 0x1514, 0x2138, 0x2f00, 0x0b48,
1189
 0x3b28, 0x1414, 0x2038, 0x2f04, 0x0b4c,
1190
 0x3a28, 0x1314, 0x1f38, 0x2e04, 0x0a4c,
1191
 0x3928, 0x1214, 0x1e38, 0x2d04, 0x094c,
1192
 0x3828, 0x1218, 0x1e3c, 0x2c04, 0x084c,
1193
 0x3728, 0x1318, 0x1f3c, 0x2b04, 0x074c,
1194
 0x3628, 0x1418, 0x203c, 0x2a04, 0x064c,
1195
 0x362c, 0x1518, 0x213c, 0x2a08, 0x0650,
1196
 0x372c, 0x1618, 0x223c, 0x2b08, 0x0750,
1197
 0x382c, 0x1718, 0x233c, 0x2c08, 0x0850,
1198
 0x392c, 0x171c, 0x2340, 0x2d08, 0x0950,
1199
 0x3a2c, 0x161c, 0x2240, 0x2e08, 0x0a50,
1200
 0x3b2c, 0x151c, 0x2140, 0x2f08, 0x0b50,
1201
 0x3b30, 0x141c, 0x2040, 0x2f0c, 0x0b54,
1202
 0x3a30, 0x131c, 0x1f40, 0x2e0c, 0x0a54,
1203
 0x3930, 0x121c, 0x1e40, 0x2d0c, 0x0954,
1204
 0x3830, 0x1220, 0x1e44, 0x2c0c, 0x0854,
1205
 0x3730, 0x1320, 0x1f44, 0x2b0c, 0x0754,
1206
 0x3630, 0x1420, 0x2044, 0x2a0c, 0x0654,
1207
 0x3634, 0x1520, 0x2144, 0x2a10, 0x0658,
1208
 0x3734, 0x1620, 0x2244, 0x2b10, 0x0858,
1209
 0x3834, 0x1720, 0x2344, 0x2c10, 0x0a58,
1210
 0x0024, 0x1b10, 0x2734, 0x3000, 0x0c48,
1211
 0x0124, 0x1c10, 0x2834, 0x3100, 0x0d48,
1212
 0x0224, 0x1d10, 0x2934, 0x3200, 0x0e48,
1213
 0x0324, 0x1d14, 0x2938, 0x3300, 0x0f48,
1214
 0x0424, 0x1c14, 0x2838, 0x3400, 0x1048,
1215
 0x0524, 0x1b14, 0x2738, 0x3500, 0x1148,
1216
 0x0528, 0x1a14, 0x2638, 0x3504, 0x114c,
1217
 0x0428, 0x1914, 0x2538, 0x3404, 0x104c,
1218
 0x0328, 0x1814, 0x2438, 0x3304, 0x0f4c,
1219
 0x0228, 0x1818, 0x243c, 0x3204, 0x0e4c,
1220
 0x0128, 0x1918, 0x253c, 0x3104, 0x0d4c,
1221
 0x0028, 0x1a18, 0x263c, 0x3004, 0x0c4c,
1222
 0x002c, 0x1b18, 0x273c, 0x3008, 0x0c50,
1223
 0x012c, 0x1c18, 0x283c, 0x3108, 0x0d50,
1224
 0x022c, 0x1d18, 0x293c, 0x3208, 0x0e50,
1225
 0x032c, 0x1d1c, 0x2940, 0x3308, 0x0f50,
1226
 0x042c, 0x1c1c, 0x2840, 0x3408, 0x1050,
1227
 0x052c, 0x1b1c, 0x2740, 0x3508, 0x1150,
1228
 0x0530, 0x1a1c, 0x2640, 0x350c, 0x1154,
1229
 0x0430, 0x191c, 0x2540, 0x340c, 0x1054,
1230
 0x0330, 0x181c, 0x2440, 0x330c, 0x0f54,
1231
 0x0230, 0x1820, 0x2444, 0x320c, 0x0e54,
1232
 0x0130, 0x1920, 0x2544, 0x310c, 0x0d54,
1233
 0x0030, 0x1a20, 0x2644, 0x300c, 0x0c54,
1234
 0x0034, 0x1b20, 0x2744, 0x3010, 0x0c58,
1235
 0x0134, 0x1c20, 0x2844, 0x3110, 0x0e58,
1236
 0x0234, 0x1d20, 0x2944, 0x3210, 0x1058,
1237
 0x0624, 0x2110, 0x2d34, 0x3600, 0x1248,
1238
 0x0724, 0x2210, 0x2e34, 0x3700, 0x1348,
1239
 0x0824, 0x2310, 0x2f34, 0x3800, 0x1448,
1240
 0x0924, 0x2314, 0x2f38, 0x3900, 0x1548,
1241
 0x0a24, 0x2214, 0x2e38, 0x3a00, 0x1648,
1242
 0x0b24, 0x2114, 0x2d38, 0x3b00, 0x1748,
1243
 0x0b28, 0x2014, 0x2c38, 0x3b04, 0x174c,
1244
 0x0a28, 0x1f14, 0x2b38, 0x3a04, 0x164c,
1245
 0x0928, 0x1e14, 0x2a38, 0x3904, 0x154c,
1246
 0x0828, 0x1e18, 0x2a3c, 0x3804, 0x144c,
1247
 0x0728, 0x1f18, 0x2b3c, 0x3704, 0x134c,
1248
 0x0628, 0x2018, 0x2c3c, 0x3604, 0x124c,
1249
 0x062c, 0x2118, 0x2d3c, 0x3608, 0x1250,
1250
 0x072c, 0x2218, 0x2e3c, 0x3708, 0x1350,
1251
 0x082c, 0x2318, 0x2f3c, 0x3808, 0x1450,
1252
 0x092c, 0x231c, 0x2f40, 0x3908, 0x1550,
1253
 0x0a2c, 0x221c, 0x2e40, 0x3a08, 0x1650,
1254
 0x0b2c, 0x211c, 0x2d40, 0x3b08, 0x1750,
1255
 0x0b30, 0x201c, 0x2c40, 0x3b0c, 0x1754,
1256
 0x0a30, 0x1f1c, 0x2b40, 0x3a0c, 0x1654,
1257
 0x0930, 0x1e1c, 0x2a40, 0x390c, 0x1554,
1258
 0x0830, 0x1e20, 0x2a44, 0x380c, 0x1454,
1259
 0x0730, 0x1f20, 0x2b44, 0x370c, 0x1354,
1260
 0x0630, 0x2020, 0x2c44, 0x360c, 0x1254,
1261
 0x0634, 0x2120, 0x2d44, 0x3610, 0x1258,
1262
 0x0734, 0x2220, 0x2e44, 0x3710, 0x1458,
1263
 0x0834, 0x2320, 0x2f44, 0x3810, 0x1658,
1264
};
1265

    
1266
static const uint16_t dv_audio_shuffle525[10][9] = {
1267
  {  0, 30, 60, 20, 50, 80, 10, 40, 70 }, /* 1st channel */
1268
  {  6, 36, 66, 26, 56, 86, 16, 46, 76 },
1269
  { 12, 42, 72,  2, 32, 62, 22, 52, 82 },
1270
  { 18, 48, 78,  8, 38, 68, 28, 58, 88 },
1271
  { 24, 54, 84, 14, 44, 74,  4, 34, 64 },
1272
  
1273
  {  1, 31, 61, 21, 51, 81, 11, 41, 71 }, /* 2nd channel */
1274
  {  7, 37, 67, 27, 57, 87, 17, 47, 77 },
1275
  { 13, 43, 73,  3, 33, 63, 23, 53, 83 },
1276
  { 19, 49, 79,  9, 39, 69, 29, 59, 89 },
1277
  { 25, 55, 85, 15, 45, 75,  5, 35, 65 },
1278
};
1279

    
1280
static const uint16_t dv_audio_shuffle625[12][9] = {
1281
  {   0,  36,  72,  26,  62,  98,  16,  52,  88}, /* 1st channel */
1282
  {   6,  42,  78,  32,  68, 104,  22,  58,  94},
1283
  {  12,  48,  84,   2,  38,  74,  28,  64, 100},
1284
  {  18,  54,  90,   8,  44,  80,  34,  70, 106},
1285
  {  24,  60,  96,  14,  50,  86,   4,  40,  76},  
1286
  {  30,  66, 102,  20,  56,  92,  10,  46,  82},
1287
        
1288
  {   1,  37,  73,  27,  63,  99,  17,  53,  89}, /* 2nd channel */
1289
  {   7,  43,  79,  33,  69, 105,  23,  59,  95},
1290
  {  13,  49,  85,   3,  39,  75,  29,  65, 101},
1291
  {  19,  55,  91,   9,  45,  81,  35,  71, 107},
1292
  {  25,  61,  97,  15,  51,  87,   5,  41,  77},  
1293
  {  31,  67, 103,  21,  57,  93,  11,  47,  83},
1294
};
1295

    
1296
static const int dv_audio_frequency[3] = {
1297
    48000, 44100, 32000,
1298
};
1299
    
1300
static const DVprofile dv_profiles[] = {
1301
    { .dsf = 0,
1302
      .frame_size = 120000,        /* IEC 61834, SMPTE-314M - 525/60 (NTSC) */
1303
      .difseg_size = 10,
1304
      .frame_rate = 30000,
1305
      .ltc_divisor = 30,
1306
      .frame_rate_base = 1001,
1307
      .height = 480,
1308
      .width = 720,
1309
      .video_place = dv_place_411,
1310
      .pix_fmt = PIX_FMT_YUV411P,
1311
      .audio_stride = 90,
1312
      .audio_min_samples = { 1580, 1452, 1053 }, /* for 48, 44.1 and 32Khz */
1313
      .audio_samples_dist = { 1602, 1601, 1602, 1601, 1602 },
1314
      .audio_shuffle = dv_audio_shuffle525,
1315
    }, 
1316
    { .dsf = 1,
1317
      .frame_size = 144000,        /* IEC 61834 - 625/50 (PAL) */
1318
      .difseg_size = 12,
1319
      .frame_rate = 25,
1320
      .frame_rate_base = 1,
1321
      .ltc_divisor = 25,
1322
      .height = 576,
1323
      .width = 720,
1324
      .video_place = dv_place_420,
1325
      .pix_fmt = PIX_FMT_YUV420P,
1326
      .audio_stride = 108,
1327
      .audio_min_samples = { 1896, 1742, 1264 }, /* for 48, 44.1 and 32Khz */
1328
      .audio_samples_dist = { 1920, 1920, 1920, 1920, 1920 },
1329
      .audio_shuffle = dv_audio_shuffle625,
1330
    },
1331
    { .dsf = 1,
1332
      .frame_size = 144000,        /* SMPTE-314M - 625/50 (PAL) */
1333
      .difseg_size = 12,
1334
      .frame_rate = 25,
1335
      .frame_rate_base = 1,
1336
      .ltc_divisor = 25,
1337
      .height = 576,
1338
      .width = 720,
1339
      .video_place = dv_place_411P,
1340
      .pix_fmt = PIX_FMT_YUV411P,
1341
      .audio_stride = 108,
1342
      .audio_min_samples = { 1896, 1742, 1264 }, /* for 48, 44.1 and 32Khz */
1343
      .audio_samples_dist = { 1920, 1920, 1920, 1920, 1920 },
1344
      .audio_shuffle = dv_audio_shuffle625,
1345
     }
1346
};
1347

    
1348
static inline const DVprofile* dv_frame_profile(uint8_t* frame)
1349
{
1350
    if ((frame[3] & 0x80) == 0) {      /* DSF flag */
1351
        return &dv_profiles[0];
1352
    }
1353
    else if ((frame[5] & 0x07) == 0) { /* APT flag */
1354
        return &dv_profiles[1];
1355
    }
1356
    else 
1357
        return &dv_profiles[2];
1358
}
1359

    
1360
static inline const DVprofile* dv_codec_profile(AVCodecContext* codec)
1361
{
1362
    if (codec->width != 720) {
1363
        return NULL;
1364
    } 
1365
    else if (codec->height == 480) {
1366
        return &dv_profiles[0];
1367
    } 
1368
    else 
1369
        return &dv_profiles[1];
1370
}