summaryrefslogtreecommitdiff
path: root/jbig2dec
diff options
context:
space:
mode:
authorSebastian Rasmussen <sebras@gmail.com>2018-05-23 00:04:55 +0800
committerSebastian Rasmussen <sebras@gmail.com>2018-07-13 16:54:30 +0800
commitb9f15473bdd8f48b9336b67d15dc08a6f78f750b (patch)
tree360e1966071b99832287319f029530474509da07 /jbig2dec
parentc6d6efdc340e0cac31cda1bbb654bcbfcda92b47 (diff)
downloadghostpdl-b9f15473bdd8f48b9336b67d15dc08a6f78f750b.tar.gz
jbig2dec: Move declarations from jbig2_priv.h to their respective headers.
Due to this some .c-files now need new includes.
Diffstat (limited to 'jbig2dec')
-rw-r--r--jbig2dec/jbig2.c1
-rw-r--r--jbig2dec/jbig2.h15
-rw-r--r--jbig2dec/jbig2_generic.c2
-rw-r--r--jbig2dec/jbig2_generic.h3
-rw-r--r--jbig2dec/jbig2_halftone.c2
-rw-r--r--jbig2dec/jbig2_halftone.h3
-rw-r--r--jbig2dec/jbig2_huffman.c1
-rw-r--r--jbig2dec/jbig2_image.h16
-rw-r--r--jbig2dec/jbig2_metadata.c1
-rw-r--r--jbig2dec/jbig2_page.c10
-rw-r--r--jbig2dec/jbig2_priv.h20
-rw-r--r--jbig2dec/jbig2_segment.c13
-rw-r--r--jbig2dec/jbig2_symbol_dict.c16
-rw-r--r--jbig2dec/jbig2_text.c3
-rw-r--r--jbig2dec/jbig2_text.h2
15 files changed, 57 insertions, 51 deletions
diff --git a/jbig2dec/jbig2.c b/jbig2dec/jbig2.c
index 235d5abf0..5d8e0bf04 100644
--- a/jbig2dec/jbig2.c
+++ b/jbig2dec/jbig2.c
@@ -29,6 +29,7 @@
#include "jbig2.h"
#include "jbig2_priv.h"
+#include "jbig2_image.h"
#include "jbig2_page.h"
#include "jbig2_segment.h"
diff --git a/jbig2dec/jbig2.h b/jbig2dec/jbig2.h
index 017f18efd..378ce4f64 100644
--- a/jbig2dec/jbig2.h
+++ b/jbig2dec/jbig2.h
@@ -41,12 +41,6 @@ typedef enum {
typedef struct _Jbig2Allocator Jbig2Allocator;
typedef struct _Jbig2Ctx Jbig2Ctx;
typedef struct _Jbig2GlobalCtx Jbig2GlobalCtx;
-typedef struct _Jbig2Segment Jbig2Segment;
-typedef struct _Jbig2Image Jbig2Image;
-
-/* private structures */
-typedef struct _Jbig2Page Jbig2Page;
-typedef struct _Jbig2SymbolDictionary Jbig2SymbolDictionary;
/*
this is the general image structure used by the jbig2dec library
@@ -54,7 +48,7 @@ typedef struct _Jbig2SymbolDictionary Jbig2SymbolDictionary;
the byte offset to the next row, while width and height define
the size of the image area in pixels.
*/
-
+typedef struct _Jbig2Image Jbig2Image;
struct _Jbig2Image {
uint32_t width;
uint32_t height;
@@ -63,13 +57,6 @@ struct _Jbig2Image {
int refcount;
};
-Jbig2Image *jbig2_image_new(Jbig2Ctx *ctx, uint32_t width, uint32_t height);
-Jbig2Image *jbig2_image_clone(Jbig2Ctx *ctx, Jbig2Image *image);
-void jbig2_image_release(Jbig2Ctx *ctx, Jbig2Image *image);
-void jbig2_image_free(Jbig2Ctx *ctx, Jbig2Image *image);
-void jbig2_image_clear(Jbig2Ctx *ctx, Jbig2Image *image, int value);
-Jbig2Image *jbig2_image_resize(Jbig2Ctx *ctx, Jbig2Image *image, uint32_t width, uint32_t height);
-
/* errors are returned from the library via a callback. If no callback
is provided (a NULL argument is passed to jbig2_ctx_new) a default
handler is used which prints fatal errors to the stderr stream. */
diff --git a/jbig2dec/jbig2_generic.c b/jbig2dec/jbig2_generic.c
index 7f96d83f5..b98e0f4da 100644
--- a/jbig2dec/jbig2_generic.c
+++ b/jbig2dec/jbig2_generic.c
@@ -35,9 +35,9 @@
#include "jbig2.h"
#include "jbig2_priv.h"
-#include "jbig2_image.h"
#include "jbig2_arith.h"
#include "jbig2_generic.h"
+#include "jbig2_image.h"
#include "jbig2_mmr.h"
#include "jbig2_page.h"
#include "jbig2_segment.h"
diff --git a/jbig2dec/jbig2_generic.h b/jbig2dec/jbig2_generic.h
index be6480896..beda1d968 100644
--- a/jbig2dec/jbig2_generic.h
+++ b/jbig2dec/jbig2_generic.h
@@ -43,4 +43,7 @@ int
jbig2_decode_generic_region(Jbig2Ctx *ctx,
Jbig2Segment *segment, const Jbig2GenericRegionParams *params, Jbig2ArithState *as, Jbig2Image *image, Jbig2ArithCx *GB_stats);
+/* 7.4 */
+int jbig2_immediate_generic_region(Jbig2Ctx *ctx, Jbig2Segment *segment, const uint8_t *segment_data);
+
#endif /* _JBIG2_GENERIC_H */
diff --git a/jbig2dec/jbig2_halftone.c b/jbig2dec/jbig2_halftone.c
index 7edc68844..f76404c77 100644
--- a/jbig2dec/jbig2_halftone.c
+++ b/jbig2dec/jbig2_halftone.c
@@ -30,9 +30,9 @@
#include "jbig2_priv.h"
#include "jbig2_arith.h"
#include "jbig2_generic.h"
-#include "jbig2_mmr.h"
#include "jbig2_image.h"
#include "jbig2_halftone.h"
+#include "jbig2_mmr.h"
#include "jbig2_page.h"
#include "jbig2_segment.h"
diff --git a/jbig2dec/jbig2_halftone.h b/jbig2dec/jbig2_halftone.h
index 402d4b9ee..1714d4edd 100644
--- a/jbig2dec/jbig2_halftone.h
+++ b/jbig2dec/jbig2_halftone.h
@@ -66,4 +66,7 @@ int
jbig2_decode_halftone_region(Jbig2Ctx *ctx, Jbig2Segment *segment,
Jbig2HalftoneRegionParams *params, const byte *data, const size_t size, Jbig2Image *image, Jbig2ArithCx *GB_stats);
+int jbig2_halftone_region(Jbig2Ctx *ctx, Jbig2Segment *segment, const byte *segment_data);
+int jbig2_pattern_dictionary(Jbig2Ctx *ctx, Jbig2Segment *segment, const byte *segment_data);
+
#endif /* _JBIG2_HALFTONE_H */
diff --git a/jbig2dec/jbig2_huffman.c b/jbig2dec/jbig2_huffman.c
index 6514744e5..a3d4f5ba2 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_image.h"
#include "jbig2_segment.h"
#define JBIG2_HUFFMAN_FLAGS_ISOOB 1
diff --git a/jbig2dec/jbig2_image.h b/jbig2dec/jbig2_image.h
index 90e1a17a2..67158b845 100644
--- a/jbig2dec/jbig2_image.h
+++ b/jbig2dec/jbig2_image.h
@@ -20,6 +20,22 @@
#ifndef _JBIG2_IMAGE_H
#define _JBIG2_IMAGE_H
+typedef enum {
+ JBIG2_COMPOSE_OR = 0,
+ JBIG2_COMPOSE_AND = 1,
+ JBIG2_COMPOSE_XOR = 2,
+ JBIG2_COMPOSE_XNOR = 3,
+ JBIG2_COMPOSE_REPLACE = 4
+} Jbig2ComposeOp;
+
+Jbig2Image *jbig2_image_new(Jbig2Ctx *ctx, uint32_t width, uint32_t height);
+void jbig2_image_release(Jbig2Ctx *ctx, Jbig2Image *image);
+Jbig2Image *jbig2_image_clone(Jbig2Ctx *ctx, Jbig2Image *image);
+void jbig2_image_free(Jbig2Ctx *ctx, Jbig2Image *image);
+void jbig2_image_clear(Jbig2Ctx *ctx, Jbig2Image *image, int value);
+Jbig2Image *jbig2_image_resize(Jbig2Ctx *ctx, Jbig2Image *image, uint32_t width, uint32_t height);
+int jbig2_image_compose(Jbig2Ctx *ctx, Jbig2Image *dst, Jbig2Image *src, int x, int y, Jbig2ComposeOp op);
+
int jbig2_image_get_pixel(Jbig2Image *image, int x, int y);
void jbig2_image_set_pixel(Jbig2Image *image, int x, int y, bool value);
diff --git a/jbig2dec/jbig2_metadata.c b/jbig2dec/jbig2_metadata.c
index 598754475..3bc842508 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_image.h"
#include "jbig2_segment.h"
/* metadata key,value list object */
diff --git a/jbig2dec/jbig2_page.c b/jbig2dec/jbig2_page.c
index 8896ef5c8..3fca43d48 100644
--- a/jbig2dec/jbig2_page.c
+++ b/jbig2dec/jbig2_page.c
@@ -24,16 +24,16 @@
#include <stdlib.h>
+#ifdef OUTPUT_PBM
+#include <stdio.h>
+#endif
+
#include "jbig2.h"
#include "jbig2_priv.h"
+#include "jbig2_image.h"
#include "jbig2_page.h"
#include "jbig2_segment.h"
-#ifdef OUTPUT_PBM
-#include <stdio.h>
-#include "jbig2_image.h"
-#endif
-
/* dump the page struct info */
static void
dump_page_info(Jbig2Ctx *ctx, Jbig2Segment *segment, Jbig2Page *page)
diff --git a/jbig2dec/jbig2_priv.h b/jbig2dec/jbig2_priv.h
index 40731ce4b..7d990b50b 100644
--- a/jbig2dec/jbig2_priv.h
+++ b/jbig2dec/jbig2_priv.h
@@ -56,6 +56,9 @@ typedef uint8_t byte;
#define NULL ((void*)0)
#endif
+typedef struct _Jbig2Page Jbig2Page;
+typedef struct _Jbig2Segment Jbig2Segment;
+
typedef enum {
JBIG2_FILE_HEADER,
JBIG2_FILE_SEQUENTIAL_HEADER,
@@ -115,23 +118,6 @@ void *jbig2_realloc(Jbig2Allocator *allocator, void *p, size_t size, size_t num)
int jbig2_error(Jbig2Ctx *ctx, Jbig2Severity severity, int32_t seg_idx, const char *fmt, ...);
-typedef enum {
- JBIG2_COMPOSE_OR = 0,
- JBIG2_COMPOSE_AND = 1,
- JBIG2_COMPOSE_XOR = 2,
- JBIG2_COMPOSE_XNOR = 3,
- JBIG2_COMPOSE_REPLACE = 4
-} Jbig2ComposeOp;
-
-int jbig2_image_compose(Jbig2Ctx *ctx, Jbig2Image *dst, Jbig2Image *src, int x, int y, Jbig2ComposeOp op);
-int jbig2_text_region(Jbig2Ctx *ctx, Jbig2Segment *segment, const uint8_t *segment_data);
-
-/* 7.4 */
-int jbig2_immediate_generic_region(Jbig2Ctx *ctx, Jbig2Segment *segment, const uint8_t *segment_data);
-
-int jbig2_pattern_dictionary(Jbig2Ctx *ctx, Jbig2Segment *segment, const byte *segment_data);
-int jbig2_halftone_region(Jbig2Ctx *ctx, Jbig2Segment *segment, const byte *segment_data);
-
/* The word stream design is a compromise between simplicity and
trying to amortize the number of method calls. Each ::get_next_word
invocation pulls 4 bytes from the stream, packed big-endian into a
diff --git a/jbig2dec/jbig2_segment.c b/jbig2dec/jbig2_segment.c
index 2cc8b454b..00d8cc808 100644
--- a/jbig2dec/jbig2_segment.c
+++ b/jbig2dec/jbig2_segment.c
@@ -26,14 +26,19 @@
#include "jbig2.h"
#include "jbig2_priv.h"
-#include "jbig2_huffman.h"
-#include "jbig2_page.h"
-#include "jbig2_symbol_dict.h"
-#include "jbig2_metadata.h"
#include "jbig2_arith.h"
+#include "jbig2_arith_int.h"
+#include "jbig2_arith_iaid.h"
+#include "jbig2_generic.h"
+#include "jbig2_image.h"
#include "jbig2_halftone.h"
+#include "jbig2_huffman.h"
+#include "jbig2_metadata.h"
+#include "jbig2_page.h"
#include "jbig2_refinement.h"
#include "jbig2_segment.h"
+#include "jbig2_symbol_dict.h"
+#include "jbig2_text.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_symbol_dict.c b/jbig2dec/jbig2_symbol_dict.c
index f86353900..604887f5e 100644
--- a/jbig2dec/jbig2_symbol_dict.c
+++ b/jbig2dec/jbig2_symbol_dict.c
@@ -27,23 +27,23 @@
#include <stddef.h>
#include <string.h> /* memset() */
+#if defined(OUTPUT_PBM) || defined(DUMP_SYMDICT)
+#include <stdio.h>
+#endif
+
#include "jbig2.h"
#include "jbig2_priv.h"
#include "jbig2_arith.h"
#include "jbig2_arith_int.h"
#include "jbig2_arith_iaid.h"
-#include "jbig2_huffman.h"
#include "jbig2_generic.h"
+#include "jbig2_huffman.h"
+#include "jbig2_image.h"
#include "jbig2_mmr.h"
-#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>
-#include "jbig2_image.h"
-#endif
+#include "jbig2_symbol_dict.h"
+#include "jbig2_text.h"
/* Table 13 */
typedef struct {
diff --git a/jbig2dec/jbig2_text.c b/jbig2dec/jbig2_text.c
index 25c619e00..c3dc0090e 100644
--- a/jbig2dec/jbig2_text.c
+++ b/jbig2dec/jbig2_text.c
@@ -30,8 +30,9 @@
#include "jbig2_arith.h"
#include "jbig2_arith_int.h"
#include "jbig2_arith_iaid.h"
-#include "jbig2_huffman.h"
#include "jbig2_generic.h"
+#include "jbig2_huffman.h"
+#include "jbig2_image.h"
#include "jbig2_page.h"
#include "jbig2_refinement.h"
#include "jbig2_segment.h"
diff --git a/jbig2dec/jbig2_text.h b/jbig2dec/jbig2_text.h
index 9e981a2b7..a6b6bcf0d 100644
--- a/jbig2dec/jbig2_text.h
+++ b/jbig2dec/jbig2_text.h
@@ -76,4 +76,6 @@ jbig2_decode_text_region(Jbig2Ctx *ctx, Jbig2Segment *segment,
const Jbig2SymbolDict *const *dicts, const uint32_t n_dicts,
Jbig2Image *image, const byte *data, const size_t size, Jbig2ArithCx *GR_stats, Jbig2ArithState *as, Jbig2WordStream *ws);
+int jbig2_text_region(Jbig2Ctx *ctx, Jbig2Segment *segment, const uint8_t *segment_data);
+
#endif /* _JBIG2_TEXT_H */