home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / program / grfx_snd / tifflib / source / tif_fax3.h < prev    next >
C/C++ Source or Header  |  1992-11-08  |  2KB  |  40 lines

  1. #ifndef __TIF_FAX3_H__
  2. #define __TIF_FAX3_H__
  3. /*
  4.  * @(#)TIFF/tif_fax3.h 1.03, Copyright (c) Sam Leffler, Dieter Linde, Oct 8 1990
  5.  * 
  6.  * CCITT Group 3 compression/decompression definitions.
  7.  */
  8. #define FAX3_CLASSF        TIFF_OPT0          /* use Class F protocol */
  9.  
  10. /* 
  11.  * The following are for use by Compression=2, 32771, and 4 (T.6) algorithms .
  12.  */
  13. #define FAX3_NOEOL      TIFF_OPT1       /* no EOL code at end of row */
  14. #define FAX3_BYTEALIGN  TIFF_OPT2       /* force byte alignment at end of row */
  15. #define FAX3_WORDALIGN  TIFF_OPT3       /* force word alignment at end of row */
  16.  
  17. /*
  18.  * Compression + decompression state blocks are derived from this ``base state'' block.
  19.  */
  20. typedef struct {
  21.            short      data;                   /* current i/o byte */
  22.         short   bit;                    /* current i/o bit in byte */
  23.         short   white;                  /* value of the color ``white'' */
  24.         enum {                          /* decoding/encoding mode */
  25.                 G3_1D,                     /* basic 1-d mode */
  26.                 G3_2D                      /* optional 2-d mode */
  27.         } tag;
  28.         u_char  *bitmap;                /* bit reversal table */
  29.         u_char  *refline;               /* reference line for 2d decoding */
  30. } Fax3BaseState;
  31.  
  32. /* 
  33.  * These routines are used for Group 4 (T.6).
  34.  */
  35. int     Fax3Decode2DRow(TIFF *, u_char *, int);
  36. int     Fax3Encode2DRow(TIFF *, u_char *, u_char *, int);
  37. void    Fax3PutEOL(TIFF *);
  38.  
  39. #endif     /* __TIF_FAX3_H__ */
  40.