Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Imaging/libImaging/Zip.h
blob: d306d7cb4fe0d720165575ec71b3331084ac67f1 (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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
 * The Python Imaging Library.
 * $Id: Zip.h 2134 2004-10-06 08:55:20Z fredrik $
 *
 * declarations for the ZIP codecs
 *
 * Copyright (c) Fredrik Lundh 1996.
 */


#include "zlib.h"


/* modes */
#define	ZIP_PNG	0		/* continuous, filtered image data */
#define	ZIP_PNG_PALETTE	1	/* non-continuous data, disable filtering */
#define	ZIP_TIFF_PREDICTOR 2	/* TIFF, with predictor */
#define	ZIP_TIFF 3		/* TIFF, without predictor */


typedef struct {

    /* CONFIGURATION */

    /* Codec mode */
    int mode;

    /* Optimize (max compression) SLOW!!! */
    int optimize;

    /* Predefined dictionary (experimental) */
    char* dictionary;
    int dictionary_size;

    /* PRIVATE CONTEXT (set by decoder/encoder) */

    z_stream z_stream;		/* (de)compression stream */

    UINT8* previous;		/* previous line (allocated) */

    int last_output;		/* # bytes last output by inflate */

    /* Compressor specific stuff */
    UINT8* prior;		/* filter storage (allocated) */
    UINT8* up;
    UINT8* average;
    UINT8* paeth;

    UINT8* output;		/* output data */

    int prefix;			/* size of filter prefix (0 for TIFF data) */

} ZIPSTATE;