aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLode Vandevenne <lode@google.com>2013-05-03 13:58:01 +0200
committerLode Vandevenne <lode@google.com>2013-05-03 13:58:01 +0200
commit150827fe74ad974c743acb8d3cbe3519dd22b090 (patch)
tree6e3e8114454b36e663ab28a5f2b9e9e1d84043e1
parent4975aa5e50761cdeb335b3bf029332df469aa472 (diff)
downloadzopfli-150827fe74ad974c743acb8d3cbe3519dd22b090.tar.gz
Fix tree encoding to save more bits
-rw-r--r--src/zopfli/deflate.c7
-rw-r--r--src/zopfli/zopfli.h1
-rw-r--r--src/zopfli/zopfli_lib.c3
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) {