comparison mupdf-source/thirdparty/jbig2dec/jbig2_segment.h @ 2:b50eed0cc0ef upstream

ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4. The directory name has changed: no version number in the expanded directory now.
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 15 Sep 2025 11:43:07 +0200
parents
children
comparison
equal deleted inserted replaced
1:1d09e1dec1d9 2:b50eed0cc0ef
1 /* Copyright (C) 2001-2023 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., 39 Mesa Street, Suite 108A, San Francisco,
13 CA 94129, USA, for further information.
14 */
15
16 /*
17 jbig2dec
18 */
19
20 #ifndef _JBIG2_SEGMENT_H
21 #define _JBIG2_SEGMENT_H
22
23 /* segment header routines */
24
25 struct _Jbig2Segment {
26 uint32_t number;
27 uint8_t flags;
28 uint32_t page_association;
29 size_t data_length;
30 int referred_to_segment_count;
31 uint32_t *referred_to_segments;
32 uint32_t rows;
33 void *result;
34 };
35
36 Jbig2Segment *jbig2_parse_segment_header(Jbig2Ctx *ctx, uint8_t *buf, size_t buf_size, size_t *p_header_size);
37 int jbig2_parse_segment(Jbig2Ctx *ctx, Jbig2Segment *segment, const uint8_t *segment_data);
38 void jbig2_free_segment(Jbig2Ctx *ctx, Jbig2Segment *segment);
39 Jbig2Segment *jbig2_find_segment(Jbig2Ctx *ctx, uint32_t number);
40
41 /* region segment info */
42
43 typedef struct {
44 uint32_t width;
45 uint32_t height;
46 uint32_t x;
47 uint32_t y;
48 Jbig2ComposeOp op;
49 uint8_t flags;
50 } Jbig2RegionSegmentInfo;
51
52 void jbig2_get_region_segment_info(Jbig2RegionSegmentInfo *info, const uint8_t *segment_data);
53
54 #endif /* _JBIG2_SEGMENT_H */