0,0 → 1,335 |
/* |
jbig2dec |
|
Copyright (C) 2001-2005 Artifex Software, Inc. |
|
This software is distributed under license and may not |
be copied, modified or distributed except as expressly |
authorized under the terms of the license contained in |
the file LICENSE in this distribution. |
|
For further licensing information refer to http://artifex.com/ or |
contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, |
San Rafael, CA 94903, U.S.A., +1(415)492-9861. |
*/ |
|
/* predefined Huffman table definitions |
-- See Annex B of the JBIG2 specification */ |
|
#ifndef JBIG2_HUFFTAB_H |
#define JBIG2_HUFFTAB_H |
|
/* types are in jbig2_huffman.h, you must include that first */ |
|
|
/* Table B.1 */ |
const Jbig2HuffmanLine |
jbig2_huffman_lines_A[] = { |
{ 1, 4, 0 }, |
{ 2, 8, 16 }, |
{ 3, 16, 272 }, |
{ 0, 32, -1 }, /* low */ |
{ 3, 32, 65808 } /* high */ |
}; |
|
const Jbig2HuffmanParams |
jbig2_huffman_params_A = { FALSE, 5, jbig2_huffman_lines_A }; |
|
/* Table B.2 */ |
const Jbig2HuffmanLine |
jbig2_huffman_lines_B[] = { |
{ 1, 0, 0 }, |
{ 2, 0, 1 }, |
{ 3, 0, 2 }, |
{ 4, 3, 3 }, |
{ 5, 6, 11 }, |
{ 0, 32, -1 }, /* low */ |
{ 6, 32, 75 }, /* high */ |
{ 6, 0, 0 } |
}; |
|
const Jbig2HuffmanParams |
jbig2_huffman_params_B = { TRUE, 8, jbig2_huffman_lines_B }; |
|
/* Table B.3 */ |
const Jbig2HuffmanLine |
jbig2_huffman_lines_C[] = { |
{ 8, 8, -256 }, |
{ 1, 0, 0 }, |
{ 2, 0, 1 }, |
{ 3, 0, 2 }, |
{ 4, 3, 3 }, |
{ 5, 6, 11 }, |
{ 8, 32, -257 }, /* low */ |
{ 7, 32, 75 }, /* high */ |
{ 6, 0, 0 } /* OOB */ |
}; |
|
const Jbig2HuffmanParams |
jbig2_huffman_params_C = { TRUE, 9, jbig2_huffman_lines_C }; |
|
/* Table B.4 */ |
const Jbig2HuffmanLine |
jbig2_huffman_lines_D[] = { |
{ 1, 0, 1 }, |
{ 2, 0, 2 }, |
{ 3, 0, 3 }, |
{ 4, 3, 4 }, |
{ 5, 6, 12 }, |
{ 0, 32, -1 }, /* low */ |
{ 5, 32, 76 }, /* high */ |
}; |
|
const Jbig2HuffmanParams |
jbig2_huffman_params_D = { FALSE, 7, jbig2_huffman_lines_D }; |
|
/* Table B.5 */ |
const Jbig2HuffmanLine |
jbig2_huffman_lines_E[] = { |
{7, 8, -255}, |
{1, 0, 1}, |
{2, 0, 2}, |
{3, 0, 3}, |
{4, 3, 4}, |
{5, 6, 12}, |
{7, 32, -256}, /* low */ |
{6, 32, 76} /* high */ |
}; |
|
const Jbig2HuffmanParams |
jbig2_huffman_params_E = { FALSE, 8, jbig2_huffman_lines_E }; |
|
/* Table B.6 */ |
const Jbig2HuffmanLine |
jbig2_huffman_lines_F[] = { |
{5, 10, -2048}, |
{4, 9, -1024}, |
{4, 8, -512}, |
{4, 7, -256}, |
{5, 6, -128}, |
{5, 5, -64}, |
{4, 5, -32}, |
{2, 7, 0}, |
{3, 7, 128}, |
{3, 8, 256}, |
{4, 9, 512}, |
{4, 10, 1024}, |
{6, 32, -2049}, /* low */ |
{6, 32, 2048} /* high */ |
}; |
|
const Jbig2HuffmanParams |
jbig2_huffman_params_F = { FALSE, 14, jbig2_huffman_lines_F }; |
|
/* Table B.7 */ |
const Jbig2HuffmanLine |
jbig2_huffman_lines_G[] = { |
{4, 9, -1024}, |
{3, 8, -512}, |
{4, 7, -256}, |
{5, 6, -128}, |
{5, 5, -64}, |
{4, 5, -32}, |
{4, 5, 0}, |
{5, 5, 32}, |
{5, 6, 64}, |
{4, 7, 128}, |
{3, 8, 256}, |
{3, 9, 512}, |
{3, 10, 1024}, |
{5, 32, -1025}, /* low */ |
{5, 32, 2048} /* high */ |
}; |
|
const Jbig2HuffmanParams |
jbig2_huffman_params_G = { FALSE, 15, jbig2_huffman_lines_G }; |
|
/* Table B.8 */ |
const Jbig2HuffmanLine |
jbig2_huffman_lines_H[] = { |
{8, 3, -15}, |
{9, 1, -7}, |
{8, 1, -5}, |
{9, 0, -3}, |
{7, 0, -2}, |
{4, 0, -1}, |
{2, 1, 0}, |
{5, 0, 2}, |
{6, 0, 3}, |
{3, 4, 4}, |
{6, 1, 20}, |
{4, 4, 22}, |
{4, 5, 38}, |
{5, 6, 70}, |
{5, 7, 134}, |
{6, 7, 262}, |
{7, 8, 390}, |
{6, 10, 646}, |
{9, 32, -16}, /* low */ |
{9, 32, 1670}, /* high */ |
{2, 0, 0} /* OOB */ |
}; |
|
const Jbig2HuffmanParams |
jbig2_huffman_params_H = { TRUE, 21, jbig2_huffman_lines_H }; |
|
/* Table B.9 */ |
const Jbig2HuffmanLine |
jbig2_huffman_lines_I[] = { |
{8, 4, -31}, |
{9, 2, -15}, |
{8, 2, -11}, |
{9, 1, -7}, |
{7, 1, -5}, |
{4, 1, -3}, |
{3, 1, -1}, |
{3, 1, 1}, |
{5, 1, 3}, |
{6, 1, 5}, |
{3, 5, 7}, |
{6, 2, 39}, |
{4, 5, 43}, |
{4, 6, 75}, |
{5, 7, 139}, |
{5, 8, 267}, |
{6, 8, 523}, |
{7, 9, 779}, |
{6, 11, 1291}, |
{9, 32, -32}, /* low */ |
{9, 32, 3339}, /* high */ |
{2, 0, 0} /* OOB */ |
}; |
|
const Jbig2HuffmanParams |
jbig2_huffman_params_I = { TRUE, 22, jbig2_huffman_lines_I }; |
|
/* Table B.10 */ |
const Jbig2HuffmanLine |
jbig2_huffman_lines_J[] = { |
{7, 4, -21}, |
{8, 0, -5}, |
{7, 0, -4}, |
{5, 0, -3}, |
{2, 2, -2}, |
{5, 0, 2}, |
{6, 0, 3}, |
{7, 0, 4}, |
{8, 0, 5}, |
{2, 6, 6}, |
{5, 5, 70}, |
{6, 5, 102}, |
{6, 6, 134}, |
{6, 7, 198}, |
{6, 8, 326}, |
{6, 9, 582}, |
{6, 10, 1094}, |
{7, 11, 2118}, |
{8, 32, -22}, /* low */ |
{8, 32, 4166}, /* high */ |
{2, 0, 0} /* OOB */ |
}; |
|
const Jbig2HuffmanParams |
jbig2_huffman_params_J = { TRUE, 21, jbig2_huffman_lines_J }; |
|
/* Table B.11 */ |
const Jbig2HuffmanLine |
jbig2_huffman_lines_K[] = { |
{1, 0, 1}, |
{2, 1, 2}, |
{4, 0, 3}, |
{4, 1, 5}, |
{5, 1, 7}, |
{5, 2, 9}, |
{6, 2, 13}, |
{7, 2, 17}, |
{7, 3, 21}, |
{7, 4, 29}, |
{7, 5, 45}, |
{7, 6, 77}, |
{7, 32, 141} /* high */ |
}; |
|
const Jbig2HuffmanParams |
jbig2_huffman_params_K = { FALSE, 13, jbig2_huffman_lines_K }; |
|
/* Table B.12 */ |
const Jbig2HuffmanLine |
jbig2_huffman_lines_L[] = { |
{1, 0, 1}, |
{2, 0, 2}, |
{3, 1, 3}, |
{5, 0, 5}, |
{5, 1, 6}, |
{6, 1, 8}, |
{7, 0, 10}, |
{7, 1, 11}, |
{7, 2, 13}, |
{7, 3, 17}, |
{7, 4, 25}, |
{8, 5, 41}, |
{8, 32, 73} |
}; |
|
const Jbig2HuffmanParams |
jbig2_huffman_params_L = { FALSE, 13, jbig2_huffman_lines_L }; |
|
|
/* Table B.13 */ |
const Jbig2HuffmanLine |
jbig2_huffman_lines_M[] = { |
{1, 0, 1}, |
{3, 0, 2}, |
{4, 0, 3}, |
{5, 0, 4}, |
{4, 1, 5}, |
{3, 3, 7}, |
{6, 1, 15}, |
{6, 2, 17}, |
{6, 3, 21}, |
{6, 4, 29}, |
{6, 5, 45}, |
{7, 6, 77}, |
{7, 32, 141} /* high */ |
}; |
|
const Jbig2HuffmanParams |
jbig2_huffman_params_M = { FALSE, 13, jbig2_huffman_lines_M }; |
|
/* Table B.14 */ |
const Jbig2HuffmanLine |
jbig2_huffman_lines_N[] = { |
{ 3, 0, -2 }, |
{ 3, 0, -1 }, |
{ 1, 0, 0 }, |
{ 3, 3, 1 }, |
{ 3, 6, 2 }, |
{ 0, 32, -1 }, /* low */ |
{ 0, 32, 3 }, /* high */ |
}; |
|
const Jbig2HuffmanParams |
jbig2_huffman_params_N = { FALSE, 7, jbig2_huffman_lines_N }; |
|
/* Table B.15 */ |
const Jbig2HuffmanLine |
jbig2_huffman_lines_O[] = { |
{7, 4, -24}, |
{6, 2, -8}, |
{5, 1, -4}, |
{4, 0, -2}, |
{3, 0, -1}, |
{1, 0, 0}, |
{3, 0, 1}, |
{4, 0, 2}, |
{5, 1, 3}, |
{6, 2, 5}, |
{7, 4, 9}, |
{7, 32, -25}, /* low */ |
{7, 32, 25} /* high */ |
}; |
|
const Jbig2HuffmanParams |
jbig2_huffman_params_O = { FALSE, 13, jbig2_huffman_lines_O }; |
|
#endif /* JBIG2_HUFFTAB_H */ |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |