1 | /* Copyright (C) 2001-2019 Artifex Software, Inc. |
2 | All Rights Reserved. |
3 | |
4 | This software is provided AS-IS with no warranty, either express or |
5 | implied. |
6 | |
7 | This software is distributed under license and may not be copied, |
8 | modified or distributed except as expressly authorized under the terms |
9 | of the license contained in the file LICENSE in this distribution. |
10 | |
11 | Refer to licensing information at http://www.artifex.com or contact |
12 | Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, |
13 | CA 94945, U.S.A., +1(415)492-9861, for further information. |
14 | */ |
15 | |
16 | /* |
17 | jbig2dec |
18 | */ |
19 | |
20 | #ifndef _JBIG2_HALFTONE_H |
21 | #define _JBIG2_HALFTONE_H |
22 | |
23 | typedef struct { |
24 | int n_patterns; |
25 | Jbig2Image **patterns; |
26 | int HPW, HPH; |
27 | } Jbig2PatternDict; |
28 | |
29 | /* Table 24 */ |
30 | typedef struct { |
31 | bool HDMMR; |
32 | uint32_t HDPW; |
33 | uint32_t HDPH; |
34 | uint32_t GRAYMAX; |
35 | int HDTEMPLATE; |
36 | } Jbig2PatternDictParams; |
37 | |
38 | /* Table 33 */ |
39 | typedef struct { |
40 | byte flags; |
41 | uint32_t HGW; |
42 | uint32_t HGH; |
43 | int32_t HGX; |
44 | int32_t HGY; |
45 | uint16_t HRX; |
46 | uint16_t HRY; |
47 | bool HMMR; |
48 | int HTEMPLATE; |
49 | bool HENABLESKIP; |
50 | Jbig2ComposeOp HCOMBOP; |
51 | bool HDEFPIXEL; |
52 | } Jbig2HalftoneRegionParams; |
53 | |
54 | void jbig2_hd_release(Jbig2Ctx *ctx, Jbig2PatternDict *dict); |
55 | |
56 | int jbig2_halftone_region(Jbig2Ctx *ctx, Jbig2Segment *segment, const byte *segment_data); |
57 | int jbig2_pattern_dictionary(Jbig2Ctx *ctx, Jbig2Segment *segment, const byte *segment_data); |
58 | |
59 | #endif /* _JBIG2_HALFTONE_H */ |
60 | |