Home | History | Annotate | Line # | Download | only in zopfli
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