0,0 → 1,73 |
/* |
jbig2dec |
|
Copyright (C) 2002-2004 Artifex Software, Inc. |
|
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. |
|
For further licensing information refer to http://artifex.com/ or |
contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, |
San Rafael, CA 94903, U.S.A., +1(415)492-9861. |
*/ |
|
/** |
* Headers for Text region handling |
**/ |
|
typedef enum { |
JBIG2_CORNER_BOTTOMLEFT = 0, |
JBIG2_CORNER_TOPLEFT = 1, |
JBIG2_CORNER_BOTTOMRIGHT = 2, |
JBIG2_CORNER_TOPRIGHT = 3 |
} Jbig2RefCorner; |
|
typedef struct { |
bool SBHUFF; |
bool SBREFINE; |
bool SBDEFPIXEL; |
Jbig2ComposeOp SBCOMBOP; |
bool TRANSPOSED; |
Jbig2RefCorner REFCORNER; |
int SBDSOFFSET; |
/* int SBW; */ |
/* int SBH; */ |
uint32_t SBNUMINSTANCES; |
int LOGSBSTRIPS; |
int SBSTRIPS; |
/* int SBNUMSYMS; */ |
/* SBSYMCODES */ |
/* SBSYMCODELEN */ |
/* SBSYMS */ |
Jbig2HuffmanTable *SBHUFFFS; |
Jbig2HuffmanTable *SBHUFFDS; |
Jbig2HuffmanTable *SBHUFFDT; |
Jbig2HuffmanTable *SBHUFFRDW; |
Jbig2HuffmanTable *SBHUFFRDH; |
Jbig2HuffmanTable *SBHUFFRDX; |
Jbig2HuffmanTable *SBHUFFRDY; |
Jbig2HuffmanTable *SBHUFFRSIZE; |
Jbig2ArithIntCtx *IADT; |
Jbig2ArithIntCtx *IAFS; |
Jbig2ArithIntCtx *IADS; |
Jbig2ArithIntCtx *IAIT; |
Jbig2ArithIaidCtx *IAID; |
Jbig2ArithIntCtx *IARI; |
Jbig2ArithIntCtx *IARDW; |
Jbig2ArithIntCtx *IARDH; |
Jbig2ArithIntCtx *IARDX; |
Jbig2ArithIntCtx *IARDY; |
bool SBRTEMPLATE; |
int8_t sbrat[4]; |
} Jbig2TextRegionParams; |
|
int |
jbig2_decode_text_region(Jbig2Ctx *ctx, Jbig2Segment *segment, |
const Jbig2TextRegionParams *params, |
const Jbig2SymbolDict * const *dicts, const int n_dicts, |
Jbig2Image *image, |
const byte *data, const size_t size, |
Jbig2ArithCx *GR_stats, |
Jbig2ArithState *as, Jbig2WordStream *ws); |