home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
program
/
grfx_snd
/
tifflib
/
source
/
tif_cmpr.c
< prev
next >
Wrap
C/C++ Source or Header
|
1993-01-13
|
2KB
|
75 lines
#pragma warn -use
static char *sccsid = "@(#)TIFF/tif_compress.c 1.15, Copyright (c) Sam Leffler, Dieter Linde, "__DATE__;
#pragma warn .use
/*
* Copyright (c) 1988, 1990 by Sam Leffler, Oct 8 1990
* All rights reserved.
*
* This file is provided for unrestricted use provided that this legend is included on all tape media and as a part of the
* software program in whole or part. Users may copy, modify or distribute this file at will.
*
* TIFF Library
*
* Compression Scheme Configuration Support.
*/
#include "tiffio.h"
static struct cscheme {
u_short scheme;
int (*init)(TIFF *);
} CompressionSchemes[] = {
{ COMPRESSION_NONE, TIFFInitDumpMode },
{ COMPRESSION_LZW, TIFFInitLZW },
{ COMPRESSION_PACKBITS, TIFFInitPackBits },
#ifdef PICIO_SUPPORT
{ COMPRESSION_PICIO, TIFFInitPicio },
#endif /* PICIO_SUPPORT */
#ifdef THUNDER_SUPPORT
{ COMPRESSION_THUNDERSCAN, TIFFInitThunderScan },
#endif /* THUNDER_SUPPORT */
#ifdef NEXT_SUPPORT
{ COMPRESSION_NEXT, TIFFInitNeXT },
#endif /* NEXT_SUPPORT */
#ifdef SGI_SUPPORT
{ COMPRESSION_SGIRLE, TIFFInitSGI },
#endif /* SGI_SUPPORT */
{ COMPRESSION_CCITTRLE, TIFFInitCCITTRLE },
{ COMPRESSION_CCITTRLEW, TIFFInitCCITTRLEW },
{ COMPRESSION_CCITTFAX3, TIFFInitCCITTFax3 },
{ COMPRESSION_CCITTFAX4, TIFFInitCCITTFax4 },
};
#define NSCHEMES (sizeof(CompressionSchemes) / sizeof(CompressionSchemes[0]))
/****************************************************************************
*
*/
int
TIFFSetCompressionScheme(
TIFF *tif,
u_short scheme
)
{
register struct cscheme *c;
for (c = CompressionSchemes; c < &CompressionSchemes[NSCHEMES]; c++)
if (c->scheme == scheme) {
tif->tif_stripdecode = NULL;
tif->tif_stripencode = NULL;
tif->tif_encodestrip = NULL;
tif->tif_close = NULL;
tif->tif_seek = NULL;
tif->tif_cleanup = NULL;
tif->tif_flags &= ~TIFF_NOBITREV;
tif->tif_options = 0;
return((*c->init)(tif));
}
TIFFError("TIFFSetCompressionScheme", "unknown data compression algorithm %u", tif->tif_name, scheme);
return(0);
}