diff options
author | Sebastian Rasmussen <sebras@gmail.com> | 2018-05-26 19:12:28 +0800 |
---|---|---|
committer | Sebastian Rasmussen <sebras@gmail.com> | 2018-07-13 16:54:30 +0800 |
commit | c6d6efdc340e0cac31cda1bbb654bcbfcda92b47 (patch) | |
tree | ca9f7d7155ae379716c8b5c0e1bdd42b593fae3f /jbig2dec | |
parent | 624bc3cc86c95bc6215d02d6bf39ff694e2c2a9d (diff) | |
download | ghostpdl-c6d6efdc340e0cac31cda1bbb654bcbfcda92b47.tar.gz |
jbig2dec: Create jbig2_segment.h with segment declarations.
Diffstat (limited to 'jbig2dec')
-rw-r--r-- | jbig2dec/jbig2.c | 1 | ||||
-rw-r--r-- | jbig2dec/jbig2.h | 18 | ||||
-rw-r--r-- | jbig2dec/jbig2_generic.c | 1 | ||||
-rw-r--r-- | jbig2dec/jbig2_halftone.c | 1 | ||||
-rw-r--r-- | jbig2dec/jbig2_huffman.c | 1 | ||||
-rw-r--r-- | jbig2dec/jbig2_metadata.c | 1 | ||||
-rw-r--r-- | jbig2dec/jbig2_page.c | 1 | ||||
-rw-r--r-- | jbig2dec/jbig2_priv.h | 13 | ||||
-rw-r--r-- | jbig2dec/jbig2_refinement.c | 1 | ||||
-rw-r--r-- | jbig2dec/jbig2_segment.c | 1 | ||||
-rw-r--r-- | jbig2dec/jbig2_segment.h | 53 | ||||
-rw-r--r-- | jbig2dec/jbig2_symbol_dict.c | 1 | ||||
-rw-r--r-- | jbig2dec/jbig2_text.c | 1 |
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" |