Commit Graph

66 Commits

Author SHA1 Message Date
szabadka
35cd3db9c1 Merge pull request #25 from irori/sign-compare
Make decoder code warning-free
2015-02-24 10:41:41 +01:00
Kunihiko Sakamoto
65d655dad5 Compile decoder with -Wall flag
This also fixes two "comparison between signed and unsigned" warnings.
2015-02-24 17:48:26 +09:00
szabadka
cb0ca3a3c6 Merge pull request #17 from khaledhosny/master
Add Python bindings
2015-01-28 10:18:34 +01:00
Khaled Hosny
11306237f4 Add Python bindings 2015-01-24 11:56:43 +02:00
szabadka
93049d96e7 Merge pull request #23 from szabadka/master
Add more test cases.
2015-01-13 16:44:13 +01:00
Zoltan Szabadka
1d76397891 Add more test cases. 2015-01-13 16:42:35 +01:00
szabadka
7e350cd4a7 Merge pull request #21 from szabadka/master
Fix undefined behavior in decoder.
2014-11-26 12:12:20 +01:00
Zoltan Szabadka
4278934e82 Fix undefined behavior in decoder.
Use memmove() for copying overlapping buffers.
2014-11-26 10:37:33 +01:00
szabadka
50b4f4e6b3 Merge pull request #20 from szabadka/master
Remove unneeded malloc.h header.
2014-11-24 16:21:58 +01:00
Zoltan Szabadka
66f6b66c88 Remove unneeded malloc.h header. 2014-11-24 16:20:22 +01:00
szabadka
88c073594f Merge pull request #18 from khaledhosny/gitignore
Add .gitignore file
2014-11-24 10:20:04 +01:00
Khaled Hosny
9efdff7f70 Add .gitignore file 2014-11-22 17:00:36 +02:00
szabadka
94000f6490 Merge pull request #16 from szabadka/master
Add command-line tool and tests.
2014-11-17 15:40:22 +01:00
Zoltan Szabadka
ac455c50f4 Improvements to the command-line tool.
- Don't read the whole input to memory.
- Support reading from stdin and writing to stdout.
2014-11-17 15:31:00 +01:00
Zoltan Szabadka
e1739826c0 Add command-line tool and tests. 2014-10-30 13:59:37 +01:00
szabadka
6b9ce4dfab Merge pull request #15 from szabadka/master
Disable transforms in the encoder by default.
2014-10-29 17:09:47 +01:00
Zoltan Szabadka
96d04e53d7 Disable transforms in the encoder by default.
This change reduces the startup-time of the encoder considerably.
2014-10-29 15:39:35 +01:00
szabadka
6e9e963972 Merge pull request #14 from szabadka/master
Allow use of inline keyword in c++/c99 mode.
2014-10-28 14:44:24 +01:00
Zoltan Szabadka
dd6237b0e8 Allow use of inline keyword in c++/c99 mode. 2014-10-28 14:43:15 +01:00
szabadka
37aa5e05c0 Merge pull request #13 from szabadka/master
Fix potential output buffer overflow in encoder.
2014-10-28 14:06:46 +01:00
Zoltan Szabadka
485ad82e94 Fix potential output buffer overflow in encoder. 2014-10-28 14:05:53 +01:00
szabadka
2f35ffd77a Merge pull request #12 from szabadka/master
Decoder code cleanup.
2014-10-28 14:02:06 +01:00
Zoltan Szabadka
460dda1b50 Decoder code cleanup.
1) Use a tighter upper bound on the Huffman table size.
2) Remove unused argument len in ToUpperCase.
3) Remove unused no-op assignment in BrotliDecompress.
4) Fix include guard name.
2014-10-28 13:57:46 +01:00
szabadka
43a8d591f0 Merge pull request #11 from szabadka/master
Move the context map encoding function to the brotli_bit_stream library.
2014-10-28 13:49:32 +01:00
Zoltan Szabadka
0428f2d1bd Move the context map encoding function to the brotli_bit_stream library. 2014-10-28 13:47:21 +01:00
szabadka
d0d6f1bda4 Merge pull request #10 from szabadka/master
Make the histogram clustering function more generic.
2014-10-28 13:38:14 +01:00
Zoltan Szabadka
f321ba1964 Make the histogram clustering function more generic.
Change the template parameter to be the histogram class
instead of the alphabet size of the histogram.
2014-10-28 13:36:21 +01:00
szabadka
c6c08e492e Merge pull request #9 from szabadka/master
New version of the backward reference search code.
2014-10-28 13:33:33 +01:00
Zoltan Szabadka
b4f39bf540 New version of the backward reference search code.
The new	interface of the backward reference search
function makes it possible to use it in	a streaming
manner.

