Edit

kc3-lang/brotli/c/tools/brotli.md

Branch :

  • Show log

    Commit

  • Author : Evgenii Kliuchnikov
    Date : 2022-11-17 13:03:09
    Hash : a8f5813b
    Message : Update Documentation: - add note that brotli is a "stream" format, not an archive-like - regenerate .1 with Pandoc Build: - drop legacy "BROTLI_BUILD_PORTABLE" option - drop "BROTLI_SANITIZED" definition Code: - c: comb includes - c/enc: extract encoder state into separate header - c/enc: drop designated q10 codepath - c/enc: dealing better with flushing of empty stream - fix MSVC compilation API: - py: use library version instead of one in version.h - c: add plugable API to report consumed input / produced output - c/java: support "lean" prepared dictionaries (without copy of source)

  • c/tools/brotli.md
  • # NAME
    
    brotli(1) -- brotli, unbrotli - compress or decompress files
    
    # SYNOPSIS
    
    `brotli` [*OPTION|FILE*]...
    
    `unbrotli` is equivalent to `brotli --decompress`
    
    # DESCRIPTION
    
    `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 2-nd 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.
    
    `brotli` command line syntax similar to `gzip (1)` and `zstd (1)`.
    Unlike `gzip (1)`, source files are preserved by default. It is possible to
    remove them after processing by using the `--rm` _option_.
    
    Arguments that look like "`--name`" or "`--name=value`" are _options_. Every
    _option_ has a short form "`-x`" or "`-x value`". Multiple short form _options_
    could be coalesced:
    
    * "`--decompress --stdout --suffix=.b`" works the same as
    * "`-d -s -S .b`" and
    * "`-dsS .b`"
    
    `brotli` has 3 operation modes:
    
    * default mode is compression;
    * `--decompress` option activates decompression mode;
    * `--test` option switches to integrity test mode; this option is equivalent to
      "`--decompress --stdout`" except that the decompressed data is discarded
      instead of being written to standard output.
    
    Every non-option argument is a _file_ entry. If no _files_ are given or _file_
    is "`-`", `brotli` reads from standard input. All arguments after "`--`" are
    _file_ entries.
    
    Unless `--stdout` or `--output` is specified, _files_ are written to a new file
    whose name is derived from the source _file_ name:
    
    * when compressing, a suffix is appended to the source filename to
      get the target filename
    * when decompressing, a suffix is removed from the source filename to
      get the target filename
    
    Default suffix is `.br`, but it could be specified with `--suffix` option.
    
    Conflicting or duplicate _options_ are not allowed.
    
    # OPTIONS
    
    * `-#`:
        compression level (0-9); bigger values cause denser, but slower compression
    * `-c`, `--stdout`:
        write on standard output
    * `-d`, `--decompress`:
        decompress mode
    * `-f`, `--force`:
        force output file overwrite
    * `-h`, `--help`:
        display this help and exit
    * `-j`, `--rm`:
        remove source file(s); `gzip (1)`-like behaviour
    * `-k`, `--keep`:
        keep source file(s); `zstd (1)`-like behaviour
    * `-n`, `--no-copy-stat`:
        do not copy source file(s) attributes
    * `-o FILE`, `--output=FILE`
        output file; valid only if there is a single input entry
    * `-q NUM`, `--quality=NUM`:
        compression level (0-11); bigger values cause denser, but slower compression
    * `-t`, `--test`:
        test file integrity mode
    * `-v`, `--verbose`:
        increase output verbosity
    * `-w NUM`, `--lgwin=NUM`:
        set LZ77 window size (0, 10-24) (default: 24); window size is
        `(pow(2, NUM) - 16)`; 0 lets compressor decide over the optimal value;
        bigger windows size improve density; decoder might require up to window size
        memory to operate
    * `-D FILE`, `--dictionary=FILE`:
        use FILE as raw (LZ77) dictionary; same dictionary MUST be used both for
        compression and decompression
    * `-S SUF`, `--suffix=SUF`:
        output file suffix (default: `.br`)
    * `-V`, `--version`:
        display version and exit
    * `-Z`, `--best`:
        use best compression level (default); same as "`-q 11`"
    
    # SEE ALSO
    
    `brotli` file format is defined in
    [RFC 7932](https://www.ietf.org/rfc/rfc7932.txt).
    
    `brotli` is open-sourced under the
    [MIT License](https://opensource.org/licenses/MIT).
    
    Mailing list: https://groups.google.com/forum/#!forum/brotli
    
    # BUGS
    
    Report bugs at: https://github.com/google/brotli/issues