Mercurial > hgrepos > Python2 > PyMuPDF
diff mupdf-source/thirdparty/jbig2dec/jbig2_text.h @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mupdf-source/thirdparty/jbig2dec/jbig2_text.h Mon Sep 15 11:43:07 2025 +0200 @@ -0,0 +1,81 @@ +/* Copyright (C) 2001-2023 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., 39 Mesa Street, Suite 108A, San Francisco, + CA 94129, USA, for further information. +*/ + +/* + jbig2dec +*/ + +#ifndef _JBIG2_TEXT_H +#define _JBIG2_TEXT_H + +/** + * 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 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 */
