1Zopfli Compression Algorithm is a compression library programmed in C to perform
2very good, but slow, deflate or zlib compression.
3
4The basic function to compress data is ZopfliCompress in zopfli.h. Use the
5ZopfliOptions object to set parameters that affect the speed and compression.
6Use the ZopfliInitOptions function to place the default values in the
7ZopfliOptions first.
8
9ZopfliCompress supports deflate, gzip and zlib output format with a parameter.
10To support only one individual format, you can instead use ZopfliDeflate in
11deflate.h, ZopfliZlibCompress in zlib_container.h or ZopfliGzipCompress in
12gzip_container.h.
13
14ZopfliDeflate creates a valid deflate stream in memory, see:
15http://www.ietf.org/rfc/rfc1951.txt
16ZopfliZlibCompress creates a valid zlib stream in memory, see:
17http://www.ietf.org/rfc/rfc1950.txt
18ZopfliGzipCompress creates a valid gzip stream in memory, see:
19http://www.ietf.org/rfc/rfc1952.txt
20
21This library can only compress, not decompress. Existing zlib or deflate
22libraries can decompress the data.
23
24zopfli_bin.c is separate from the library and contains an example program to
25create very well compressed gzip files. Currently the makefile builds this
26program with the library statically linked in.
27
28The source code of Zopfli is under src/zopfli. Build instructions:
29
30To build zopfli, compile all .c source files under src/zopfli to a single binary
31with C, and link to the standard C math library, e.g.:
32gcc src/zopfli/*.c -O2 -W -Wall -Wextra -Wno-unused-function -ansi -pedantic -lm -o zopfli
33
34A makefile is provided as well, but only for linux. Use "make" to build the
35binary, "make libzopfli" to build it as a shared library. For other platforms,
36please use the build instructions above instead.
37
38Zopfli Compression Algorithm was created by Lode Vandevenne and Jyrki
39Alakuijala, based on an algorithm by Jyrki Alakuijala.
40