diff options
author | Lode Vandevenne <lode@google.com> | 2013-05-03 13:58:01 +0200 |
---|---|---|
committer | Lode Vandevenne <lode@google.com> | 2013-05-03 13:58:01 +0200 |
commit | 150827fe74ad974c743acb8d3cbe3519dd22b090 (patch) | |
tree | 6e3e8114454b36e663ab28a5f2b9e9e1d84043e1 | |
parent | 4975aa5e50761cdeb335b3bf029332df469aa472 (diff) | |
download | zopfli-150827fe74ad974c743acb8d3cbe3519dd22b090.tar.gz |
Fix tree encoding to save more bits
-rw-r--r-- | src/zopfli/deflate.c | 7 | ||||
-rw-r--r-- | src/zopfli/zopfli.h | 1 | ||||
-rw-r--r-- | src/zopfli/zopfli_lib.c | 3 |
3 files changed, 6 insertions, 5 deletions
diff --git a/src/zopfli/deflate.c b/src/zopfli/deflate.c index 713c6ae..e7d9bb8 100644 --- a/src/zopfli/deflate.c +++ b/src/zopfli/deflate.c @@ -155,8 +155,8 @@ static void AddDynamicTree(const unsigned* ll_lengths, } if (repeat >= 3) { ZOPFLI_APPEND_DATA(16, &rle, &rle_size); - ZOPFLI_APPEND_DATA(3 - 3, &rle_bits, &rle_bits_size); - repeat -= 3; + ZOPFLI_APPEND_DATA(repeat - 3, &rle_bits, &rle_bits_size); + repeat = 0; } while (repeat != 0) { ZOPFLI_APPEND_DATA(lld_lengths[i], &rle, &rle_size); @@ -356,7 +356,8 @@ static void AddLZ77Block(const ZopfliOptions* options, int btype, int final, const unsigned short* dists, size_t lstart, size_t lend, size_t expected_data_size, - unsigned char* bp, unsigned char** out, size_t* outsize) { + unsigned char* bp, + unsigned char** out, size_t* outsize) { size_t ll_counts[288]; size_t d_counts[32]; unsigned ll_lengths[288]; diff --git a/src/zopfli/zopfli.h b/src/zopfli/zopfli.h index 9350b65..7ca707a 100644 --- a/src/zopfli/zopfli.h +++ b/src/zopfli/zopfli.h @@ -20,6 +20,7 @@ Author: jyrki.alakuijala@gmail.com (Jyrki Alakuijala) #ifndef ZOPFLI_ZOPFLI_H_ #define ZOPFLI_ZOPFLI_H_ +#include <stddef.h> #include <stdlib.h> /* for size_t */ /* diff --git a/src/zopfli/zopfli_lib.c b/src/zopfli/zopfli_lib.c index b2280e8..5f5b214 100644 --- a/src/zopfli/zopfli_lib.c +++ b/src/zopfli/zopfli_lib.c @@ -27,8 +27,7 @@ Author: jyrki.alakuijala@gmail.com (Jyrki Alakuijala) void ZopfliCompress(const ZopfliOptions* options, ZopfliFormat output_type, const unsigned char* in, size_t insize, - unsigned char** out, size_t* outsize) -{ + unsigned char** out, size_t* outsize) { if (output_type == ZOPFLI_FORMAT_GZIP) { ZopfliGzipCompress(options, in, insize, out, outsize); } else if (output_type == ZOPFLI_FORMAT_ZLIB) { |