beta-0.89.2
[luatex.git] / source / libs / poppler / poppler-src / poppler / Stream-CCITT.h
blob7207729a4d170e68dfa0842d449065f175ac4fc5
1 //========================================================================
2 //
3 // Stream-CCITT.h
4 //
5 // Tables for CCITT Fax decoding.
6 //
7 // Copyright 1996-2003 Glyph & Cog, LLC
8 //
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 //========================================================================
25 #ifndef STREAM_CCITT_H
26 #define STREAM_CCITT_H
28 struct CCITTCode {
29 short bits;
30 short n;
33 #define ccittEOL -2
35 //------------------------------------------------------------------------
36 // 2D codes
37 //------------------------------------------------------------------------
39 #define twoDimPass 0
40 #define twoDimHoriz 1
41 #define twoDimVert0 2
42 #define twoDimVertR1 3
43 #define twoDimVertL1 4
44 #define twoDimVertR2 5
45 #define twoDimVertL2 6
46 #define twoDimVertR3 7
47 #define twoDimVertL3 8
49 // 1-7 bit codes
50 static const CCITTCode twoDimTab1[128] = {
51 {-1, -1}, {-1, -1}, // 000000x
52 {7, twoDimVertL3}, // 0000010
53 {7, twoDimVertR3}, // 0000011
54 {6, twoDimVertL2}, {6, twoDimVertL2}, // 000010x
55 {6, twoDimVertR2}, {6, twoDimVertR2}, // 000011x
56 {4, twoDimPass}, {4, twoDimPass}, // 0001xxx
57 {4, twoDimPass}, {4, twoDimPass},
58 {4, twoDimPass}, {4, twoDimPass},
59 {4, twoDimPass}, {4, twoDimPass},
60 {3, twoDimHoriz}, {3, twoDimHoriz}, // 001xxxx
61 {3, twoDimHoriz}, {3, twoDimHoriz},
62 {3, twoDimHoriz}, {3, twoDimHoriz},
63 {3, twoDimHoriz}, {3, twoDimHoriz},
64 {3, twoDimHoriz}, {3, twoDimHoriz},
65 {3, twoDimHoriz}, {3, twoDimHoriz},
66 {3, twoDimHoriz}, {3, twoDimHoriz},
67 {3, twoDimHoriz}, {3, twoDimHoriz},
68 {3, twoDimVertL1}, {3, twoDimVertL1}, // 010xxxx
69 {3, twoDimVertL1}, {3, twoDimVertL1},
70 {3, twoDimVertL1}, {3, twoDimVertL1},
71 {3, twoDimVertL1}, {3, twoDimVertL1},
72 {3, twoDimVertL1}, {3, twoDimVertL1},
73 {3, twoDimVertL1}, {3, twoDimVertL1},
74 {3, twoDimVertL1}, {3, twoDimVertL1},
75 {3, twoDimVertL1}, {3, twoDimVertL1},
76 {3, twoDimVertR1}, {3, twoDimVertR1}, // 011xxxx
77 {3, twoDimVertR1}, {3, twoDimVertR1},
78 {3, twoDimVertR1}, {3, twoDimVertR1},
79 {3, twoDimVertR1}, {3, twoDimVertR1},
80 {3, twoDimVertR1}, {3, twoDimVertR1},
81 {3, twoDimVertR1}, {3, twoDimVertR1},
82 {3, twoDimVertR1}, {3, twoDimVertR1},
83 {3, twoDimVertR1}, {3, twoDimVertR1},
84 {1, twoDimVert0}, {1, twoDimVert0}, // 1xxxxxx
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},
113 {1, twoDimVert0}, {1, twoDimVert0},
114 {1, twoDimVert0}, {1, twoDimVert0},
115 {1, twoDimVert0}, {1, twoDimVert0}
118 //------------------------------------------------------------------------
119 // white run lengths
120 //------------------------------------------------------------------------
122 // 11-12 bit codes (upper 7 bits are 0)
123 static const CCITTCode whiteTab1[32] = {
124 {-1, -1}, // 00000
125 {12, ccittEOL}, // 00001
126 {-1, -1}, {-1, -1}, // 0001x
127 {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 001xx
128 {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 010xx
129 {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 011xx
130 {11, 1792}, {11, 1792}, // 1000x
131 {12, 1984}, // 10010
132 {12, 2048}, // 10011
133 {12, 2112}, // 10100
134 {12, 2176}, // 10101
135 {12, 2240}, // 10110
136 {12, 2304}, // 10111
137 {11, 1856}, {11, 1856}, // 1100x
138 {11, 1920}, {11, 1920}, // 1101x
139 {12, 2368}, // 11100
140 {12, 2432}, // 11101
141 {12, 2496}, // 11110
142 {12, 2560} // 11111
145 // 1-9 bit codes
146 static const CCITTCode whiteTab2[512] = {
147 {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 0000000xx
148 {8, 29}, {8, 29}, // 00000010x
149 {8, 30}, {8, 30}, // 00000011x
150 {8, 45}, {8, 45}, // 00000100x
151 {8, 46}, {8, 46}, // 00000101x
152 {7, 22}, {7, 22}, {7, 22}, {7, 22}, // 0000011xx
153 {7, 23}, {7, 23}, {7, 23}, {7, 23}, // 0000100xx
154 {8, 47}, {8, 47}, // 00001010x
155 {8, 48}, {8, 48}, // 00001011x
156 {6, 13}, {6, 13}, {6, 13}, {6, 13}, // 000011xxx
157 {6, 13}, {6, 13}, {6, 13}, {6, 13},
158 {7, 20}, {7, 20}, {7, 20}, {7, 20}, // 0001000xx
159 {8, 33}, {8, 33}, // 00010010x
160 {8, 34}, {8, 34}, // 00010011x
161 {8, 35}, {8, 35}, // 00010100x
162 {8, 36}, {8, 36}, // 00010101x
163 {8, 37}, {8, 37}, // 00010110x
164 {8, 38}, {8, 38}, // 00010111x
165 {7, 19}, {7, 19}, {7, 19}, {7, 19}, // 0001100xx
166 {8, 31}, {8, 31}, // 00011010x
167 {8, 32}, {8, 32}, // 00011011x
168 {6, 1}, {6, 1}, {6, 1}, {6, 1}, // 000111xxx
169 {6, 1}, {6, 1}, {6, 1}, {6, 1},
170 {6, 12}, {6, 12}, {6, 12}, {6, 12}, // 001000xxx
171 {6, 12}, {6, 12}, {6, 12}, {6, 12},
172 {8, 53}, {8, 53}, // 00100100x
173 {8, 54}, {8, 54}, // 00100101x
174 {7, 26}, {7, 26}, {7, 26}, {7, 26}, // 0010011xx
175 {8, 39}, {8, 39}, // 00101000x
176 {8, 40}, {8, 40}, // 00101001x
177 {8, 41}, {8, 41}, // 00101010x
178 {8, 42}, {8, 42}, // 00101011x
179 {8, 43}, {8, 43}, // 00101100x
180 {8, 44}, {8, 44}, // 00101101x
181 {7, 21}, {7, 21}, {7, 21}, {7, 21}, // 0010111xx
182 {7, 28}, {7, 28}, {7, 28}, {7, 28}, // 0011000xx
183 {8, 61}, {8, 61}, // 00110010x
184 {8, 62}, {8, 62}, // 00110011x
185 {8, 63}, {8, 63}, // 00110100x
186 {8, 0}, {8, 0}, // 00110101x
187 {8, 320}, {8, 320}, // 00110110x
188 {8, 384}, {8, 384}, // 00110111x
189 {5, 10}, {5, 10}, {5, 10}, {5, 10}, // 00111xxxx
190 {5, 10}, {5, 10}, {5, 10}, {5, 10},
191 {5, 10}, {5, 10}, {5, 10}, {5, 10},
192 {5, 10}, {5, 10}, {5, 10}, {5, 10},
193 {5, 11}, {5, 11}, {5, 11}, {5, 11}, // 01000xxxx
194 {5, 11}, {5, 11}, {5, 11}, {5, 11},
195 {5, 11}, {5, 11}, {5, 11}, {5, 11},
196 {5, 11}, {5, 11}, {5, 11}, {5, 11},
197 {7, 27}, {7, 27}, {7, 27}, {7, 27}, // 0100100xx
198 {8, 59}, {8, 59}, // 01001010x
199 {8, 60}, {8, 60}, // 01001011x
200 {9, 1472}, // 010011000
201 {9, 1536}, // 010011001
202 {9, 1600}, // 010011010
203 {9, 1728}, // 010011011
204 {7, 18}, {7, 18}, {7, 18}, {7, 18}, // 0100111xx
205 {7, 24}, {7, 24}, {7, 24}, {7, 24}, // 0101000xx
206 {8, 49}, {8, 49}, // 01010010x
207 {8, 50}, {8, 50}, // 01010011x
208 {8, 51}, {8, 51}, // 01010100x
209 {8, 52}, {8, 52}, // 01010101x
210 {7, 25}, {7, 25}, {7, 25}, {7, 25}, // 0101011xx
211 {8, 55}, {8, 55}, // 01011000x
212 {8, 56}, {8, 56}, // 01011001x
213 {8, 57}, {8, 57}, // 01011010x
214 {8, 58}, {8, 58}, // 01011011x
215 {6, 192}, {6, 192}, {6, 192}, {6, 192}, // 010111xxx
216 {6, 192}, {6, 192}, {6, 192}, {6, 192},
217 {6, 1664}, {6, 1664}, {6, 1664}, {6, 1664}, // 011000xxx
218 {6, 1664}, {6, 1664}, {6, 1664}, {6, 1664},
219 {8, 448}, {8, 448}, // 01100100x
220 {8, 512}, {8, 512}, // 01100101x
221 {9, 704}, // 011001100
222 {9, 768}, // 011001101
223 {8, 640}, {8, 640}, // 01100111x
224 {8, 576}, {8, 576}, // 01101000x
225 {9, 832}, // 011010010
226 {9, 896}, // 011010011
227 {9, 960}, // 011010100
228 {9, 1024}, // 011010101
229 {9, 1088}, // 011010110
230 {9, 1152}, // 011010111
231 {9, 1216}, // 011011000
232 {9, 1280}, // 011011001
233 {9, 1344}, // 011011010
234 {9, 1408}, // 011011011
235 {7, 256}, {7, 256}, {7, 256}, {7, 256}, // 0110111xx
236 {4, 2}, {4, 2}, {4, 2}, {4, 2}, // 0111xxxxx
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, 2}, {4, 2}, {4, 2}, {4, 2},
242 {4, 2}, {4, 2}, {4, 2}, {4, 2},
243 {4, 2}, {4, 2}, {4, 2}, {4, 2},
244 {4, 3}, {4, 3}, {4, 3}, {4, 3}, // 1000xxxxx
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 {4, 3}, {4, 3}, {4, 3}, {4, 3},
250 {4, 3}, {4, 3}, {4, 3}, {4, 3},
251 {4, 3}, {4, 3}, {4, 3}, {4, 3},
252 {5, 128}, {5, 128}, {5, 128}, {5, 128}, // 10010xxxx
253 {5, 128}, {5, 128}, {5, 128}, {5, 128},
254 {5, 128}, {5, 128}, {5, 128}, {5, 128},
255 {5, 128}, {5, 128}, {5, 128}, {5, 128},
256 {5, 8}, {5, 8}, {5, 8}, {5, 8}, // 10011xxxx
257 {5, 8}, {5, 8}, {5, 8}, {5, 8},
258 {5, 8}, {5, 8}, {5, 8}, {5, 8},
259 {5, 8}, {5, 8}, {5, 8}, {5, 8},
260 {5, 9}, {5, 9}, {5, 9}, {5, 9}, // 10100xxxx
261 {5, 9}, {5, 9}, {5, 9}, {5, 9},
262 {5, 9}, {5, 9}, {5, 9}, {5, 9},
263 {5, 9}, {5, 9}, {5, 9}, {5, 9},
264 {6, 16}, {6, 16}, {6, 16}, {6, 16}, // 101010xxx
265 {6, 16}, {6, 16}, {6, 16}, {6, 16},
266 {6, 17}, {6, 17}, {6, 17}, {6, 17}, // 101011xxx
267 {6, 17}, {6, 17}, {6, 17}, {6, 17},
268 {4, 4}, {4, 4}, {4, 4}, {4, 4}, // 1011xxxxx
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, 4}, {4, 4}, {4, 4}, {4, 4},
274 {4, 4}, {4, 4}, {4, 4}, {4, 4},
275 {4, 4}, {4, 4}, {4, 4}, {4, 4},
276 {4, 5}, {4, 5}, {4, 5}, {4, 5}, // 1100xxxxx
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 {4, 5}, {4, 5}, {4, 5}, {4, 5},
282 {4, 5}, {4, 5}, {4, 5}, {4, 5},
283 {4, 5}, {4, 5}, {4, 5}, {4, 5},
284 {6, 14}, {6, 14}, {6, 14}, {6, 14}, // 110100xxx
285 {6, 14}, {6, 14}, {6, 14}, {6, 14},
286 {6, 15}, {6, 15}, {6, 15}, {6, 15}, // 110101xxx
287 {6, 15}, {6, 15}, {6, 15}, {6, 15},
288 {5, 64}, {5, 64}, {5, 64}, {5, 64}, // 11011xxxx
289 {5, 64}, {5, 64}, {5, 64}, {5, 64},
290 {5, 64}, {5, 64}, {5, 64}, {5, 64},
291 {5, 64}, {5, 64}, {5, 64}, {5, 64},
292 {4, 6}, {4, 6}, {4, 6}, {4, 6}, // 1110xxxxx
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, 6}, {4, 6}, {4, 6}, {4, 6},
298 {4, 6}, {4, 6}, {4, 6}, {4, 6},
299 {4, 6}, {4, 6}, {4, 6}, {4, 6},
300 {4, 7}, {4, 7}, {4, 7}, {4, 7}, // 1111xxxxx
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},
305 {4, 7}, {4, 7}, {4, 7}, {4, 7},
306 {4, 7}, {4, 7}, {4, 7}, {4, 7},
307 {4, 7}, {4, 7}, {4, 7}, {4, 7}
310 //------------------------------------------------------------------------
311 // black run lengths
312 //------------------------------------------------------------------------
314 // 10-13 bit codes (upper 6 bits are 0)
315 static const CCITTCode blackTab1[128] = {
316 {-1, -1}, {-1, -1}, // 000000000000x
317 {12, ccittEOL}, {12, ccittEOL}, // 000000000001x
318 {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 00000000001xx
319 {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 00000000010xx
320 {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 00000000011xx
321 {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 00000000100xx
322 {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 00000000101xx
323 {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 00000000110xx
324 {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 00000000111xx
325 {11, 1792}, {11, 1792}, {11, 1792}, {11, 1792}, // 00000001000xx
326 {12, 1984}, {12, 1984}, // 000000010010x
327 {12, 2048}, {12, 2048}, // 000000010011x
328 {12, 2112}, {12, 2112}, // 000000010100x
329 {12, 2176}, {12, 2176}, // 000000010101x
330 {12, 2240}, {12, 2240}, // 000000010110x
331 {12, 2304}, {12, 2304}, // 000000010111x
332 {11, 1856}, {11, 1856}, {11, 1856}, {11, 1856}, // 00000001100xx
333 {11, 1920}, {11, 1920}, {11, 1920}, {11, 1920}, // 00000001101xx
334 {12, 2368}, {12, 2368}, // 000000011100x
335 {12, 2432}, {12, 2432}, // 000000011101x
336 {12, 2496}, {12, 2496}, // 000000011110x
337 {12, 2560}, {12, 2560}, // 000000011111x
338 {10, 18}, {10, 18}, {10, 18}, {10, 18}, // 0000001000xxx
339 {10, 18}, {10, 18}, {10, 18}, {10, 18},
340 {12, 52}, {12, 52}, // 000000100100x
341 {13, 640}, // 0000001001010
342 {13, 704}, // 0000001001011
343 {13, 768}, // 0000001001100
344 {13, 832}, // 0000001001101
345 {12, 55}, {12, 55}, // 000000100111x
346 {12, 56}, {12, 56}, // 000000101000x
347 {13, 1280}, // 0000001010010
348 {13, 1344}, // 0000001010011
349 {13, 1408}, // 0000001010100
350 {13, 1472}, // 0000001010101
351 {12, 59}, {12, 59}, // 000000101011x
352 {12, 60}, {12, 60}, // 000000101100x
353 {13, 1536}, // 0000001011010
354 {13, 1600}, // 0000001011011
355 {11, 24}, {11, 24}, {11, 24}, {11, 24}, // 00000010111xx
356 {11, 25}, {11, 25}, {11, 25}, {11, 25}, // 00000011000xx
357 {13, 1664}, // 0000001100100
358 {13, 1728}, // 0000001100101
359 {12, 320}, {12, 320}, // 000000110011x
360 {12, 384}, {12, 384}, // 000000110100x
361 {12, 448}, {12, 448}, // 000000110101x
362 {13, 512}, // 0000001101100
363 {13, 576}, // 0000001101101
364 {12, 53}, {12, 53}, // 000000110111x
365 {12, 54}, {12, 54}, // 000000111000x
366 {13, 896}, // 0000001110010
367 {13, 960}, // 0000001110011
368 {13, 1024}, // 0000001110100
369 {13, 1088}, // 0000001110101
370 {13, 1152}, // 0000001110110
371 {13, 1216}, // 0000001110111
372 {10, 64}, {10, 64}, {10, 64}, {10, 64}, // 0000001111xxx
373 {10, 64}, {10, 64}, {10, 64}, {10, 64}
376 // 7-12 bit codes (upper 4 bits are 0)
377 static const CCITTCode blackTab2[192] = {
378 {8, 13}, {8, 13}, {8, 13}, {8, 13}, // 00000100xxxx
379 {8, 13}, {8, 13}, {8, 13}, {8, 13},
380 {8, 13}, {8, 13}, {8, 13}, {8, 13},
381 {8, 13}, {8, 13}, {8, 13}, {8, 13},
382 {11, 23}, {11, 23}, // 00000101000x
383 {12, 50}, // 000001010010
384 {12, 51}, // 000001010011
385 {12, 44}, // 000001010100
386 {12, 45}, // 000001010101
387 {12, 46}, // 000001010110
388 {12, 47}, // 000001010111
389 {12, 57}, // 000001011000
390 {12, 58}, // 000001011001
391 {12, 61}, // 000001011010
392 {12, 256}, // 000001011011
393 {10, 16}, {10, 16}, {10, 16}, {10, 16}, // 0000010111xx
394 {10, 17}, {10, 17}, {10, 17}, {10, 17}, // 0000011000xx
395 {12, 48}, // 000001100100
396 {12, 49}, // 000001100101
397 {12, 62}, // 000001100110
398 {12, 63}, // 000001100111
399 {12, 30}, // 000001101000
400 {12, 31}, // 000001101001
401 {12, 32}, // 000001101010
402 {12, 33}, // 000001101011
403 {12, 40}, // 000001101100
404 {12, 41}, // 000001101101
405 {11, 22}, {11, 22}, // 00000110111x
406 {8, 14}, {8, 14}, {8, 14}, {8, 14}, // 00000111xxxx
407 {8, 14}, {8, 14}, {8, 14}, {8, 14},
408 {8, 14}, {8, 14}, {8, 14}, {8, 14},
409 {8, 14}, {8, 14}, {8, 14}, {8, 14},
410 {7, 10}, {7, 10}, {7, 10}, {7, 10}, // 0000100xxxxx
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, 10}, {7, 10}, {7, 10}, {7, 10},
416 {7, 10}, {7, 10}, {7, 10}, {7, 10},
417 {7, 10}, {7, 10}, {7, 10}, {7, 10},
418 {7, 11}, {7, 11}, {7, 11}, {7, 11}, // 0000101xxxxx
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 {7, 11}, {7, 11}, {7, 11}, {7, 11},
424 {7, 11}, {7, 11}, {7, 11}, {7, 11},
425 {7, 11}, {7, 11}, {7, 11}, {7, 11},
426 {9, 15}, {9, 15}, {9, 15}, {9, 15}, // 000011000xxx
427 {9, 15}, {9, 15}, {9, 15}, {9, 15},
428 {12, 128}, // 000011001000
429 {12, 192}, // 000011001001
430 {12, 26}, // 000011001010
431 {12, 27}, // 000011001011
432 {12, 28}, // 000011001100
433 {12, 29}, // 000011001101
434 {11, 19}, {11, 19}, // 00001100111x
435 {11, 20}, {11, 20}, // 00001101000x
436 {12, 34}, // 000011010010
437 {12, 35}, // 000011010011
438 {12, 36}, // 000011010100
439 {12, 37}, // 000011010101
440 {12, 38}, // 000011010110
441 {12, 39}, // 000011010111
442 {11, 21}, {11, 21}, // 00001101100x
443 {12, 42}, // 000011011010
444 {12, 43}, // 000011011011
445 {10, 0}, {10, 0}, {10, 0}, {10, 0}, // 0000110111xx
446 {7, 12}, {7, 12}, {7, 12}, {7, 12}, // 0000111xxxxx
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},
451 {7, 12}, {7, 12}, {7, 12}, {7, 12},
452 {7, 12}, {7, 12}, {7, 12}, {7, 12},
453 {7, 12}, {7, 12}, {7, 12}, {7, 12}
456 // 2-6 bit codes
457 static const CCITTCode blackTab3[64] = {
458 {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 0000xx
459 {6, 9}, // 000100
460 {6, 8}, // 000101
461 {5, 7}, {5, 7}, // 00011x
462 {4, 6}, {4, 6}, {4, 6}, {4, 6}, // 0010xx
463 {4, 5}, {4, 5}, {4, 5}, {4, 5}, // 0011xx
464 {3, 1}, {3, 1}, {3, 1}, {3, 1}, // 010xxx
465 {3, 1}, {3, 1}, {3, 1}, {3, 1},
466 {3, 4}, {3, 4}, {3, 4}, {3, 4}, // 011xxx
467 {3, 4}, {3, 4}, {3, 4}, {3, 4},
468 {2, 3}, {2, 3}, {2, 3}, {2, 3}, // 10xxxx
469 {2, 3}, {2, 3}, {2, 3}, {2, 3},
470 {2, 3}, {2, 3}, {2, 3}, {2, 3},
471 {2, 3}, {2, 3}, {2, 3}, {2, 3},
472 {2, 2}, {2, 2}, {2, 2}, {2, 2}, // 11xxxx
473 {2, 2}, {2, 2}, {2, 2}, {2, 2},
474 {2, 2}, {2, 2}, {2, 2}, {2, 2},
475 {2, 2}, {2, 2}, {2, 2}, {2, 2}
478 #endif