Blame jbig2_text.h

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);