summaryrefslogtreecommitdiff
path: root/dmagick/c/compress.d
blob: 40b1446282a1bd2cbcdc7d9cea7be317f7770212 (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
module dmagick.c.compress;

import dmagick.c.image;
import dmagick.c.magickType;

extern(C)
{
	enum CompressionType
	{
		UndefinedCompression,
		NoCompression,
		BZipCompression,
		DXT1Compression,
		DXT3Compression,
		DXT5Compression,
		FaxCompression,
		Group4Compression,
		JPEGCompression,
		JPEG2000Compression,     /* ISO/IEC std 15444-1 */
		LosslessJPEGCompression,
		LZWCompression,
		RLECompression,
		ZipCompression,
		ZipSCompression,
		PizCompression,
		Pxr24Compression,
		B44Compression,
		B44ACompression,
		LZMACompression,         /* Lempel-Ziv-Markov chain algorithm */
		JBIG1Compression,        /* ISO/IEC std 11544 / ITU-T rec T.82 */
		JBIG2Compression         /* ISO/IEC std 14492 / ITU-T rec T.88 */
	}

	struct Ascii85Info {}

	MagickBooleanType HuffmanDecodeImage(Image*);
	MagickBooleanType HuffmanEncodeImage(const(ImageInfo)*, Image*, Image*);
	MagickBooleanType LZWEncodeImage(Image*, const size_t, ubyte*);
	MagickBooleanType PackbitsEncodeImage(Image*, const size_t, ubyte*);
	MagickBooleanType ZLIBEncodeImage(Image*, const size_t, ubyte*);

	void Ascii85Encode(Image*, const ubyte);
	void Ascii85Flush(Image*);
	void Ascii85Initialize(Image*);
}