zopfli_lib.c revision 1.1.1.1.10.2 1 1.1.1.1.10.2 snj /*
2 1.1.1.1.10.2 snj Copyright 2013 Google Inc. All Rights Reserved.
3 1.1.1.1.10.2 snj Author: lode (at) google.com (Lode Vandevenne)
4 1.1.1.1.10.2 snj */
5 1.1.1.1.10.2 snj
6 1.1.1.1.10.2 snj /*
7 1.1.1.1.10.2 snj Modified by madler (at) alumni.caltech.edu (Mark Adler)
8 1.1.1.1.10.2 snj Moved ZopfliInitOptions() to deflate.c.
9 1.1.1.1.10.2 snj */
10 1.1.1.1.10.2 snj
11 1.1.1.1.10.2 snj #include "zopfli.h"
12 1.1.1.1.10.2 snj
13 1.1.1.1.10.2 snj #include "deflate.h"
14 1.1.1.1.10.2 snj #include "gzip_container.h"
15 1.1.1.1.10.2 snj #include "zlib_container.h"
16 1.1.1.1.10.2 snj
17 1.1.1.1.10.2 snj #include <assert.h>
18 1.1.1.1.10.2 snj
19 1.1.1.1.10.2 snj void ZopfliCompress(const ZopfliOptions* options, ZopfliFormat output_type,
20 1.1.1.1.10.2 snj const unsigned char* in, size_t insize,
21 1.1.1.1.10.2 snj unsigned char** out, size_t* outsize)
22 1.1.1.1.10.2 snj {
23 1.1.1.1.10.2 snj if (output_type == ZOPFLI_FORMAT_GZIP) {
24 1.1.1.1.10.2 snj ZopfliGzipCompress(options, in, insize, out, outsize);
25 1.1.1.1.10.2 snj } else if (output_type == ZOPFLI_FORMAT_ZLIB) {
26 1.1.1.1.10.2 snj ZopfliZlibCompress(options, in, insize, out, outsize);
27 1.1.1.1.10.2 snj } else if (output_type == ZOPFLI_FORMAT_DEFLATE) {
28 1.1.1.1.10.2 snj unsigned char bp = 0;
29 1.1.1.1.10.2 snj ZopfliDeflate(options, 2 /* Dynamic block */, 1,
30 1.1.1.1.10.2 snj in, insize, &bp, out, outsize);
31 1.1.1.1.10.2 snj } else {
32 1.1.1.1.10.2 snj assert(0);
33 1.1.1.1.10.2 snj }
34 1.1.1.1.10.2 snj }
35