Brotli compression format
Go to file
Joe Tsai c996c06e8d Use consistent bit ordering and variable names
If bit-orderings are to be parsed from left-to-right,
then make the bit-strings left-justified.
If bit-orderings are to be parsed from right-to-left,
then make the bit-strings right-justified.

Section 3.1, which describes how prefix codes work
shows prefix codes that are "left-to-right", which
is better for demonstrating how the work. However,
most of the rest of the document uses a "right-to-left"
convention. We should distinctly say at the end of
section 3.1 that we are switching conventions.

Thus, change the prefix code in section 3.5 to be
"right-to-left" to be consistent with sections 9.1
and 9.2.

Also, change the variable names in section 7.3 to
be consistent with those used in section 10.

Also, change the description of MNIBBLES to be
"MNIBBLES - 4", similar to the convention of saying
"MLEN - 1". Beforehand, the phrase
"If MNIBBLES is 0, then ..." was unclear whether it
meant MNIBBLES before the "plus 4" or after.
2015-10-20 14:54:51 -07:00
appveyor [appveyor/install.ps1] remove unused functions for miniconda 2015-10-07 12:46:16 +01:00
dec Fix build for SPARK. 2015-10-06 11:11:42 +02:00
docs Use consistent bit ordering and variable names 2015-10-20 14:54:51 -07:00
enc Remove 'static' from kBitCostThreshold declaration. 2015-10-11 13:03:51 +02: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 Encoder fixes. 2015-10-06 11:23:44 +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 Add CONTRIBUTING file. 2015-10-02 12:02:58 +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