Initial commit.
[pdfium.git] / core / src / fxcodec / jbig2 / JBig2_HuffmanTable_Standard.h
1 // Copyright 2014 PDFium Authors. All rights reserved.\r
2 // Use of this source code is governed by a BSD-style license that can be\r
3 // found in the LICENSE file.\r
4  \r
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com\r
6 \r
7 #ifndef _JBIG2_HUFFMAN_TABLE_STANDARD_H_\r
8 #define _JBIG2_HUFFMAN_TABLE_STANDARD_H_\r
9 typedef struct {\r
10     int PREFLEN;\r
11     int RANDELEN;\r
12     int RANGELOW;\r
13 } JBig2TableLine;\r
14 const FX_BOOL HuffmanTable_HTOOB_B1 = FALSE;\r
15 const JBig2TableLine HuffmanTable_B1[] = {\r
16     { 1,        4,              0 },\r
17     { 2,        8,         16 },\r
18     { 3,   16,    272 },\r
19     { 0,   32,     -1 },\r
20     { 3,   32,  65808 }\r
21 };\r
22 const FX_BOOL HuffmanTable_HTOOB_B2 = TRUE;\r
23 const JBig2TableLine HuffmanTable_B2[] = {\r
24     { 1,        0,              0 },\r
25     { 2,        0,              1 },\r
26     { 3,        0,              2 },\r
27     { 4,        3,              3 },\r
28     { 5,        6,         11 },\r
29     { 0,   32,     -1 },\r
30     { 6,   32,     75 },\r
31     { 6,        0,      0 }\r
32 };\r
33 const FX_BOOL HuffmanTable_HTOOB_B3 = TRUE;\r
34 const JBig2TableLine HuffmanTable_B3[] = {\r
35     { 8,        8,   -256 },\r
36     { 1,        0,              0 },\r
37     { 2,        0,              1 },\r
38     { 3,        0,              2 },\r
39     { 4,        3,              3 },\r
40     { 5,        6,         11 },\r
41     { 8,   32,   -257 },\r
42     { 7,   32,     75 },\r
43     { 6,        0,              0 }\r
44 };\r
45 const FX_BOOL HuffmanTable_HTOOB_B4 = FALSE;\r
46 const JBig2TableLine HuffmanTable_B4[] = {\r
47     { 1,        0,              1 },\r
48     { 2,        0,              2 },\r
49     { 3,        0,              3 },\r
50     { 4,        3,              4 },\r
51     { 5,        6,         12 },\r
52     { 0,   32,     -1 },\r
53     { 5,   32,     76 },\r
54 };\r
55 const FX_BOOL HuffmanTable_HTOOB_B5 = FALSE;\r
56 const JBig2TableLine HuffmanTable_B5[] = {\r
57     { 7,        8,       -255 },\r
58     { 1,        0,          1 },\r
59     { 2,        0,          2 },\r
60     { 3,    0,      3 },\r
61     { 4,        3,          4 },\r
62     { 5,        6,         12 },\r
63     { 7,   32,   -256 },\r
64     { 6,   32,     76 }\r
65 };\r
66 const FX_BOOL HuffmanTable_HTOOB_B6 = FALSE;\r
67 const JBig2TableLine HuffmanTable_B6[] = {\r
68     { 5,   10,  -2048 },\r
69     { 4,    9,  -1024 },\r
70     { 4,        8,       -512 },\r
71     { 4,        7,       -256 },\r
72     { 5,        6,       -128 },\r
73     { 5,        5,        -64 },\r
74     { 4,        5,        -32 },\r
75     { 2,        7,              0 },\r
76     { 3,        7,        128 },\r
77     { 3,        8,        256 },\r
78     { 4,        9,        512 },\r
79     { 4,   10,   1024 },\r
80     { 6,   32,  -2049 },\r
81     { 6,   32,   2048 }\r
82 };\r
83 const FX_BOOL HuffmanTable_HTOOB_B7 = FALSE;\r
84 const JBig2TableLine HuffmanTable_B7[] = {\r
85     { 4,        9,      -1024 },\r
86     { 3,        8,       -512 },\r
87     { 4,        7,       -256 },\r
88     { 5,        6,       -128 },\r
89     { 5,        5,        -64 },\r
90     { 4,        5,        -32 },\r
91     { 4,        5,              0 },\r
92     { 5,        5,         32 },\r
93     { 5,        6,         64 },\r
94     { 4,        7,        128 },\r
95     { 3,        8,        256 },\r
96     { 3,        9,        512 },\r
97     { 3,   10,   1024 },\r
98     { 5,   32,  -1025 },\r
99     { 5,   32,   2048 },\r
100 };\r
101 const FX_BOOL HuffmanTable_HTOOB_B8 = TRUE;\r
102 const JBig2TableLine HuffmanTable_B8[] = {\r
103     { 8,        3,        -15 },\r
104     { 9,        1,         -7 },\r
105     { 8,        1,         -5 },\r
106     { 9,        0,         -3 },\r
107     { 7,        0,         -2 },\r
108     { 4,        0,         -1 },\r
109     { 2,        1,              0 },\r
110     { 5,        0,              2 },\r
111     { 6,        0,              3 },\r
112     { 3,        4,              4 },\r
113     { 6,        1,         20 },\r
114     { 4,        4,         22 },\r
115     { 4,        5,         38 },\r
116     { 5,        6,         70 },\r
117     { 5,        7,        134 },\r
118     { 6,        7,        262 },\r
119     { 7,        8,        390 },\r
120     { 6,   10,    646 },\r
121     { 9,   32,    -16 },\r
122     { 9,   32,   1670 },\r
123     { 2,        0,              0 }\r
124 };\r
125 const FX_BOOL HuffmanTable_HTOOB_B9 = TRUE;\r
126 const JBig2TableLine HuffmanTable_B9[] = {\r
127     { 8,        4,        -31 },\r
128     { 9,        2,        -15 },\r
129     { 8,        2,        -11 },\r
130     { 9,        1,         -7 },\r
131     { 7,        1,         -5 },\r
132     { 4,        1,         -3 },\r
133     { 3,        1,         -1 },\r
134     { 3,        1,              1 },\r
135     { 5,        1,              3 },\r
136     { 6,        1,              5 },\r
137     { 3,        5,              7 },\r
138     { 6,        2,         39 },\r
139     { 4,        5,         43 },\r
140     { 4,        6,         75 },\r
141     { 5,        7,        139 },\r
142     { 5,        8,        267 },\r
143     { 6,        8,        523 },\r
144     { 7,        9,        779 },\r
145     { 6,   11,   1291 },\r
146     { 9,   32,    -32 },\r
147     { 9,   32,   3339 },\r
148     { 2,        0,              0 }\r
149 };\r
150 const FX_BOOL HuffmanTable_HTOOB_B10 = TRUE;\r
151 const JBig2TableLine HuffmanTable_B10[] = {\r
152     { 7,        4,        -21 },\r
153     { 8,        0,         -5 },\r
154     { 7,        0,         -4 },\r
155     { 5,        0,         -3 },\r
156     { 2,        2,         -2 },\r
157     { 5,        0,              2 },\r
158     { 6,        0,              3 },\r
159     { 7,        0,              4 },\r
160     { 8,        0,              5 },\r
161     { 2,        6,              6 },\r
162     { 5,        5,         70 },\r
163     { 6,        5,        102 },\r
164     { 6,        6,        134 },\r
165     { 6,        7,        198 },\r
166     { 6,        8,        326 },\r
167     { 6,        9,        582 },\r
168     { 6,   10,   1094 },\r
169     { 7,   11,   2118 },\r
170     { 8,   32,    -22 },\r
171     { 8,   32,   4166 },\r
172     { 2,        0,              0 }\r
173 };\r
174 const FX_BOOL HuffmanTable_HTOOB_B11 = FALSE;\r
175 const JBig2TableLine HuffmanTable_B11[] = {\r
176     { 1,        0,              1 },\r
177     { 2,        1,              2 },\r
178     { 4,        0,              4 },\r
179     { 4,        1,              5 },\r
180     { 5,        1,              7 },\r
181     { 5,        2,              9 },\r
182     { 6,        2,         13 },\r
183     { 7,        2,         17 },\r
184     { 7,        3,         21 },\r
185     { 7,        4,         29 },\r
186     { 7,        5,         45 },\r
187     { 7,        6,         77 },\r
188     { 0,   32,          0 },\r
189     { 7,   32,    141 }\r
190 };\r
191 const FX_BOOL HuffmanTable_HTOOB_B12 = FALSE;\r
192 const JBig2TableLine HuffmanTable_B12[] = {\r
193     { 1,        0,              1 },\r
194     { 2,        0,              2 },\r
195     { 3,        1,              3 },\r
196     { 5,        0,              5 },\r
197     { 5,        1,              6 },\r
198     { 6,        1,              8 },\r
199     { 7,        0,         10 },\r
200     { 7,        1,         11 },\r
201     { 7,        2,         13 },\r
202     { 7,        3,         17 },\r
203     { 7,        4,         25 },\r
204     { 8,        5,         41 },\r
205     { 0,   32,          0 },\r
206     { 8,   32,     73 }\r
207 };\r
208 const FX_BOOL HuffmanTable_HTOOB_B13 = FALSE;\r
209 const JBig2TableLine HuffmanTable_B13[] = {\r
210     { 1,        0,              1 },\r
211     { 3,        0,              2 },\r
212     { 4,        0,              3 },\r
213     { 5,        0,              4 },\r
214     { 4,        1,              5 },\r
215     { 3,        3,              7 },\r
216     { 6,        1,         15 },\r
217     { 6,        2,         17 },\r
218     { 6,        3,         21 },\r
219     { 6,        4,         29 },\r
220     { 6,        5,         45 },\r
221     { 7,        6,         77 },\r
222     { 0,   32,          0 },\r
223     { 7,   32,    141 }\r
224 };\r
225 const FX_BOOL HuffmanTable_HTOOB_B14 = FALSE;\r
226 const JBig2TableLine HuffmanTable_B14[] = {\r
227     { 3,        0,         -2 },\r
228     { 3,        0,         -1 },\r
229     { 1,        0,              0 },\r
230     { 3,        0,              1 },\r
231     { 3,        0,              2 },\r
232     { 0,   32,     -3 },\r
233     { 0,   32,          3 }\r
234 };\r
235 const FX_BOOL HuffmanTable_HTOOB_B15 = FALSE;\r
236 const JBig2TableLine HuffmanTable_B15[] = {\r
237     { 7,        4,        -24 },\r
238     { 6,        2,         -8 },\r
239     { 5,        1,         -4 },\r
240     { 4,        0,         -2 },\r
241     { 3,        0,         -1 },\r
242     { 1,        0,              0 },\r
243     { 3,        0,              1 },\r
244     { 4,        0,              2 },\r
245     { 5,        1,              3 },\r
246     { 6,        2,              5 },\r
247     { 7,        4,              9 },\r
248     { 7,   32,    -25 },\r
249     { 7,   32,     25 }\r
250 };\r
251 #endif\r