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
Zoltan Szabadka
2bcd58bb5a
Brotli format change: small improvement to the encoding of Huffman codes
...
Combine the HSKIP and the simple/complex Huffman code type bits.
2014-01-08 12:28:28 +01:00
Zoltan Szabadka
e60dbdb10b
Small update to brotli specification.
...
Clarify how to recover from error conditions caused by overflowing
block types and symbol values.
2014-01-06 16:35:24 +01:00
Zoltan Szabadka
d762bc6845
Bug fixes for the brotli encoder and decoder.
2014-01-06 16:01:57 +01:00
Zoltan Szabadka
1447345cbb
Brotli format change: improved encoding of Huffman codes
...
This change removes the redundant HCLEN, HLENINC and HLEN
fields from the encoding of the complex Huffman codes and
derives these from an invariant of the code length sequence.
Based on a patch by Robert Obryk.
2013-12-17 17:17:57 +01:00
Zoltan Szabadka
b8a1008569
Use C-style comments in the brotli decoder.
2013-12-16 14:45:57 +01:00
Zoltan Szabadka
29bb7cb1af
Fix Microsoft VisualStudio 64-bit build of brotli
2013-12-13 15:30:20 +01:00
Zoltan Szabadka
354349d7ae
Fix Microsoft VisualStudio build of brotli
...
- Move all variable declarations to the beginning of the block
- #ifdef-out read/write calls
2013-12-13 10:39:46 +01:00
Roderick Sheeter
c23cb1e83d
Support for OSX build; tested using OSX 10.9/clang-500.2.79
2013-12-12 10:43:05 -08:00
Zoltan Szabadka
60c24c0c2d
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:
* Updated spec
* Changed Huffman code length alphabet to use run length codes more
efficiently, based on a suggestion by Robert Obryk
* Changed encoding of the number of Huffman code lengths (HLEN)
* Changed encoding of the number of Huffman trees (NTREES)
* Added support for uncompressed meta-blocks
2013-12-12 13:18:04 +01:00
Zoltan Szabadka
8d7081f2d0
Add draft specification of the brotli format
2013-11-28 17:37:13 +01:00