home *** CD-ROM | disk | FTP | other *** search
- #ifndef __TIF_FAX3_H__
- #define __TIF_FAX3_H__
- /*
- * @(#)TIFF/tif_fax3.h 1.03, Copyright (c) Sam Leffler, Dieter Linde, Oct 8 1990
- *
- * CCITT Group 3 compression/decompression definitions.
- */
- #define FAX3_CLASSF TIFF_OPT0 /* use Class F protocol */
-
- /*
- * The following are for use by Compression=2, 32771, and 4 (T.6) algorithms .
- */
- #define FAX3_NOEOL TIFF_OPT1 /* no EOL code at end of row */
- #define FAX3_BYTEALIGN TIFF_OPT2 /* force byte alignment at end of row */
- #define FAX3_WORDALIGN TIFF_OPT3 /* force word alignment at end of row */
-
- /*
- * Compression + decompression state blocks are derived from this ``base state'' block.
- */
- typedef struct {
- short data; /* current i/o byte */
- short bit; /* current i/o bit in byte */
- short white; /* value of the color ``white'' */
- enum { /* decoding/encoding mode */
- G3_1D, /* basic 1-d mode */
- G3_2D /* optional 2-d mode */
- } tag;
- u_char *bitmap; /* bit reversal table */
- u_char *refline; /* reference line for 2d decoding */
- } Fax3BaseState;
-
- /*
- * These routines are used for Group 4 (T.6).
- */
- int Fax3Decode2DRow(TIFF *, u_char *, int);
- int Fax3Encode2DRow(TIFF *, u_char *, u_char *, int);
- void Fax3PutEOL(TIFF *);
-
- #endif /* __TIF_FAX3_H__ */
-