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_GENERIC_H
21#define _JBIG2_GENERIC_H
22
23/**
24 * Headers for Generic and Generic Refinement region handling
25 **/
26
27/* 6.4 Table 2 */
28typedef struct {
29 bool MMR;
30 /* GBW */
31 /* GBH */
32 int GBTEMPLATE;
33 bool TPGDON;
34 bool USESKIP;
35 Jbig2Image *SKIP;
36 int8_t gbat[8];
37} Jbig2GenericRegionParams;
38
39/* return the appropriate context size for the given template */
40int jbig2_generic_stats_size(Jbig2Ctx *ctx, int template);
41
42int
43jbig2_decode_generic_region(Jbig2Ctx *ctx,
44 Jbig2Segment *segment, const Jbig2GenericRegionParams *params, Jbig2ArithState *as, Jbig2Image *image, Jbig2ArithCx *GB_stats);
45
46/* 7.4 */
47int jbig2_immediate_generic_region(Jbig2Ctx *ctx, Jbig2Segment *segment, const uint8_t *segment_data);
48
49#endif /* _JBIG2_GENERIC_H */
50