1
//========================================================================
5
// Tables for CCITT Fax decoding.
7
// Copyright 1996-2003 Glyph & Cog, LLC
9
//========================================================================
11
//========================================================================
13
// Modified under the Poppler project - http://poppler.freedesktop.org
15
// All changes made under the Poppler project to this file are licensed
16
// under GPL version 2 or later
18
// Copyright (C) 2008 Albert Astals Cid <aacid@kde.org>
20
// To see a description of the changes please see the Changelog file that
21
// came with your tarball or type make ChangeLog if you are building from git
23
//========================================================================
32
//------------------------------------------------------------------------
34
//------------------------------------------------------------------------
39
#define twoDimVertR1 3
40
#define twoDimVertL1 4
41
#define twoDimVertR2 5
42
#define twoDimVertL2 6
43
#define twoDimVertR3 7
44
#define twoDimVertL3 8
47
static const CCITTCode twoDimTab1[128] = {
48
{-1, -1}, {-1, -1}, // 000000x
49
{7, twoDimVertL3}, // 0000010
50
{7, twoDimVertR3}, // 0000011
51
{6, twoDimVertL2}, {6, twoDimVertL2}, // 000010x
52
{6, twoDimVertR2}, {6, twoDimVertR2}, // 000011x
53
{4, twoDimPass}, {4, twoDimPass}, // 0001xxx
54
{4, twoDimPass}, {4, twoDimPass},
55
{4, twoDimPass}, {4, twoDimPass},
56
{4, twoDimPass}, {4, twoDimPass},
57
{3, twoDimHoriz}, {3, twoDimHoriz}, // 001xxxx
58
{3, twoDimHoriz}, {3, twoDimHoriz},
59
{3, twoDimHoriz}, {3, twoDimHoriz},
60
{3, twoDimHoriz}, {3, twoDimHoriz},
61
{3, twoDimHoriz}, {3, twoDimHoriz},
62
{3, twoDimHoriz}, {3, twoDimHoriz},
63
{3, twoDimHoriz}, {3, twoDimHoriz},
64
{3, twoDimHoriz}, {3, twoDimHoriz},
65
{3, twoDimVertL1}, {3, twoDimVertL1}, // 010xxxx
66
{3, twoDimVertL1}, {3, twoDimVertL1},
67
{3, twoDimVertL1}, {3, twoDimVertL1},
68
{3, twoDimVertL1}, {3, twoDimVertL1},
69
{3, twoDimVertL1}, {3, twoDimVertL1},
70
{3, twoDimVertL1}, {3, twoDimVertL1},
71
{3, twoDimVertL1}, {3, twoDimVertL1},
72
{3, twoDimVertL1}, {3, twoDimVertL1},
73
{3, twoDimVertR1}, {3, twoDimVertR1}, // 011xxxx
74
{3, twoDimVertR1}, {3, twoDimVertR1},
75
{3, twoDimVertR1}, {3, twoDimVertR1},
76
{3, twoDimVertR1}, {3, twoDimVertR1},
77
{3, twoDimVertR1}, {3, twoDimVertR1},
78
{3, twoDimVertR1}, {3, twoDimVertR1},
79
{3, twoDimVertR1}, {3, twoDimVertR1},
80
{3, twoDimVertR1}, {3, twoDimVertR1},
81
{1, twoDimVert0}, {1, twoDimVert0}, // 1xxxxxx
82
{1, twoDimVert0}, {1, twoDimVert0},
83
{1, twoDimVert0}, {1, twoDimVert0},
84
{1, twoDimVert0}, {1, twoDimVert0},
85
{1, twoDimVert0}, {1, twoDimVert0},
86
{1, twoDimVert0}, {1, twoDimVert0},
87
{1, twoDimVert0}, {1, twoDimVert0},
88
{1, twoDimVert0}, {1, twoDimVert0},
89
{1, twoDimVert0}, {1, twoDimVert0},
90
{1, twoDimVert0}, {1, twoDimVert0},
91
{1, twoDimVert0}, {1, twoDimVert0},
92
{1, twoDimVert0}, {1, twoDimVert0},
93
{1, twoDimVert0}, {1, twoDimVert0},
94
{1, twoDimVert0}, {1, twoDimVert0},
95
{1, twoDimVert0}, {1, twoDimVert0},
96
{1, twoDimVert0}, {1, twoDimVert0},
97
{1, twoDimVert0}, {1, twoDimVert0},
98
{1, twoDimVert0}, {1, twoDimVert0},
99
{1, twoDimVert0}, {1, twoDimVert0},
100
{1, twoDimVert0}, {1, twoDimVert0},
101
{1, twoDimVert0}, {1, twoDimVert0},
102
{1, twoDimVert0}, {1, twoDimVert0},
103
{1, twoDimVert0}, {1, twoDimVert0},
104
{1, twoDimVert0}, {1, twoDimVert0},
105
{1, twoDimVert0}, {1, twoDimVert0},
106
{1, twoDimVert0}, {1, twoDimVert0},
107
{1, twoDimVert0}, {1, twoDimVert0},
108
{1, twoDimVert0}, {1, twoDimVert0},
109
{1, twoDimVert0}, {1, twoDimVert0},
110
{1, twoDimVert0}, {1, twoDimVert0},
111
{1, twoDimVert0}, {1, twoDimVert0},
112
{1, twoDimVert0}, {1, twoDimVert0}
115
//------------------------------------------------------------------------
117
//------------------------------------------------------------------------
119
// 11-12 bit codes (upper 7 bits are 0)
120
static const CCITTCode whiteTab1[32] = {
122
{12, ccittEOL}, // 00001
123
{-1, -1}, {-1, -1}, // 0001x
124
{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 001xx
125
{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 010xx
126
{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 011xx
127
{11, 1792}, {11, 1792}, // 1000x
134
{11, 1856}, {11, 1856}, // 1100x
135
{11, 1920}, {11, 1920}, // 1101x
143
static const CCITTCode whiteTab2[512] = {
144
{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 0000000xx
145
{8, 29}, {8, 29}, // 00000010x
146
{8, 30}, {8, 30}, // 00000011x
147
{8, 45}, {8, 45}, // 00000100x
148
{8, 46}, {8, 46}, // 00000101x
149
{7, 22}, {7, 22}, {7, 22}, {7, 22}, // 0000011xx
150
{7, 23}, {7, 23}, {7, 23}, {7, 23}, // 0000100xx
151
{8, 47}, {8, 47}, // 00001010x
152
{8, 48}, {8, 48}, // 00001011x
153
{6, 13}, {6, 13}, {6, 13}, {6, 13}, // 000011xxx
154
{6, 13}, {6, 13}, {6, 13}, {6, 13},
155
{7, 20}, {7, 20}, {7, 20}, {7, 20}, // 0001000xx
156
{8, 33}, {8, 33}, // 00010010x
157
{8, 34}, {8, 34}, // 00010011x
158
{8, 35}, {8, 35}, // 00010100x
159
{8, 36}, {8, 36}, // 00010101x
160
{8, 37}, {8, 37}, // 00010110x
161
{8, 38}, {8, 38}, // 00010111x
162
{7, 19}, {7, 19}, {7, 19}, {7, 19}, // 0001100xx
163
{8, 31}, {8, 31}, // 00011010x
164
{8, 32}, {8, 32}, // 00011011x
165
{6, 1}, {6, 1}, {6, 1}, {6, 1}, // 000111xxx
166
{6, 1}, {6, 1}, {6, 1}, {6, 1},
167
{6, 12}, {6, 12}, {6, 12}, {6, 12}, // 001000xxx
168
{6, 12}, {6, 12}, {6, 12}, {6, 12},
169
{8, 53}, {8, 53}, // 00100100x
170
{8, 54}, {8, 54}, // 00100101x
171
{7, 26}, {7, 26}, {7, 26}, {7, 26}, // 0010011xx
172
{8, 39}, {8, 39}, // 00101000x
173
{8, 40}, {8, 40}, // 00101001x
174
{8, 41}, {8, 41}, // 00101010x
175
{8, 42}, {8, 42}, // 00101011x
176
{8, 43}, {8, 43}, // 00101100x
177
{8, 44}, {8, 44}, // 00101101x
178
{7, 21}, {7, 21}, {7, 21}, {7, 21}, // 0010111xx
179
{7, 28}, {7, 28}, {7, 28}, {7, 28}, // 0011000xx
180
{8, 61}, {8, 61}, // 00110010x
181
{8, 62}, {8, 62}, // 00110011x
182
{8, 63}, {8, 63}, // 00110100x
183
{8, 0}, {8, 0}, // 00110101x
184
{8, 320}, {8, 320}, // 00110110x
185
{8, 384}, {8, 384}, // 00110111x
186
{5, 10}, {5, 10}, {5, 10}, {5, 10}, // 00111xxxx
187
{5, 10}, {5, 10}, {5, 10}, {5, 10},
188
{5, 10}, {5, 10}, {5, 10}, {5, 10},
189
{5, 10}, {5, 10}, {5, 10}, {5, 10},
190
{5, 11}, {5, 11}, {5, 11}, {5, 11}, // 01000xxxx
191
{5, 11}, {5, 11}, {5, 11}, {5, 11},
192
{5, 11}, {5, 11}, {5, 11}, {5, 11},
193
{5, 11}, {5, 11}, {5, 11}, {5, 11},
194
{7, 27}, {7, 27}, {7, 27}, {7, 27}, // 0100100xx
195
{8, 59}, {8, 59}, // 01001010x
196
{8, 60}, {8, 60}, // 01001011x
197
{9, 1472}, // 010011000
198
{9, 1536}, // 010011001
199
{9, 1600}, // 010011010
200
{9, 1728}, // 010011011
201
{7, 18}, {7, 18}, {7, 18}, {7, 18}, // 0100111xx
202
{7, 24}, {7, 24}, {7, 24}, {7, 24}, // 0101000xx
203
{8, 49}, {8, 49}, // 01010010x
204
{8, 50}, {8, 50}, // 01010011x
205
{8, 51}, {8, 51}, // 01010100x
206
{8, 52}, {8, 52}, // 01010101x
207
{7, 25}, {7, 25}, {7, 25}, {7, 25}, // 0101011xx
208
{8, 55}, {8, 55}, // 01011000x
209
{8, 56}, {8, 56}, // 01011001x
210
{8, 57}, {8, 57}, // 01011010x
211
{8, 58}, {8, 58}, // 01011011x
212
{6, 192}, {6, 192}, {6, 192}, {6, 192}, // 010111xxx
213
{6, 192}, {6, 192}, {6, 192}, {6, 192},
214
{6, 1664}, {6, 1664}, {6, 1664}, {6, 1664}, // 011000xxx
215
{6, 1664}, {6, 1664}, {6, 1664}, {6, 1664},
216
{8, 448}, {8, 448}, // 01100100x
217
{8, 512}, {8, 512}, // 01100101x
218
{9, 704}, // 011001100
219
{9, 768}, // 011001101
220
{8, 640}, {8, 640}, // 01100111x
221
{8, 576}, {8, 576}, // 01101000x
222
{9, 832}, // 011010010
223
{9, 896}, // 011010011
224
{9, 960}, // 011010100
225
{9, 1024}, // 011010101
226
{9, 1088}, // 011010110
227
{9, 1152}, // 011010111
228
{9, 1216}, // 011011000
229
{9, 1280}, // 011011001
230
{9, 1344}, // 011011010
231
{9, 1408}, // 011011011
232
{7, 256}, {7, 256}, {7, 256}, {7, 256}, // 0110111xx
233
{4, 2}, {4, 2}, {4, 2}, {4, 2}, // 0111xxxxx
234
{4, 2}, {4, 2}, {4, 2}, {4, 2},
235
{4, 2}, {4, 2}, {4, 2}, {4, 2},
236
{4, 2}, {4, 2}, {4, 2}, {4, 2},
237
{4, 2}, {4, 2}, {4, 2}, {4, 2},
238
{4, 2}, {4, 2}, {4, 2}, {4, 2},
239
{4, 2}, {4, 2}, {4, 2}, {4, 2},
240
{4, 2}, {4, 2}, {4, 2}, {4, 2},
241
{4, 3}, {4, 3}, {4, 3}, {4, 3}, // 1000xxxxx
242
{4, 3}, {4, 3}, {4, 3}, {4, 3},
243
{4, 3}, {4, 3}, {4, 3}, {4, 3},
244
{4, 3}, {4, 3}, {4, 3}, {4, 3},
245
{4, 3}, {4, 3}, {4, 3}, {4, 3},
246
{4, 3}, {4, 3}, {4, 3}, {4, 3},
247
{4, 3}, {4, 3}, {4, 3}, {4, 3},
248
{4, 3}, {4, 3}, {4, 3}, {4, 3},
249
{5, 128}, {5, 128}, {5, 128}, {5, 128}, // 10010xxxx
250
{5, 128}, {5, 128}, {5, 128}, {5, 128},
251
{5, 128}, {5, 128}, {5, 128}, {5, 128},
252
{5, 128}, {5, 128}, {5, 128}, {5, 128},
253
{5, 8}, {5, 8}, {5, 8}, {5, 8}, // 10011xxxx
254
{5, 8}, {5, 8}, {5, 8}, {5, 8},
255
{5, 8}, {5, 8}, {5, 8}, {5, 8},
256
{5, 8}, {5, 8}, {5, 8}, {5, 8},
257
{5, 9}, {5, 9}, {5, 9}, {5, 9}, // 10100xxxx
258
{5, 9}, {5, 9}, {5, 9}, {5, 9},
259
{5, 9}, {5, 9}, {5, 9}, {5, 9},
260
{5, 9}, {5, 9}, {5, 9}, {5, 9},
261
{6, 16}, {6, 16}, {6, 16}, {6, 16}, // 101010xxx
262
{6, 16}, {6, 16}, {6, 16}, {6, 16},
263
{6, 17}, {6, 17}, {6, 17}, {6, 17}, // 101011xxx
264
{6, 17}, {6, 17}, {6, 17}, {6, 17},
265
{4, 4}, {4, 4}, {4, 4}, {4, 4}, // 1011xxxxx
266
{4, 4}, {4, 4}, {4, 4}, {4, 4},
267
{4, 4}, {4, 4}, {4, 4}, {4, 4},
268
{4, 4}, {4, 4}, {4, 4}, {4, 4},
269
{4, 4}, {4, 4}, {4, 4}, {4, 4},
270
{4, 4}, {4, 4}, {4, 4}, {4, 4},
271
{4, 4}, {4, 4}, {4, 4}, {4, 4},
272
{4, 4}, {4, 4}, {4, 4}, {4, 4},
273
{4, 5}, {4, 5}, {4, 5}, {4, 5}, // 1100xxxxx
274
{4, 5}, {4, 5}, {4, 5}, {4, 5},
275
{4, 5}, {4, 5}, {4, 5}, {4, 5},
276
{4, 5}, {4, 5}, {4, 5}, {4, 5},
277
{4, 5}, {4, 5}, {4, 5}, {4, 5},
278
{4, 5}, {4, 5}, {4, 5}, {4, 5},
279
{4, 5}, {4, 5}, {4, 5}, {4, 5},
280
{4, 5}, {4, 5}, {4, 5}, {4, 5},
281
{6, 14}, {6, 14}, {6, 14}, {6, 14}, // 110100xxx
282
{6, 14}, {6, 14}, {6, 14}, {6, 14},
283
{6, 15}, {6, 15}, {6, 15}, {6, 15}, // 110101xxx
284
{6, 15}, {6, 15}, {6, 15}, {6, 15},
285
{5, 64}, {5, 64}, {5, 64}, {5, 64}, // 11011xxxx
286
{5, 64}, {5, 64}, {5, 64}, {5, 64},
287
{5, 64}, {5, 64}, {5, 64}, {5, 64},
288
{5, 64}, {5, 64}, {5, 64}, {5, 64},
289
{4, 6}, {4, 6}, {4, 6}, {4, 6}, // 1110xxxxx
290
{4, 6}, {4, 6}, {4, 6}, {4, 6},
291
{4, 6}, {4, 6}, {4, 6}, {4, 6},
292
{4, 6}, {4, 6}, {4, 6}, {4, 6},
293
{4, 6}, {4, 6}, {4, 6}, {4, 6},
294
{4, 6}, {4, 6}, {4, 6}, {4, 6},
295
{4, 6}, {4, 6}, {4, 6}, {4, 6},
296
{4, 6}, {4, 6}, {4, 6}, {4, 6},
297
{4, 7}, {4, 7}, {4, 7}, {4, 7}, // 1111xxxxx
298
{4, 7}, {4, 7}, {4, 7}, {4, 7},
299
{4, 7}, {4, 7}, {4, 7}, {4, 7},
300
{4, 7}, {4, 7}, {4, 7}, {4, 7},
301
{4, 7}, {4, 7}, {4, 7}, {4, 7},
302
{4, 7}, {4, 7}, {4, 7}, {4, 7},
303
{4, 7}, {4, 7}, {4, 7}, {4, 7},
304
{4, 7}, {4, 7}, {4, 7}, {4, 7}
307
//------------------------------------------------------------------------
309
//------------------------------------------------------------------------
311
// 10-13 bit codes (upper 6 bits are 0)
312
static const CCITTCode blackTab1[128] = {
313
{-1, -1}, {-1, -1}, // 000000000000x
314
{12, ccittEOL}, {12, ccittEOL}, // 000000000001x
315
{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 00000000001xx
316
{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 00000000010xx
317
{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 00000000011xx
318
{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 00000000100xx
319
{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 00000000101xx
320
{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 00000000110xx
321
{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 00000000111xx
322
{11, 1792}, {11, 1792}, {11, 1792}, {11, 1792}, // 00000001000xx
323
{12, 1984}, {12, 1984}, // 000000010010x
324
{12, 2048}, {12, 2048}, // 000000010011x
325
{12, 2112}, {12, 2112}, // 000000010100x
326
{12, 2176}, {12, 2176}, // 000000010101x
327
{12, 2240}, {12, 2240}, // 000000010110x
328
{12, 2304}, {12, 2304}, // 000000010111x
329
{11, 1856}, {11, 1856}, {11, 1856}, {11, 1856}, // 00000001100xx
330
{11, 1920}, {11, 1920}, {11, 1920}, {11, 1920}, // 00000001101xx
331
{12, 2368}, {12, 2368}, // 000000011100x
332
{12, 2432}, {12, 2432}, // 000000011101x
333
{12, 2496}, {12, 2496}, // 000000011110x
334
{12, 2560}, {12, 2560}, // 000000011111x
335
{10, 18}, {10, 18}, {10, 18}, {10, 18}, // 0000001000xxx
336
{10, 18}, {10, 18}, {10, 18}, {10, 18},
337
{12, 52}, {12, 52}, // 000000100100x
338
{13, 640}, // 0000001001010
339
{13, 704}, // 0000001001011
340
{13, 768}, // 0000001001100
341
{13, 832}, // 0000001001101
342
{12, 55}, {12, 55}, // 000000100111x
343
{12, 56}, {12, 56}, // 000000101000x
344
{13, 1280}, // 0000001010010
345
{13, 1344}, // 0000001010011
346
{13, 1408}, // 0000001010100
347
{13, 1472}, // 0000001010101
348
{12, 59}, {12, 59}, // 000000101011x
349
{12, 60}, {12, 60}, // 000000101100x
350
{13, 1536}, // 0000001011010
351
{13, 1600}, // 0000001011011
352
{11, 24}, {11, 24}, {11, 24}, {11, 24}, // 00000010111xx
353
{11, 25}, {11, 25}, {11, 25}, {11, 25}, // 00000011000xx
354
{13, 1664}, // 0000001100100
355
{13, 1728}, // 0000001100101
356
{12, 320}, {12, 320}, // 000000110011x
357
{12, 384}, {12, 384}, // 000000110100x
358
{12, 448}, {12, 448}, // 000000110101x
359
{13, 512}, // 0000001101100
360
{13, 576}, // 0000001101101
361
{12, 53}, {12, 53}, // 000000110111x
362
{12, 54}, {12, 54}, // 000000111000x
363
{13, 896}, // 0000001110010
364
{13, 960}, // 0000001110011
365
{13, 1024}, // 0000001110100
366
{13, 1088}, // 0000001110101
367
{13, 1152}, // 0000001110110
368
{13, 1216}, // 0000001110111
369
{10, 64}, {10, 64}, {10, 64}, {10, 64}, // 0000001111xxx
370
{10, 64}, {10, 64}, {10, 64}, {10, 64}
373
// 7-12 bit codes (upper 4 bits are 0)
374
static const CCITTCode blackTab2[192] = {
375
{8, 13}, {8, 13}, {8, 13}, {8, 13}, // 00000100xxxx
376
{8, 13}, {8, 13}, {8, 13}, {8, 13},
377
{8, 13}, {8, 13}, {8, 13}, {8, 13},
378
{8, 13}, {8, 13}, {8, 13}, {8, 13},
379
{11, 23}, {11, 23}, // 00000101000x
380
{12, 50}, // 000001010010
381
{12, 51}, // 000001010011
382
{12, 44}, // 000001010100
383
{12, 45}, // 000001010101
384
{12, 46}, // 000001010110
385
{12, 47}, // 000001010111
386
{12, 57}, // 000001011000
387
{12, 58}, // 000001011001
388
{12, 61}, // 000001011010
389
{12, 256}, // 000001011011
390
{10, 16}, {10, 16}, {10, 16}, {10, 16}, // 0000010111xx
391
{10, 17}, {10, 17}, {10, 17}, {10, 17}, // 0000011000xx
392
{12, 48}, // 000001100100
393
{12, 49}, // 000001100101
394
{12, 62}, // 000001100110
395
{12, 63}, // 000001100111
396
{12, 30}, // 000001101000
397
{12, 31}, // 000001101001
398
{12, 32}, // 000001101010
399
{12, 33}, // 000001101011
400
{12, 40}, // 000001101100
401
{12, 41}, // 000001101101
402
{11, 22}, {11, 22}, // 00000110111x
403
{8, 14}, {8, 14}, {8, 14}, {8, 14}, // 00000111xxxx
404
{8, 14}, {8, 14}, {8, 14}, {8, 14},
405
{8, 14}, {8, 14}, {8, 14}, {8, 14},
406
{8, 14}, {8, 14}, {8, 14}, {8, 14},
407
{7, 10}, {7, 10}, {7, 10}, {7, 10}, // 0000100xxxxx
408
{7, 10}, {7, 10}, {7, 10}, {7, 10},
409
{7, 10}, {7, 10}, {7, 10}, {7, 10},
410
{7, 10}, {7, 10}, {7, 10}, {7, 10},
411
{7, 10}, {7, 10}, {7, 10}, {7, 10},
412
{7, 10}, {7, 10}, {7, 10}, {7, 10},
413
{7, 10}, {7, 10}, {7, 10}, {7, 10},
414
{7, 10}, {7, 10}, {7, 10}, {7, 10},
415
{7, 11}, {7, 11}, {7, 11}, {7, 11}, // 0000101xxxxx
416
{7, 11}, {7, 11}, {7, 11}, {7, 11},
417
{7, 11}, {7, 11}, {7, 11}, {7, 11},
418
{7, 11}, {7, 11}, {7, 11}, {7, 11},
419
{7, 11}, {7, 11}, {7, 11}, {7, 11},
420
{7, 11}, {7, 11}, {7, 11}, {7, 11},
421
{7, 11}, {7, 11}, {7, 11}, {7, 11},
422
{7, 11}, {7, 11}, {7, 11}, {7, 11},
423
{9, 15}, {9, 15}, {9, 15}, {9, 15}, // 000011000xxx
424
{9, 15}, {9, 15}, {9, 15}, {9, 15},
425
{12, 128}, // 000011001000
426
{12, 192}, // 000011001001
427
{12, 26}, // 000011001010
428
{12, 27}, // 000011001011
429
{12, 28}, // 000011001100
430
{12, 29}, // 000011001101
431
{11, 19}, {11, 19}, // 00001100111x
432
{11, 20}, {11, 20}, // 00001101000x
433
{12, 34}, // 000011010010
434
{12, 35}, // 000011010011
435
{12, 36}, // 000011010100
436
{12, 37}, // 000011010101
437
{12, 38}, // 000011010110
438
{12, 39}, // 000011010111
439
{11, 21}, {11, 21}, // 00001101100x
440
{12, 42}, // 000011011010
441
{12, 43}, // 000011011011
442
{10, 0}, {10, 0}, {10, 0}, {10, 0}, // 0000110111xx
443
{7, 12}, {7, 12}, {7, 12}, {7, 12}, // 0000111xxxxx
444
{7, 12}, {7, 12}, {7, 12}, {7, 12},
445
{7, 12}, {7, 12}, {7, 12}, {7, 12},
446
{7, 12}, {7, 12}, {7, 12}, {7, 12},
447
{7, 12}, {7, 12}, {7, 12}, {7, 12},
448
{7, 12}, {7, 12}, {7, 12}, {7, 12},
449
{7, 12}, {7, 12}, {7, 12}, {7, 12},
450
{7, 12}, {7, 12}, {7, 12}, {7, 12}
454
static const CCITTCode blackTab3[64] = {
455
{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 0000xx
458
{5, 7}, {5, 7}, // 00011x
459
{4, 6}, {4, 6}, {4, 6}, {4, 6}, // 0010xx
460
{4, 5}, {4, 5}, {4, 5}, {4, 5}, // 0011xx
461
{3, 1}, {3, 1}, {3, 1}, {3, 1}, // 010xxx
462
{3, 1}, {3, 1}, {3, 1}, {3, 1},
463
{3, 4}, {3, 4}, {3, 4}, {3, 4}, // 011xxx
464
{3, 4}, {3, 4}, {3, 4}, {3, 4},
465
{2, 3}, {2, 3}, {2, 3}, {2, 3}, // 10xxxx
466
{2, 3}, {2, 3}, {2, 3}, {2, 3},
467
{2, 3}, {2, 3}, {2, 3}, {2, 3},
468
{2, 3}, {2, 3}, {2, 3}, {2, 3},
469
{2, 2}, {2, 2}, {2, 2}, {2, 2}, // 11xxxx
470
{2, 2}, {2, 2}, {2, 2}, {2, 2},
471
{2, 2}, {2, 2}, {2, 2}, {2, 2},
472
{2, 2}, {2, 2}, {2, 2}, {2, 2}