Brotli compression format
Go to file
Joe Tsai 5c869c9de2 Clarify simple and complex prefix codes
* At the beginning of the simple prefix code section, telling us that "a value
of 1 indicates the number of leading zeros" is not very helpful. Instead, it
should indicate that it means a complex prefix code and point the reader to
the relevant section (which repeats this information in more detail)

* Clearly indicate that reusing a value is an error! This seems to be the
behavior of the of the reference implementation.

* Clarify what the termination conditions are while reading the prefix codes.
Also, indicate that it is an error if the prefix tree is over-subscribed or
under-subscribed.

* Clearly state what is the maximum number of individual symbols that may be
read. This ensures that it is forbidden to an stream that continually says that
the symbols have zero length.
2015-11-01 17:01:38 -08:00
appveyor [appveyor/install.ps1] remove unused functions for miniconda 2015-10-07 12:46:16 +01:00
dec Make internal decoder functions static 2015-10-27 11:22:16 +01:00
docs Clarify simple and complex prefix codes 2015-11-01 17:01:38 -08:00
enc Use uint32_t positions in the hasher and compute distances modulo 2^32. 2015-10-26 17:08:57 +01:00
python [brotlimodule.cc] set 'lgwin' valid range to [10..24] 2015-10-06 19:50:58 +01:00
terryfy@8bb673f441 add support for Travis CI (OS X only for now) 2015-08-14 11:28:26 +01:00
tests Add more testdata. 2015-09-01 13:45:19 +02:00
tools Add more error handling to the command-line tool. 2015-10-23 12:05:43 +02:00
.gitignore Speed and memory usage improvements for the decoder. 2015-05-07 16:53:43 +02:00
.gitmodules add support for Travis CI (OS X only for now) 2015-08-14 11:28:26 +01:00
.travis.yml [travis] add Python 3.5.0 2015-10-07 09:18:50 +01:00
appveyor.yml [appveyor] properly support Python 3.5 2015-10-07 09:36:45 +01:00
CONTRIBUTING.md Fix CONTRIBUTING not rendered as markdown on GitHub 2015-10-23 20:26:30 +02:00
LICENSE Add brotli decompressor 2013-10-11 10:26:07 +02:00
README.md Update README.md 2015-06-12 14:31:47 +02:00
setup.py [setup.py] add PyPI trove classifiers 2015-10-06 12:23:57 +01:00
shared.mk Add -O2 flag 2015-07-30 18:08:40 +02:00

brotli

Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling, with a compression ratio comparable to the best currently available general-purpose compression methods. It is similar in speed with deflate but offers more dense compression.

The specification of the Brotli Compressed Data Format is defined in the following internet draft: http://www.ietf.org/id/draft-alakuijala-brotli

Brotli is open-sourced under the Apache License, Version 2.0, see the LICENSE file.

Brotli mailing list: https://groups.google.com/forum/#!forum/brotli