• Home
Name Date Size #Lines LOC

..--

common/03-May-2024-8,0667,399

dec/03-May-2024-4,9844,040

enc/03-May-2024-24,06320,570

fuzz/03-May-2024-6346

include/brotli/03-May-2024-1,367504

tools/03-May-2024-1,3361,158

BUILD.gnD03-May-20245.5 KiB219194

DEPSD03-May-2024108 55

DIR_METADATAD03-May-202482 54

LICENSED03-May-20241.1 KiB2016

README.chromiumD03-May-20241 KiB2622

README.mdD03-May-20243.2 KiB8652

README.chromium

1Name: Brotli
2URL: https://github.com/google/brotli
3Version: 9801a2c5d6c67c467ffad676ac301379bb877fc3
4License: MIT
5License File: LICENSE
6Security Critical: yes
7
8Description:
9Brotli is a generic byte-level compression algorithm that is used at the
10byte-compression level in WOFF 2.0 font file format. This library is used
11to decode WOFF 2.0 fonts and "Content-Encoding: br" responses.
12
13Some speed measurements to compare with //third_party/zlib were taken:
14https://docs.google.com/spreadsheets/d/1As6Sf03o8adulBH03RzIc0Ei_jNhcKXWArNsTQKk-8M/edit?usp=sharing
15At low compression levels, brotli is faster at compressing than zlib. At
16higher compression levels, brotli or zlib can be faster at compressing,
17depending on the data being compressed. At all compression levels, brotli
18decompresses roughly 1.6-2.0x slower than zlib.
19
20Local Modifications:
21- This only includes the contents of c/ directory, the README.md and the LICENSE
22  files.
23- Auxiliary fuzzer runners removed from fuzz/
24- common/dictionary.bin*: Removed.
25- BUILD.gn: Added.
26

README.md

1<p align="center"><img src="https://brotli.org/brotli.svg" alt="Brotli" width="64"></p>
2
3### Introduction
4
5Brotli is a generic-purpose lossless compression algorithm that compresses data
6using a combination of a modern variant of the LZ77 algorithm, Huffman coding
7and 2nd order context modeling, with a compression ratio comparable to the best
8currently available general-purpose compression methods. It is similar in speed
9with deflate but offers more dense compression.
10
11The specification of the Brotli Compressed Data Format is defined in [RFC 7932](https://tools.ietf.org/html/rfc7932).
12
13Brotli is open-sourced under the MIT License, see the LICENSE file.
14
15Brotli mailing list:
16https://groups.google.com/forum/#!forum/brotli
17
18[![TravisCI Build Status](https://travis-ci.org/google/brotli.svg?branch=master)](https://travis-ci.org/google/brotli)
19[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/google/brotli?branch=master&svg=true)](https://ci.appveyor.com/project/szabadka/brotli)
20
21### Build instructions
22
23#### Autotools-style CMake
24
25[configure-cmake](https://github.com/nemequ/configure-cmake) is an
26autotools-style configure script for CMake-based projects (not supported on Windows).
27
28The basic commands to build, test and install brotli are:
29
30    $ mkdir out && cd out
31    $ ../configure-cmake
32    $ make
33    $ make test
34    $ make install
35
36By default, debug binaries are built. To generate "release" `Makefile` specify `--disable-debug` option to `configure-cmake`.
37
38#### Bazel
39
40See [Bazel](http://www.bazel.build/)
41
42#### CMake
43
44The basic commands to build and install brotli are:
45
46    $ mkdir out && cd out
47    $ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./installed ..
48    $ cmake --build . --config Release --target install
49
50You can use other [CMake](https://cmake.org/) configuration.
51
52#### Premake5
53
54See [Premake5](https://premake.github.io/)
55
56#### Python
57
58To install the latest release of the Python module, run the following:
59
60    $ pip install brotli
61
62To install the tip-of-the-tree version, run:
63
64    $ pip install --upgrade git+https://github.com/google/brotli
65
66See the [Python readme](python/README.md) for more details on installing
67from source, development, and testing.
68
69### Benchmarks
70* [Squash Compression Benchmark](https://quixdb.github.io/squash-benchmark/) / [Unstable Squash Compression Benchmark](https://quixdb.github.io/squash-benchmark/unstable/)
71* [Large Text Compression Benchmark](http://mattmahoney.net/dc/text.html)
72* [Lzturbo Benchmark](https://sites.google.com/site/powturbo/home/benchmark)
73
74### Related projects
75> **Disclaimer:** Brotli authors take no responsibility for the third party projects mentioned in this section.
76
77Independent [decoder](https://github.com/madler/brotli) implementation by Mark Adler, based entirely on format specification.
78
79JavaScript port of brotli [decoder](https://github.com/devongovett/brotli.js). Could be used directly via `npm install brotli`
80
81Hand ported [decoder / encoder](https://github.com/dominikhlbg/BrotliHaxe) in haxe by Dominik Homberger. Output source code: JavaScript, PHP, Python, Java and C#
82
837Zip [plugin](https://github.com/mcmilk/7-Zip-Zstd)
84
85Dart [native bindings](https://github.com/thosakwe/brotli)
86