summaryrefslogtreecommitdiff
path: root/jbig2dec
diff options
context:
space:
mode:
authorSebastian Rasmussen <sebras@gmail.com>2018-05-26 19:12:28 +0800
committerSebastian Rasmussen <sebras@gmail.com>2018-07-13 16:54:30 +0800
commitc6d6efdc340e0cac31cda1bbb654bcbfcda92b47 (patch)
treeca9f7d7155ae379716c8b5c0e1bdd42b593fae3f /jbig2dec
parent624bc3cc86c95bc6215d02d6bf39ff694e2c2a9d (diff)
downloadghostpdl-c6d6efdc340e0cac31cda1bbb654bcbfcda92b47.tar.gz
jbig2dec: Create jbig2_segment.h with segment declarations.
Diffstat (limited to 'jbig2dec')
-rw-r--r--jbig2dec/jbig2.c1
-rw-r--r--jbig2dec/jbig2.h18
-rw-r--r--jbig2dec/jbig2_generic.c1
-rw-r--r--jbig2dec/jbig2_halftone.c1
-rw-r--r--jbig2dec/jbig2_huffman.c1
-rw-r--r--jbig2dec/jbig2_metadata.c1
-rw-r--r--jbig2dec/jbig2_page.c1
-rw-r--r--jbig2dec/jbig2_priv.h13
-rw-r--r--jbig2dec/jbig2_refinement.c1
-rw-r--r--jbig2dec/jbig2_segment.c1
-rw-r--r--jbig2dec/jbig2_segment.h53
-rw-r--r--jbig2dec/jbig2_symbol_dict.c1
-rw-r--r--jbig2dec/jbig2_text.c1
13 files changed, 63 insertions, 31 deletions
diff --git a/jbig2dec/jbig2.c b/jbig2dec/jbig2.c
index ef6d20f87..235d5abf0 100644
--- a/jbig2dec/jbig2.c
+++ b/jbig2dec/jbig2.c
@@ -30,6 +30,7 @@
#include "jbig2.h"
#include "jbig2_priv.h"
#include "jbig2_page.h"
+#include "jbig2_segment.h"
static void *
jbig2_default_alloc(Jbig2Allocator *allocator, size_t size)
diff --git a/jbig2dec/jbig2.h b/jbig2dec/jbig2.h
index f03d98d19..017f18efd 100644
--- a/jbig2dec/jbig2.h
+++ b/jbig2dec/jbig2.h
@@ -108,24 +108,6 @@ int jbig2_release_page(Jbig2Ctx *ctx, Jbig2Image *image);
/* mark the current page as complete, simulating an end-of-page segment (for broken streams) */
int jbig2_complete_page(Jbig2Ctx *ctx);
-/* segment header routines */
-
-struct _Jbig2Segment {
- uint32_t number;
- uint8_t flags;
- uint32_t page_association;
- size_t data_length;
- int referred_to_segment_count;
- uint32_t *referred_to_segments;
- void *result;
-};
-
-Jbig2Segment *jbig2_parse_segment_header(Jbig2Ctx *ctx, uint8_t *buf, size_t buf_size, size_t *p_header_size);
-int jbig2_parse_segment(Jbig2Ctx *ctx, Jbig2Segment *segment, const uint8_t *segment_data);
-void jbig2_free_segment(Jbig2Ctx *ctx, Jbig2Segment *segment);
-
-Jbig2Segment *jbig2_find_segment(Jbig2Ctx *ctx, uint32_t number);
-
#endif /* _JBIG2_H */
#ifdef __cplusplus
diff --git a/jbig2dec/jbig2_generic.c b/jbig2dec/jbig2_generic.c
index eda5bf755..7f96d83f5 100644
--- a/jbig2dec/jbig2_generic.c
+++ b/jbig2dec/jbig2_generic.c
@@ -40,6 +40,7 @@
#include "jbig2_generic.h"
#include "jbig2_mmr.h"
#include "jbig2_page.h"
+#include "jbig2_segment.h"
/* return the appropriate context size for the given template */
int
diff --git a/jbig2dec/jbig2_halftone.c b/jbig2dec/jbig2_halftone.c
index a737457a2..7edc68844 100644
--- a/jbig2dec/jbig2_halftone.c
+++ b/jbig2dec/jbig2_halftone.c
@@ -34,6 +34,7 @@
#include "jbig2_image.h"
#include "jbig2_halftone.h"
#include "jbig2_page.h"
+#include "jbig2_segment.h"
/**
* jbig2_hd_new: create a new dictionary from a collective bitmap
diff --git a/jbig2dec/jbig2_huffman.c b/jbig2dec/jbig2_huffman.c
index 7783266ce..6514744e5 100644
--- a/jbig2dec/jbig2_huffman.c
+++ b/jbig2dec/jbig2_huffman.c
@@ -36,6 +36,7 @@
#include "jbig2_priv.h"
#include "jbig2_huffman.h"
#include "jbig2_hufftab.h"
+#include "jbig2_segment.h"
#define JBIG2_HUFFMAN_FLAGS_ISOOB 1
#define JBIG2_HUFFMAN_FLAGS_ISLOW 2
diff --git a/jbig2dec/jbig2_metadata.c b/jbig2dec/jbig2_metadata.c
index bb217a449..598754475 100644
--- a/jbig2dec/jbig2_metadata.c
+++ b/jbig2dec/jbig2_metadata.c
@@ -28,6 +28,7 @@
#include "jbig2.h"
#include "jbig2_priv.h"
#include "jbig2_metadata.h"
+#include "jbig2_segment.h"
/* metadata key,value list object */
Jbig2Metadata *
diff --git a/jbig2dec/jbig2_page.c b/jbig2dec/jbig2_page.c
index 93fd44129..8896ef5c8 100644
--- a/jbig2dec/jbig2_page.c
+++ b/jbig2dec/jbig2_page.c
@@ -27,6 +27,7 @@
#include "jbig2.h"
#include "jbig2_priv.h"
#include "jbig2_page.h"
+#include "jbig2_segment.h"
#ifdef OUTPUT_PBM
#include <stdio.h>
diff --git a/jbig2dec/jbig2_priv.h b/jbig2dec/jbig2_priv.h
index 89cf1c79a..40731ce4b 100644
--- a/jbig2dec/jbig2_priv.h
+++ b/jbig2dec/jbig2_priv.h
@@ -124,19 +124,6 @@ typedef enum {
} Jbig2ComposeOp;
int jbig2_image_compose(Jbig2Ctx *ctx, Jbig2Image *dst, Jbig2Image *src, int x, int y, Jbig2ComposeOp op);
-
-/* region segment info */
-
-typedef struct {
- int32_t width;
- int32_t height;
- int32_t x;
- int32_t y;
- Jbig2ComposeOp op;
- uint8_t flags;
-} Jbig2RegionSegmentInfo;
-
-void jbig2_get_region_segment_info(Jbig2RegionSegmentInfo *info, const uint8_t *segment_data);
int jbig2_text_region(Jbig2Ctx *ctx, Jbig2Segment *segment, const uint8_t *segment_data);
/* 7.4 */
diff --git a/jbig2dec/jbig2_refinement.c b/jbig2dec/jbig2_refinement.c
index 5ee951116..594aaf62b 100644
--- a/jbig2dec/jbig2_refinement.c
+++ b/jbig2dec/jbig2_refinement.c
@@ -38,6 +38,7 @@
#include "jbig2_image.h"
#include "jbig2_page.h"
#include "jbig2_refinement.h"
+#include "jbig2_segment.h"
static int
jbig2_decode_refinement_template0_unopt(Jbig2Ctx *ctx,
diff --git a/jbig2dec/jbig2_segment.c b/jbig2dec/jbig2_segment.c
index fa0acc7ee..2cc8b454b 100644
--- a/jbig2dec/jbig2_segment.c
+++ b/jbig2dec/jbig2_segment.c
@@ -33,6 +33,7 @@
#include "jbig2_arith.h"
#include "jbig2_halftone.h"
#include "jbig2_refinement.h"
+#include "jbig2_segment.h"
Jbig2Segment *
jbig2_parse_segment_header(Jbig2Ctx *ctx, uint8_t *buf, size_t buf_size, size_t *p_header_size)
diff --git a/jbig2dec/jbig2_segment.h b/jbig2dec/jbig2_segment.h
new file mode 100644
index 000000000..583b13682
--- /dev/null
+++ b/jbig2dec/jbig2_segment.h
@@ -0,0 +1,53 @@
+/* Copyright (C) 2001-2018 Artifex Software, Inc.
+ All Rights Reserved.
+
+ This software is provided AS-IS with no warranty, either express or
+ implied.
+
+ 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.
+
+ Refer to licensing information at http://www.artifex.com or contact
+ Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+ CA 94945, U.S.A., +1(415)492-9861, for further information.
+*/
+
+/*
+ jbig2dec
+*/
+
+#ifndef _JBIG2_SEGMENT_H
+#define _JBIG2_SEGMENT_H
+
+/* segment header routines */
+
+struct _Jbig2Segment {
+ uint32_t number;
+ uint8_t flags;
+ uint32_t page_association;
+ size_t data_length;
+ int referred_to_segment_count;
+ uint32_t *referred_to_segments;
+ void *result;
+};
+
+Jbig2Segment *jbig2_parse_segment_header(Jbig2Ctx *ctx, uint8_t *buf, size_t buf_size, size_t *p_header_size);
+int jbig2_parse_segment(Jbig2Ctx *ctx, Jbig2Segment *segment, const uint8_t *segment_data);
+void jbig2_free_segment(Jbig2Ctx *ctx, Jbig2Segment *segment);
+Jbig2Segment *jbig2_find_segment(Jbig2Ctx *ctx, uint32_t number);
+
+/* region segment info */
+
+typedef struct {
+ int32_t width;
+ int32_t height;
+ int32_t x;
+ int32_t y;
+ Jbig2ComposeOp op;
+ uint8_t flags;
+} Jbig2RegionSegmentInfo;
+
+void jbig2_get_region_segment_info(Jbig2RegionSegmentInfo *info, const uint8_t *segment_data);
+
+#endif /* _JBIG2_SEGMENT_H */
diff --git a/jbig2dec/jbig2_symbol_dict.c b/jbig2dec/jbig2_symbol_dict.c
index 2ba296c9f..f86353900 100644
--- a/jbig2dec/jbig2_symbol_dict.c
+++ b/jbig2dec/jbig2_symbol_dict.c
@@ -38,6 +38,7 @@
#include "jbig2_symbol_dict.h"
#include "jbig2_text.h"
#include "jbig2_refinement.h"
+#include "jbig2_segment.h"
#if defined(OUTPUT_PBM) || defined(DUMP_SYMDICT)
#include <stdio.h>
diff --git a/jbig2dec/jbig2_text.c b/jbig2dec/jbig2_text.c
index 83d1c8402..25c619e00 100644
--- a/jbig2dec/jbig2_text.c
+++ b/jbig2dec/jbig2_text.c
@@ -34,6 +34,7 @@
#include "jbig2_generic.h"
#include "jbig2_page.h"
#include "jbig2_refinement.h"
+#include "jbig2_segment.h"
#include "jbig2_symbol_dict.h"
#include "jbig2_text.h"