comparison mupdf-source/thirdparty/brotli/c/tools/brotli.md @ 2:b50eed0cc0ef upstream

ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4. The directory name has changed: no version number in the expanded directory now.
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 15 Sep 2025 11:43:07 +0200
parents
children
comparison
equal deleted inserted replaced
1:1d09e1dec1d9 2:b50eed0cc0ef
1 # NAME
2
3 brotli(1) -- brotli, brcat, unbrotli - compress or decompress files
4
5 # SYNOPSIS
6
7 `brotli` [*OPTION|FILE*]...
8
9 `brcat` is equivalent to `brotli --decompress --concatenated --stdout`
10
11 `unbrotli` is equivalent to `brotli --decompress`
12
13 # DESCRIPTION
14
15 `brotli` is a generic-purpose lossless compression algorithm that compresses
16 data using a combination of a modern variant of the **LZ77** algorithm, Huffman
17 coding and 2-nd order context modeling, with a compression ratio comparable to
18 the best currently available general-purpose compression methods. It is similar
19 in speed with deflate but offers more dense compression.
20
21 `brotli` command line syntax similar to `gzip (1)` and `zstd (1)`.
22 Unlike `gzip (1)`, source files are preserved by default. It is possible to
23 remove them after processing by using the `--rm` _option_.
24
25 Arguments that look like "`--name`" or "`--name=value`" are _options_. Every
26 _option_ has a short form "`-x`" or "`-x value`". Multiple short form _options_
27 could be coalesced:
28
29 * "`--decompress --stdout --suffix=.b`" works the same as
30 * "`-d -s -S .b`" and
31 * "`-dsS .b`"
32
33 `brotli` has 3 operation modes:
34
35 * default mode is compression;
36 * `--decompress` option activates decompression mode;
37 * `--test` option switches to integrity test mode; this option is equivalent to
38 "`--decompress --stdout`" except that the decompressed data is discarded
39 instead of being written to standard output.
40
41 Every non-option argument is a _file_ entry. If no _files_ are given or _file_
42 is "`-`", `brotli` reads from standard input. All arguments after "`--`" are
43 _file_ entries.
44
45 Unless `--stdout` or `--output` is specified, _files_ are written to a new file
46 whose name is derived from the source _file_ name:
47
48 * when compressing, a suffix is appended to the source filename to
49 get the target filename
50 * when decompressing, a suffix is removed from the source filename to
51 get the target filename
52
53 Default suffix is `.br`, but it could be specified with `--suffix` option.
54
55 Conflicting or duplicate _options_ are not allowed.
56
57 # OPTIONS
58
59 * `-#`:
60 compression level (0-9); bigger values cause denser, but slower compression
61 * `-c`, `--stdout`:
62 write on standard output
63 * `-d`, `--decompress`:
64 decompress mode
65 * `-f`, `--force`:
66 force output file overwrite
67 * `-h`, `--help`:
68 display this help and exit
69 * `-j`, `--rm`:
70 remove source file(s); `gzip (1)`-like behaviour
71 * `-k`, `--keep`:
72 keep source file(s); `zstd (1)`-like behaviour
73 * `-n`, `--no-copy-stat`:
74 do not copy source file(s) attributes
75 * `-o FILE`, `--output=FILE`
76 output file; valid only if there is a single input entry
77 * `-q NUM`, `--quality=NUM`:
78 compression level (0-11); bigger values cause denser, but slower compression
79 * `-t`, `--test`:
80 test file integrity mode
81 * `-v`, `--verbose`:
82 increase output verbosity
83 * `-w NUM`, `--lgwin=NUM`:
84 set LZ77 window size (0, 10-24) (default: 24); window size is
85 `(pow(2, NUM) - 16)`; 0 lets compressor decide over the optimal value;
86 bigger windows size improve density; decoder might require up to window size
87 memory to operate
88 * `-C B64`, `--comment=B64`:
89 set comment; argument is base64-decoded first;
90 when decoding: check stream comment;
91 when encoding: embed comment (fingerprint)
92 * `-D FILE`, `--dictionary=FILE`:
93 use FILE as raw (LZ77) dictionary; same dictionary MUST be used both for
94 compression and decompression
95 * `-K`, `--concatenated`:
96 when decoding, allow concatenated brotli streams as input
97 * `-S SUF`, `--suffix=SUF`:
98 output file suffix (default: `.br`)
99 * `-V`, `--version`:
100 display version and exit
101 * `-Z`, `--best`:
102 use best compression level (default); same as "`-q 11`"
103
104 # SEE ALSO
105
106 `brotli` file format is defined in
107 [RFC 7932](https://www.ietf.org/rfc/rfc7932.txt).
108
109 `brotli` is open-sourced under the
110 [MIT License](https://opensource.org/licenses/MIT).
111
112 Mailing list: https://groups.google.com/forum/#!forum/brotli
113
114 # BUGS
115
116 Report bugs at: https://github.com/google/brotli/issues