mirror of
https://github.com/google/brotli.git
synced 2024-12-28 18:51:08 +00:00
Brotli compression format
65f3fc55f5
* Fix an out-of-bounds access to depth_histo in the bit cost calculation function. * Change type of distance symbol to uint16_t in block splitter, because if all postfix bits are used, there can be 520 distance symbols. * Save the distance cache between meta-blocks at the correct place. This fixes a roundtrip failure that can occur when there is an uncompressed metablock between two compressed metablocks. * Fix a bug when setting lgwin to 24 in the encoder parameters It ended up making metablocks larger than 24 bits in size. * Fix out-of-bounds memory accesses in parallel encoder. CreateBackwardReferences can read up to 4 bytes past end of input if the end of input is before mask. * Add missing header for memcpy() in port.h |
||
---|---|---|
dec | ||
docs | ||
enc | ||
python | ||
tests | ||
tools | ||
.gitignore | ||
LICENSE | ||
README.md | ||
setup.py | ||
shared.mk |
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