summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/luatexdir/luapplib/src/util/utillzw.h
blob: 9e3a085d43cc9d82e4a79872637a538600d180db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef UTIL_LZW_H
#define UTIL_LZW_H

#include "utiliof.h"

typedef struct lzw_state lzw_state;

#define LZW_BASE_BITS 8
#define LZW_TABLE_ALLOC (1<<4)
#define LZW_EARLY_INDEX (1<<5)
//#define LZW_LOW_BITS_FIRST (1<<6)
#define LZW_DECODER_DEFAULTS (LZW_BASE_BITS|LZW_EARLY_INDEX|0)
#define LZW_ENCODER_DEFAULTS (LZW_BASE_BITS|LZW_EARLY_INDEX|0)

lzw_state * lzw_decoder_init (lzw_state *state, int flags);
lzw_state * lzw_encoder_init (lzw_state *state, int flags);

void lzw_decoder_close (lzw_state *state);
void lzw_encoder_close (lzw_state *state);

iof_status lzw_encode_state (iof *I, iof *O, lzw_state *state);
iof_status lzw_decode_state (iof *I, iof *O, lzw_state *state);

iof_status lzw_encode (iof *I, iof *O, int flags);
iof_status lzw_decode (iof *I, iof *O, int flags);

iof * iof_filter_lzw_decoder (iof *N, int flags);
iof * iof_filter_lzw_encoder (iof *N, int flags);

#endif