Brotli compression format
Go to file
Zoltan Szabadka 83aa24dc86 Speed and memory usage improvements for the decoder.
* Change order of members of bit reader state structure.

* Remove unused includes for assert. Add BROTLI_DCHECK
  macros and use it instead of assert.

* Do not calculate nbits in common case of ReadSymbol.

* Introduce and use PREDICT_TRUE / PREDICT_FALSE macros.

* Allocate less memory in the brotli decoder if it knows
  the result size beforehand. Before this, the decoder
  would always allocate 16MB if the encoder annotated the
  window size as 22 bit (which is the default), even if the
  file is only a few KB uncompressed. Now, it'll only
  allocate a ringbuffer as large as needed for the result file.
  But only if it can know the filesize, it's not possible
  to know that if there are multiple metablocks or too large
  uncompressed metablock.
2015-05-07 16:53:43 +02:00
dec Speed and memory usage improvements for the decoder. 2015-05-07 16:53:43 +02:00
docs Fix the year on the copyright message. 2015-04-27 18:25:59 +02:00
enc Speed and memory usage improvements for the decoder. 2015-05-07 16:53:43 +02:00
python [python] refactored tests and import shared utilities from module 2015-04-22 17:54:56 +01:00
tests Makefile fixes and cleanups 2015-03-14 14:31:44 +03:00
tools Encoder implementation using input/output classes. 2015-04-23 15:26:08 +02:00
.gitignore Speed and memory usage improvements for the decoder. 2015-05-07 16:53:43 +02:00
LICENSE Add brotli decompressor 2013-10-11 10:26:07 +02:00
README.md Add top-level README file. 2014-10-14 13:08:35 +02:00
setup.py Speed and memory usage improvements for the decoder. 2015-05-07 16:53:43 +02:00
shared.mk Makefile fixes and cleanups 2015-03-14 14:31:44 +03: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.