Blame jbig2_hufftab.h

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