mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-12-27 02:16:19 +03:00
53 lines
842 B
C
53 lines
842 B
C
|
/*
|
||
|
* The Python Imaging Library.
|
||
|
* $Id$
|
||
|
*
|
||
|
* declarations for the TIFF LZW decoder.
|
||
|
*
|
||
|
* Copyright (c) Fredrik Lundh 1995-96.
|
||
|
*/
|
||
|
|
||
|
|
||
|
/* Max size for LZW code words */
|
||
|
|
||
|
#define LZWBITS 12
|
||
|
|
||
|
#define LZWTABLE (1<<LZWBITS)
|
||
|
#define LZWBUFFER (1<<LZWBITS)
|
||
|
|
||
|
|
||
|
typedef struct {
|
||
|
|
||
|
/* CONFIGURATION */
|
||
|
|
||
|
/* Filter type */
|
||
|
int filter;
|
||
|
|
||
|
/* PRIVATE CONTEXT (set by decoder) */
|
||
|
|
||
|
/* Input bit buffer */
|
||
|
INT32 bitbuffer;
|
||
|
int bitcount;
|
||
|
|
||
|
/* Code buffer */
|
||
|
int codesize;
|
||
|
int codemask;
|
||
|
|
||
|
/* Constant symbol codes */
|
||
|
int clear, end;
|
||
|
|
||
|
/* Symbol history */
|
||
|
int lastcode;
|
||
|
unsigned char lastdata;
|
||
|
|
||
|
/* History buffer */
|
||
|
int bufferindex;
|
||
|
unsigned char buffer[LZWTABLE];
|
||
|
|
||
|
/* Symbol table */
|
||
|
unsigned INT16 link[LZWTABLE];
|
||
|
unsigned char data[LZWTABLE];
|
||
|
int next;
|
||
|
|
||
|
} LZWSTATE;
|