Using the advanced cost model and static dictionary
can be turned on/off by	template parameters.

The distance short codes are now computed as part of
the backward reference search.

Added a	faster version of the Hasher.
2014-10-28 13:25:22 +01:00
szabadka
f580616386 Merge pull request #8 from szabadka/master
Minor tuning of encoder heuristics.
2014-10-28 12:54:47 +01:00
Zoltan Szabadka
03b20347e1 Minor tuning of encoder heuristics. 2014-10-28 12:50:33 +01:00
szabadka
8102921a7c Merge pull request #7 from szabadka/master
Fix storing of the meta-block header for last empty meta-block.
2014-10-28 12:10:55 +01:00
Zoltan Szabadka
ca8c2890aa Fix storing of the meta-block header for last empty meta-block. 2014-10-28 12:09:18 +01:00
szabadka
618ea06821 Merge pull request #6 from szabadka/master
Move the block switch storing functions to the brotli_bit_stream library...
2014-10-28 12:03:34 +01:00
Zoltan Szabadka
467e6eef80 Move the block switch stroing functions to the brotli_bit_stream library. 2014-10-28 11:53:52 +01:00
szabadka
fd64d1f35a Merge pull request #3 from szabadka/encoder
Factor out serialization functions into their own file.
2014-10-28 11:19:18 +01:00
szabadka
c62fa2116f Merge pull request #2 from szabadka/decoder
Fix BrotliDecompressedSize() to work for an uncompressed plus an empty meta-block.
2014-10-27 17:36:07 +01:00
Zoltan Szabadka
39cde017e6 Fix TODO markups. 2014-10-15 14:14:34 +02:00
Zoltan Szabadka
d6d9fc60e1 Factor out serialization functions into their own file.
Create a brotli_bit_stream library that is responsible for writing
various structures (headers, Huffman codes, etc.) directly into the
bit-stream.
2014-10-15 14:01:36 +02:00
Zoltan Szabadka
79d2b89d2d Fix BrotliDecompressedSize() to work for an uncompressed plus an empty meta-block. 2014-10-15 13:41:00 +02:00
Zoltan Szabadka
12c6d1fbe4 Apply const qualifier to call operator of comparator class. 2014-10-15 13:33:56 +02:00
Zoltan Szabadka
fe6e9b0148 Remove broken Makefiles.
Makefiles will be added together with a command-line interface in a
later commit.
2014-10-14 13:39:48 +02:00
Zoltan Szabadka
e8d668f873 Add top-level README file.
Remove brotlispec.txt and add a link to the latest internet-draft instead.
2014-10-14 13:08:35 +02:00
Zoltan Szabadka
3f655b63de Fix buffer overflow bug in the brotli encoder. 2014-03-27 16:38:07 +01:00
Zoltan Szabadka
347781947a Update the dictionary and the transforms. 2014-03-25 16:48:25 +01:00
Zoltan Szabadka
e7650080a8 Updates to Brotli compression format, decoder and encoder
This commit contains a batch of changes that were made to the Brotli
compression algorithm in the last month. Most important changes:

   * Format change: don't push distances representing static dictionary words to the distance cache.
   * Fix decoder invalid memory access bug caused by building a non-complete Huffman tree.
   * Add a mode parameter to the encoder interface.
   * Use different hashers for text and font mode.
   * Add a heuristics to the hasher for skipping non-compressible data.
   * Exhaustive search of static dictionary during backward reference search.
2014-03-20 14:32:35 +01:00
Zoltan Szabadka
cddab4adef Enable the static dictionary in the Brotli decoder. 2014-03-06 17:25:43 +01:00
Zoltan Szabadka
2f268ad158 Add the initial version of the static dictionary and transforms to Brotli. 2014-02-17 14:25:36 +01:00
Zoltan Szabadka
0454ab4ec0 Updates to Brotli compression format, decoder and encoder
This commit contains a batch of changes that were made to the Brotli
compression algorithm in the last month. Most important changes:

   * Fixes to the spec.
   * Change of code length code order.
   * Use a 2-level Huffman lookup table in the decoder.
   * Faster uncompressed meta-block decoding.
   * Optimized encoding of the Huffman code.
   * Detection of UTF-8 input encoding.
   * UTF-8 based literal cost modeling for improved
     backward reference selection.
2014-02-14 15:04:23 +01:00
Zoltan Szabadka
d01c71c4ad Fix -Wconversion compiler warnings in the brotli decoder. 2014-01-08 12:34:35 +01:00