|
Packit |
3f21c4 |
/* Copyright (C) 2001-2012 Artifex Software, Inc.
|
|
Packit |
3f21c4 |
All Rights Reserved.
|
|
Packit |
3f21c4 |
|
|
Packit |
3f21c4 |
This software is provided AS-IS with no warranty, either express or
|
|
Packit |
3f21c4 |
implied.
|
|
Packit |
3f21c4 |
|
|
Packit |
3f21c4 |
This software is distributed under license and may not be copied,
|
|
Packit |
3f21c4 |
modified or distributed except as expressly authorized under the terms
|
|
Packit |
3f21c4 |
of the license contained in the file LICENSE in this distribution.
|
|
Packit |
3f21c4 |
|
|
Packit |
3f21c4 |
Refer to licensing information at http://www.artifex.com or contact
|
|
Packit |
3f21c4 |
Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
|
|
Packit |
3f21c4 |
CA 94903, U.S.A., +1(415)492-9861, for further information.
|
|
Packit |
3f21c4 |
*/
|
|
Packit |
3f21c4 |
|
|
Packit |
3f21c4 |
/*
|
|
Packit |
3f21c4 |
jbig2dec
|
|
Packit |
3f21c4 |
*/
|
|
Packit |
3f21c4 |
|
|
Packit |
3f21c4 |
/**
|
|
Packit |
3f21c4 |
* Headers for Text region handling
|
|
Packit |
3f21c4 |
**/
|
|
Packit |
3f21c4 |
|
|
Packit |
3f21c4 |
typedef enum {
|
|
Packit |
3f21c4 |
JBIG2_CORNER_BOTTOMLEFT = 0,
|
|
Packit |
3f21c4 |
JBIG2_CORNER_TOPLEFT = 1,
|
|
Packit |
3f21c4 |
JBIG2_CORNER_BOTTOMRIGHT = 2,
|
|
Packit |
3f21c4 |
JBIG2_CORNER_TOPRIGHT = 3
|
|
Packit |
3f21c4 |
} Jbig2RefCorner;
|
|
Packit |
3f21c4 |
|
|
Packit |
3f21c4 |
typedef struct {
|
|
Packit |
3f21c4 |
bool SBHUFF;
|
|
Packit |
3f21c4 |
bool SBREFINE;
|
|
Packit |
3f21c4 |
bool SBDEFPIXEL;
|
|
Packit |
3f21c4 |
Jbig2ComposeOp SBCOMBOP;
|
|
Packit |
3f21c4 |
bool TRANSPOSED;
|
|
Packit |
3f21c4 |
Jbig2RefCorner REFCORNER;
|
|
Packit |
3f21c4 |
int SBDSOFFSET;
|
|
Packit |
3f21c4 |
/* int SBW; */
|
|
Packit |
3f21c4 |
/* int SBH; */
|
|
Packit |
3f21c4 |
uint32_t SBNUMINSTANCES;
|
|
Packit |
3f21c4 |
int LOGSBSTRIPS;
|
|
Packit |
3f21c4 |
int SBSTRIPS;
|
|
Packit |
3f21c4 |
/* int SBNUMSYMS; */
|
|
Packit |
3f21c4 |
/* SBSYMCODES */
|
|
Packit |
3f21c4 |
/* SBSYMCODELEN */
|
|
Packit |
3f21c4 |
/* SBSYMS */
|
|
Packit |
3f21c4 |
Jbig2HuffmanTable *SBHUFFFS;
|
|
Packit |
3f21c4 |
Jbig2HuffmanTable *SBHUFFDS;
|
|
Packit |
3f21c4 |
Jbig2HuffmanTable *SBHUFFDT;
|
|
Packit |
3f21c4 |
Jbig2HuffmanTable *SBHUFFRDW;
|
|
Packit |
3f21c4 |
Jbig2HuffmanTable *SBHUFFRDH;
|
|
Packit |
3f21c4 |
Jbig2HuffmanTable *SBHUFFRDX;
|
|
Packit |
3f21c4 |
Jbig2HuffmanTable *SBHUFFRDY;
|
|
Packit |
3f21c4 |
Jbig2HuffmanTable *SBHUFFRSIZE;
|
|
Packit |
3f21c4 |
Jbig2ArithIntCtx *IADT;
|
|
Packit |
3f21c4 |
Jbig2ArithIntCtx *IAFS;
|
|
Packit |
3f21c4 |
Jbig2ArithIntCtx *IADS;
|
|
Packit |
3f21c4 |
Jbig2ArithIntCtx *IAIT;
|
|
Packit |
3f21c4 |
Jbig2ArithIaidCtx *IAID;
|
|
Packit |
3f21c4 |
Jbig2ArithIntCtx *IARI;
|
|
Packit |
3f21c4 |
Jbig2ArithIntCtx *IARDW;
|
|
Packit |
3f21c4 |
Jbig2ArithIntCtx *IARDH;
|
|
Packit |
3f21c4 |
Jbig2ArithIntCtx *IARDX;
|
|
Packit |
3f21c4 |
Jbig2ArithIntCtx *IARDY;
|
|
Packit |
3f21c4 |
bool SBRTEMPLATE;
|
|
Packit |
3f21c4 |
int8_t sbrat[4];
|
|
Packit |
3f21c4 |
} Jbig2TextRegionParams;
|
|
Packit |
3f21c4 |
|
|
Packit |
3f21c4 |
int
|
|
Packit |
3f21c4 |
jbig2_decode_text_region(Jbig2Ctx *ctx, Jbig2Segment *segment,
|
|
Packit |
3f21c4 |
const Jbig2TextRegionParams *params,
|
|
Packit |
3f21c4 |
const Jbig2SymbolDict *const *dicts, const uint32_t n_dicts,
|
|
Packit |
3f21c4 |
Jbig2Image *image, const byte *data, const size_t size, Jbig2ArithCx *GR_stats, Jbig2ArithState *as, Jbig2WordStream *ws);
|