summaryrefslogtreecommitdiff
path: root/Build/source/utils/xz-4.999.9beta/src/xz/xz.1
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/xz-4.999.9beta/src/xz/xz.1')
-rw-r--r--Build/source/utils/xz-4.999.9beta/src/xz/xz.11250
1 files changed, 0 insertions, 1250 deletions
diff --git a/Build/source/utils/xz-4.999.9beta/src/xz/xz.1 b/Build/source/utils/xz-4.999.9beta/src/xz/xz.1
deleted file mode 100644
index 2fef75f43a5..00000000000
--- a/Build/source/utils/xz-4.999.9beta/src/xz/xz.1
+++ /dev/null
@@ -1,1250 +0,0 @@
-'\" t
-.\"
-.\" Author: Lasse Collin
-.\"
-.\" This file has been put into the public domain.
-.\" You can do whatever you want with this file.
-.\"
-.TH XZ 1 "2009-08-27" "Tukaani" "XZ Utils"
-.SH NAME
-xz, unxz, xzcat, lzma, unlzma, lzcat \- Compress or decompress .xz and .lzma files
-.SH SYNOPSIS
-.B xz
-.RI [ option ]...
-.RI [ file ]...
-.PP
-.B unxz
-is equivalent to
-.BR "xz \-\-decompress" .
-.br
-.B xzcat
-is equivalent to
-.BR "xz \-\-decompress \-\-stdout" .
-.br
-.B lzma
-is equivalent to
-.BR "xz \-\-format=lzma" .
-.br
-.B unlzma
-is equivalent to
-.BR "xz \-\-format=lzma \-\-decompress" .
-.br
-.B lzcat
-is equivalent to
-.BR "xz \-\-format=lzma \-\-decompress \-\-stdout" .
-.PP
-When writing scripts that need to decompress files, it is recommended to
-always use the name
-.B xz
-with appropriate arguments
-.RB ( "xz \-d"
-or
-.BR "xz \-dc" )
-instead of the names
-.B unxz
-and
-.BR xzcat.
-.SH DESCRIPTION
-.B xz
-is a general-purpose data compression tool with command line syntax similar to
-.BR gzip (1)
-and
-.BR bzip2 (1).
-The native file format is the
-.B .xz
-format, but also the legacy
-.B .lzma
-format and raw compressed streams with no container format headers
-are supported.
-.PP
-.B xz
-compresses or decompresses each
-.I file
-according to the selected operation mode.
-If no
-.I files
-are given or
-.I file
-is
-.BR \- ,
-.B xz
-reads from standard input and writes the processed data to standard output.
-.B xz
-will refuse (display an error and skip the
-.IR file )
-to write compressed data to standard output if it is a terminal. Similarly,
-.B xz
-will refuse to read compressed data from standard input if it is a terminal.
-.PP
-Unless
-.B \-\-stdout
-is specified,
-.I files
-other than
-.B \-
-are written to a new file whose name is derived from the source
-.I file
-name:
-.IP \(bu 3
-When compressing, the suffix of the target file format
-.RB ( .xz
-or
-.BR .lzma )
-is appended to the source filename to get the target filename.
-.IP \(bu 3
-When decompressing, the
-.B .xz
-or
-.B .lzma
-suffix is removed from the filename to get the target filename.
-.B xz
-also recognizes the suffixes
-.B .txz
-and
-.BR .tlz ,
-and replaces them with the
-.B .tar
-suffix.
-.PP
-If the target file already exists, an error is displayed and the
-.I file
-is skipped.
-.PP
-Unless writing to standard output,
-.B xz
-will display a warning and skip the
-.I file
-if any of the following applies:
-.IP \(bu 3
-.I File
-is not a regular file. Symbolic links are not followed, thus they
-are never considered to be regular files.
-.IP \(bu 3
-.I File
-has more than one hardlink.
-.IP \(bu 3
-.I File
-has setuid, setgid, or sticky bit set.
-.IP \(bu 3
-The operation mode is set to compress, and the
-.I file
-already has a suffix of the target file format
-.RB ( .xz
-or
-.B .txz
-when compressing to the
-.B .xz
-format, and
-.B .lzma
-or
-.B .tlz
-when compressing to the
-.B .lzma
-format).
-.IP \(bu 3
-The operation mode is set to decompress, and the
-.I file
-doesn't have a suffix of any of the supported file formats
-.RB ( .xz ,
-.BR .txz ,
-.BR .lzma ,
-or
-.BR .tlz ).
-.PP
-After successfully compressing or decompressing the
-.IR file ,
-.B xz
-copies the owner, group, permissions, access time, and modification time
-from the source
-.I file
-to the target file. If copying the group fails, the permissions are modified
-so that the target file doesn't become accessible to users who didn't have
-permission to access the source
-.IR file .
-.B xz
-doesn't support copying other metadata like access control lists
-or extended attributes yet.
-.PP
-Once the target file has been successfully closed, the source
-.I file
-is removed unless
-.B \-\-keep
-was specified. The source
-.I file
-is never removed if the output is written to standard output.
-.PP
-Sending
-.B SIGINFO
-or
-.B SIGUSR1
-to the
-.B xz
-process makes it print progress information to standard error.
-This has only limited use since when standard error is a terminal, using
-.B \-\-verbose
-will display an automatically updating progress indicator.
-.SS "Memory usage"
-The memory usage of
-.B xz
-varies from a few hundred kilobytes to several gigabytes depending on
-the compression settings. The settings used when compressing a file
-affect also the memory usage of the decompressor. Typically the decompressor
-needs only 5\ % to 20\ % of the amount of RAM that the compressor needed when
-creating the file. Still, the worst-case memory usage of the decompressor
-is several gigabytes.
-.PP
-To prevent uncomfortable surprises caused by huge memory usage,
-.B xz
-has a built-in memory usage limiter. The default limit is 40 % of total
-physical RAM. While operating systems provide ways to limit the memory usage
-of processes, relying on it wasn't deemed to be flexible enough.
-.PP
-When compressing, if the selected compression settings exceed the memory
-usage limit, the settings are automatically adjusted downwards and a notice
-about this is displayed. As an exception, if the memory usage limit is
-exceeded when compressing with
-.BR \-\-format=raw ,
-an error is displayed and
-.B xz
-will exit with exit status
-.BR 1 .
-.PP
-If source
-.I file
-cannot be decompressed without exceeding the memory usage limit, an error
-message is displayed and the file is skipped. Note that compressed files
-may contain many blocks, which may have been compressed with different
-settings. Typically all blocks will have roughly the same memory requirements,
-but it is possible that a block later in the file will exceed the memory usage
-limit, and an error about too low memory usage limit gets displayed after some
-data has already been decompressed.
-.PP
-The absolute value of the active memory usage limit can be seen near
-the bottom of the output of
-.BR \-\-long\-help .
-The default limit can be overriden with
-\fB\-\-memory=\fIlimit\fR.
-.SH OPTIONS
-.SS "Integer suffixes and special values"
-In most places where an integer argument is expected, an optional suffix
-is supported to easily indicate large integers. There must be no space
-between the integer and the suffix.
-.TP
-.BR k " or " kB
-The integer is multiplied by 1,000 (10^3). For example,
-.B "5k"
-or
-.B "5kB"
-equals
-.BR "5000" .
-.TP
-.BR Ki " or " KiB
-The integer is multiplied by 1,024 (2^10).
-.TP
-.BR M " or " MB
-The integer is multiplied by 1,000,000 (10^6).
-.TP
-.BR Mi " or " MiB
-The integer is multiplied by 1,048,576 (2^20).
-.TP
-.BR G " or " GB
-The integer is multiplied by 1,000,000,000 (10^9).
-.TP
-.BR Gi " or " GiB
-The integer is multiplied by 1,073,741,824 (2^30).
-.PP
-A special value
-.B max
-can be used to indicate the maximum integer value supported by the option.
-.SS "Operation mode"
-If multiple operation mode options are given, the last one takes effect.
-.TP
-.BR \-z ", " \-\-compress
-Compress. This is the default operation mode when no operation mode option
-is specified, and no other operation mode is implied from the command name
-(for example,
-.B unxz
-implies
-.BR \-\-decompress ).
-.TP
-.BR \-d ", " \-\-decompress ", " \-\-uncompress
-Decompress.
-.TP
-.BR \-t ", " \-\-test
-Test the integrity of compressed
-.IR files .
-No files are created or removed. This option is equivalent to
-.B "\-\-decompress \-\-stdout"
-except that the decompressed data is discarded instead of being
-written to standard output.
-.TP
-.BR \-l ", " \-\-list
-View information about the compressed files. No uncompressed output is
-produced, and no files are created or removed. In list mode, the program
-cannot read the compressed data from standard input or from other
-unseekable sources.
-.IP
-.B "This feature has not been implemented yet."
-.SS "Operation modifiers"
-.TP
-.BR \-k ", " \-\-keep
-Keep (don't delete) the input files.
-.TP
-.BR \-f ", " \-\-force
-This option has several effects:
-.RS
-.IP \(bu 3
-If the target file already exists, delete it before compressing or
-decompressing.
-.IP \(bu 3
-Compress or decompress even if the input is not a regular file,
-has more than one hardlink, or has setuid, setgid, or sticky bit set.
-The setuid, setgid, and sticky bits are not copied to the target file.
-.IP \(bu 3
-If combined with
-.B \-\-decompress
-.BR \-\-stdout
-and
-.B xz
-doesn't recognize the type of the source file,
-.B xz
-will copy the source file as is to standard output. This allows using
-.B xzcat
-.B \--force
-like
-.BR cat (1)
-for files that have not been compressed with
-.BR xz .
-Note that in future,
-.B xz
-might support new compressed file formats, which may make
-.B xz
-decompress more types of files instead of copying them as is to
-standard output.
-.BI \-\-format= format
-can be used to restrict
-.B xz
-to decompress only a single file format.
-.IP \(bu 3
-Allow writing compressed data to a terminal, and reading compressed data
-from a terminal.
-.RE
-.TP
-.BR \-c ", " \-\-stdout ", " \-\-to-stdout
-Write the compressed or decompressed data to standard output instead of
-a file. This implies
-.BR \-\-keep .
-.TP
-\fB\-S\fR \fI.suf\fR, \fB\-\-suffix=\fI.suf
-When compressing, use
-.I .suf
-as the suffix for the target file instead of
-.B .xz
-or
-.BR .lzma .
-If not writing to standard output and the source file already has the suffix
-.IR .suf ,
-a warning is displayed and the file is skipped.
-.IP
-When decompressing, recognize also files with the suffix
-.I .suf
-in addition to files with the
-.BR .xz ,
-.BR .txz ,
-.BR .lzma ,
-or
-.B .tlz
-suffix. If the source file has the suffix
-.IR .suf ,
-the suffix is removed to get the target filename.
-.IP
-When compressing or decompressing raw streams
-.RB ( \-\-format=raw ),
-the suffix must always be specified unless writing to standard output,
-because there is no default suffix for raw streams.
-.TP
-\fB\-\-files\fR[\fB=\fIfile\fR]
-Read the filenames to process from
-.IR file ;
-if
-.I file
-is omitted, filenames are read from standard input. Filenames must be
-terminated with the newline character. If filenames are given also as
-command line arguments, they are processed before the filenames read from
-.IR file .
-.TP
-\fB\-\-files0\fR[\fB=\fIfile\fR]
-This is identical to \fB\-\-files\fR[\fB=\fIfile\fR] except that the
-filenames must be terminated with the null character.
-.SS "Basic file format and compression options"
-.TP
-\fB\-F\fR \fIformat\fR, \fB\-\-format=\fIformat
-Specify the file format to compress or decompress:
-.RS
-.IP \(bu 3
-.BR auto :
-This is the default. When compressing,
-.B auto
-is equivalent to
-.BR xz .
-When decompressing, the format of the input file is autodetected. Note that
-raw streams (created with
-.BR \-\-format=raw )
-cannot be autodetected.
-.IP \(bu 3
-.BR xz :
-Compress to the
-.B .xz
-file format, or accept only
-.B .xz
-files when decompressing.
-.IP \(bu 3
-.B lzma
-or
-.BR alone :
-Compress to the legacy
-.B .lzma
-file format, or accept only
-.B .lzma
-files when decompressing. The alternative name
-.B alone
-is provided for backwards compatibility with LZMA Utils.
-.IP \(bu 3
-.BR raw :
-Compress or uncompress a raw stream (no headers). This is meant for advanced
-users only. To decode raw streams, you need to set not only
-.B \-\-format=raw
-but also specify the filter chain, which would normally be stored in the
-container format headers.
-.RE
-.TP
-\fB\-C\fR \fIcheck\fR, \fB\-\-check=\fIcheck
-Specify the type of the integrity check, which is calculated from the
-uncompressed data. This option has an effect only when compressing into the
-.B .xz
-format; the
-.B .lzma
-format doesn't support integrity checks.
-The integrity check (if any) is verified when the
-.B .xz
-file is decompressed.
-.IP
-Supported
-.I check
-types:
-.RS
-.IP \(bu 3
-.BR none :
-Don't calculate an integrity check at all. This is usually a bad idea. This
-can be useful when integrity of the data is verified by other means anyway.
-.IP \(bu 3
-.BR crc32 :
-Calculate CRC32 using the polynomial from IEEE-802.3 (Ethernet).
-.IP \(bu 3
-.BR crc64 :
-Calculate CRC64 using the polynomial from ECMA-182. This is the default, since
-it is slightly better than CRC32 at detecting damaged files and the speed
-difference is negligible.
-.IP \(bu 3
-.BR sha256 :
-Calculate SHA-256. This is somewhat slower than CRC32 and CRC64.
-.RE
-.IP
-Integrity of the
-.B .xz
-headers is always verified with CRC32. It is not possible to change or
-disable it.
-.TP
-.BR \-0 " ... " \-9
-Select compression preset. If a preset level is specified multiple times,
-the last one takes effect.
-.IP
-The compression preset levels can be categorised roughly into three
-categories:
-.RS
-.IP "\fB\-0\fR ... \fB\-2"
-Fast presets with relatively low memory usage.
-.B \-1
-and
-.B \-2
-should give compression speed and ratios comparable to
-.B "bzip2 \-1"
-and
-.BR "bzip2 \-9" ,
-respectively.
-Currently
-.B \-0
-is not very good (not much faster than
-.B \-1
-but much worse compression). In future,
-.B \-0
-may be indicate some fast algorithm instead of LZMA2.
-.IP "\fB\-3\fR ... \fB\-5"
-Good compression ratio with low to medium memory usage.
-These are significantly slower than levels 0\-2.
-.IP "\fB\-6\fR ... \fB\-9"
-Excellent compression with medium to high memory usage. These are also
-slower than the lower preset levels. The default is
-.BR \-6 .
-Unless you want to maximize the compression ratio, you probably don't want
-a higher preset level than
-.B \-7
-due to speed and memory usage.
-.RE
-.IP
-The exact compression settings (filter chain) used by each preset may
-vary between
-.B xz
-versions. The settings may also vary between files being compressed, if
-.B xz
-determines that modified settings will probably give better compression
-ratio without significantly affecting compression time or memory usage.
-.IP
-Because the settings may vary, the memory usage may vary too. The following
-table lists the maximum memory usage of each preset level, which won't be
-exceeded even in future versions of
-.BR xz .
-.IP
-.B "FIXME: The table below is just a rough idea."
-.RS
-.RS
-.TS
-tab(;);
-c c c
-n n n.
-Preset;Compression;Decompression
-\-0;6 MiB;1 MiB
-\-1;6 MiB;1 MiB
-\-2;10 MiB;1 MiB
-\-3;20 MiB;2 MiB
-\-4;30 MiB;3 MiB
-\-5;60 MiB;6 MiB
-\-6;100 MiB;10 MiB
-\-7;200 MiB;20 MiB
-\-8;400 MiB;40 MiB
-\-9;800 MiB;80 MiB
-.TE
-.RE
-.RE
-.IP
-When compressing,
-.B xz
-automatically adjusts the compression settings downwards if
-the memory usage limit would be exceeded, so it is safe to specify
-a high preset level even on systems that don't have lots of RAM.
-.TP
-.BR \-\-fast " and " \-\-best
-These are somewhat misleading aliases for
-.B \-0
-and
-.BR \-9 ,
-respectively.
-These are provided only for backwards compatibility with LZMA Utils.
-Avoid using these options.
-.IP
-Especially the name of
-.B \-\-best
-is misleading, because the definition of best depends on the input data,
-and that usually people don't want the very best compression ratio anyway,
-because it would be very slow.
-.TP
-.BR \-e ", " \-\-extreme
-Modify the compression preset (\fB\-0\fR ... \fB\-9\fR) so that a little bit
-better compression ratio can be achieved without increasing memory usage
-of the compressor or decompressor (exception: compressor memory usage may
-increase a little with presets \fB\-0\fR ... \fB\-2\fR). The downside is that
-the compression time will increase dramatically (it can easily double).
-.TP
-\fB\-M\fR \fIlimit\fR, \fB\-\-memory=\fIlimit
-Set the memory usage limit. If this option is specied multiple times,
-the last one takes effect. The
-.I limit
-can be specified in multiple ways:
-.RS
-.IP \(bu 3
-The
-.I limit
-can be an absolute value in bytes. Using an integer suffix like
-.B MiB
-can be useful. Example:
-.B "\-\-memory=80MiB"
-.IP \(bu 3
-The
-.I limit
-can be specified as a percentage of physical RAM. Example:
-.B "\-\-memory=70%"
-.IP \(bu 3
-The
-.I limit
-can be reset back to its default value (currently 40 % of physical RAM)
-by setting it to
-.BR 0 .
-.IP \(bu 3
-The memory usage limiting can be effectively disabled by setting
-.I limit
-to
-.BR max .
-This isn't recommended. It's usually better to use, for example,
-.BR \-\-memory=90% .
-.RE
-.IP
-The current
-.I limit
-can be seen near the bottom of the output of the
-.B \-\-long-help
-option.
-.TP
-\fB\-T\fR \fIthreads\fR, \fB\-\-threads=\fIthreads
-Specify the maximum number of worker threads to use. The default is
-the number of available CPU cores. You can see the current value of
-.I threads
-near the end of the output of the
-.B \-\-long\-help
-option.
-.IP
-The actual number of worker threads can be less than
-.I threads
-if using more threads would exceed the memory usage limit.
-In addition to CPU-intensive worker threads,
-.B xz
-may use a few auxiliary threads, which don't use a lot of CPU time.
-.IP
-.B "Multithreaded compression and decompression are not implemented yet,"
-.B "so this option has no effect for now."
-.SS Custom compressor filter chains
-A custom filter chain allows specifying the compression settings in detail
-instead of relying on the settings associated to the preset levels.
-When a custom filter chain is specified, the compression preset level options
-(\fB\-0\fR ... \fB\-9\fR and \fB\-\-extreme\fR) are silently ignored.
-.PP
-A filter chain is comparable to piping on the UN*X command line.
-When compressing, the uncompressed input goes to the first filter, whose
-output goes to the next filter (if any). The output of the last filter
-gets written to the compressed file. The maximum number of filters in
-the chain is four, but typically a filter chain has only one or two filters.
-.PP
-Many filters have limitations where they can be in the filter chain:
-some filters can work only as the last filter in the chain, some only
-as a non-last filter, and some work in any position in the chain. Depending
-on the filter, this limitation is either inherent to the filter design or
-exists to prevent security issues.
-.PP
-A custom filter chain is specified by using one or more filter options in
-the order they are wanted in the filter chain. That is, the order of filter
-options is significant! When decoding raw streams
-.RB ( \-\-format=raw ),
-the filter chain is specified in the same order as it was specified when
-compressing.
-.PP
-Filters take filter-specific
-.I options
-as a comma-separated list. Extra commas in
-.I options
-are ignored. Every option has a default value, so you need to
-specify only those you want to change.
-.TP
-\fB\-\-lzma1\fR[\fB=\fIoptions\fR], \fB\-\-lzma2\fR[\fB=\fIoptions\fR]
-Add LZMA1 or LZMA2 filter to the filter chain. These filter can be used
-only as the last filter in the chain.
-.IP
-LZMA1 is a legacy filter, which is supported almost solely due to the legacy
-.B .lzma
-file format, which supports only LZMA1. LZMA2 is an updated
-version of LZMA1 to fix some practical issues of LZMA1. The
-.B .xz
-format uses LZMA2, and doesn't support LZMA1 at all. Compression speed and
-ratios of LZMA1 and LZMA2 are practically the same.
-.IP
-LZMA1 and LZMA2 share the same set of
-.IR options :
-.RS
-.TP
-.BI preset= preset
-Reset all LZMA1 or LZMA2
-.I options
-to
-.IR preset .
-.I Preset
-consist of an integer, which may be followed by single-letter preset
-modifiers. The integer can be from
-.B 0
-to
-.BR 9 ,
-matching the command line options \fB\-0\fR ... \fB\-9\fR.
-The only supported modifier is currently
-.BR e ,
-which matches
-.BR \-\-extreme .
-.IP
-The default
-.I preset
-is
-.BR 6 ,
-from which the default values for the rest of the LZMA1 or LZMA2
-.I options
-are taken.
-.TP
-.BI dict= size
-Dictionary (history buffer) size indicates how many bytes of the recently
-processed uncompressed data is kept in memory. One method to reduce size of
-the uncompressed data is to store distance-length pairs, which
-indicate what data to repeat from the dictionary buffer. The bigger
-the dictionary, the better the compression ratio usually is,
-but dictionaries bigger than the uncompressed data are waste of RAM.
-.IP
-Typical dictionary size is from 64 KiB to 64 MiB. The minimum is 4 KiB.
-The maximum for compression is currently 1.5 GiB. The decompressor already
-supports dictionaries up to one byte less than 4 GiB, which is the
-maximum for LZMA1 and LZMA2 stream formats.
-.IP
-Dictionary size has the biggest effect on compression ratio.
-Dictionary size and match finder together determine the memory usage of
-the LZMA1 or LZMA2 encoder. The same dictionary size is required
-for decompressing that was used when compressing, thus the memory usage of
-the decoder is determined by the dictionary size used when compressing.
-.TP
-.BI lc= lc
-Specify the number of literal context bits. The minimum is
-.B 0
-and the maximum is
-.BR 4 ;
-the default is
-.BR 3 .
-In addition, the sum of
-.I lc
-and
-.I lp
-must not exceed
-.BR 4 .
-.TP
-.BI lp= lp
-Specify the number of literal position bits. The minimum is
-.B 0
-and the maximum is
-.BR 4 ;
-the default is
-.BR 0 .
-.TP
-.BI pb= pb
-Specify the number of position bits. The minimum is
-.B 0
-and the maximum is
-.BR 4 ;
-the default is
-.BR 2 .
-.TP
-.BI mode= mode
-Compression
-.I mode
-specifies the function used to analyze the data produced by the match finder.
-Supported
-.I modes
-are
-.B fast
-and
-.BR normal .
-The default is
-.B fast
-for
-.I presets
-.BR 0 \- 2
-and
-.B normal
-for
-.I presets
-.BR 3 \- 9 .
-.TP
-.BI mf= mf
-Match finder has a major effect on encoder speed, memory usage, and
-compression ratio. Usually Hash Chain match finders are faster than
-Binary Tree match finders. Hash Chains are usually used together with
-.B mode=fast
-and Binary Trees with
-.BR mode=normal .
-The memory usage formulas are only rough estimates,
-which are closest to reality when
-.I dict
-is a power of two.
-.RS
-.TP
-.B hc3
-Hash Chain with 2- and 3-byte hashing
-.br
-Minimum value for
-.IR nice :
-3
-.br
-Memory usage:
-.I dict
-* 7.5 (if
-.I dict
-<= 16 MiB);
-.br
-.I dict
-* 5.5 + 64 MiB (if
-.I dict
-> 16 MiB)
-.TP
-.B hc4
-Hash Chain with 2-, 3-, and 4-byte hashing
-.br
-Minimum value for
-.IR nice :
-4
-.br
-Memory usage:
-.I dict
-* 7.5
-.TP
-.B bt2
-Binary Tree with 2-byte hashing
-.br
-Minimum value for
-.IR nice :
-2
-.br
-Memory usage:
-.I dict
-* 9.5
-.TP
-.B bt3
-Binary Tree with 2- and 3-byte hashing
-.br
-Minimum value for
-.IR nice :
-3
-.br
-Memory usage:
-.I dict
-* 11.5 (if
-.I dict
-<= 16 MiB);
-.br
-.I dict
-* 9.5 + 64 MiB (if
-.I dict
-> 16 MiB)
-.TP
-.B bt4
-Binary Tree with 2-, 3-, and 4-byte hashing
-.br
-Minimum value for
-.IR nice :
-4
-.br
-Memory usage:
-.I dict
-* 11.5
-.RE
-.TP
-.BI nice= nice
-Specify what is considered to be a nice length for a match. Once a match
-of at least
-.I nice
-bytes is found, the algorithm stops looking for possibly better matches.
-.IP
-.I nice
-can be 2\-273 bytes. Higher values tend to give better compression ratio
-at expense of speed. The default depends on the
-.I preset
-level.
-.TP
-.BI depth= depth
-Specify the maximum search depth in the match finder. The default is the
-special value
-.BR 0 ,
-which makes the compressor determine a reasonable
-.I depth
-from
-.I mf
-and
-.IR nice .
-.IP
-Using very high values for
-.I depth
-can make the encoder extremely slow with carefully crafted files.
-Avoid setting the
-.I depth
-over 1000 unless you are prepared to interrupt the compression in case it
-is taking too long.
-.RE
-.IP
-When decoding raw streams
-.RB ( \-\-format=raw ),
-LZMA2 needs only the value of
-.BR dict .
-LZMA1 needs also
-.BR lc ,
-.BR lp ,
-and
-.BR pb.
-.TP
-\fB\-\-x86\fR[\fB=\fIoptions\fR]
-.TP
-\fB\-\-powerpc\fR[\fB=\fIoptions\fR]
-.TP
-\fB\-\-ia64\fR[\fB=\fIoptions\fR]
-.TP
-\fB\-\-arm\fR[\fB=\fIoptions\fR]
-.TP
-\fB\-\-armthumb\fR[\fB=\fIoptions\fR]
-.TP
-\fB\-\-sparc\fR[\fB=\fIoptions\fR]
-Add a branch/call/jump (BCJ) filter to the filter chain. These filters
-can be used only as non-last filter in the filter chain.
-.IP
-A BCJ filter converts relative addresses in the machine code to their
-absolute counterparts. This doesn't change the size of the data, but
-it increases redundancy, which allows e.g. LZMA2 to get better
-compression ratio.
-.IP
-The BCJ filters are always reversible, so using a BCJ filter for wrong
-type of data doesn't cause any data loss. However, applying a BCJ filter
-for wrong type of data is a bad idea, because it tends to make the
-compression ratio worse.
-.IP
-Different instruction sets have have different alignment:
-.RS
-.RS
-.TS
-tab(;);
-l n l
-l n l.
-Filter;Alignment;Notes
-x86;1;32-bit and 64-bit x86
-PowerPC;4;Big endian only
-ARM;4;Little endian only
-ARM-Thumb;2;Little endian only
-IA-64;16;Big or little endian
-SPARC;4;Big or little endian
-.TE
-.RE
-.RE
-.IP
-Since the BCJ-filtered data is usually compressed with LZMA2, the compression
-ratio may be improved slightly if the LZMA2 options are set to match the
-alignment of the selected BCJ filter. For example, with the IA-64 filter,
-it's good to set
-.B pb=4
-with LZMA2 (2^4=16). The x86 filter is an exception; it's usually good to
-stick to LZMA2's default four-byte alignment when compressing x86 executables.
-.IP
-All BCJ filters support the same
-.IR options :
-.RS
-.TP
-.BI start= offset
-Specify the start
-.I offset
-that is used when converting between relative and absolute addresses.
-The
-.I offset
-must be a multiple of the alignment of the filter (see the table above).
-The default is zero. In practice, the default is good; specifying
-a custom
-.I offset
-is almost never useful.
-.IP
-Specifying a non-zero start
-.I offset
-is probably useful only if the executable has multiple sections, and there
-are many cross-section jumps or calls. Applying a BCJ filter separately for
-each section with proper start offset and then compressing the result as
-a single chunk may give some improvement in compression ratio compared
-to applying the BCJ filter with the default
-.I offset
-for the whole executable.
-.RE
-.TP
-\fB\-\-delta\fR[\fB=\fIoptions\fR]
-Add Delta filter to the filter chain. The Delta filter
-can be used only as non-last filter in the filter chain.
-.IP
-Currently only simple byte-wise delta calculation is supported. It can
-be useful when compressing e.g. uncompressed bitmap images or uncompressed
-PCM audio. However, special purpose algorithms may give significantly better
-results than Delta + LZMA2. This is true especially with audio, which
-compresses faster and better e.g. with FLAC.
-.IP
-Supported
-.IR options :
-.RS
-.TP
-.BI dist= distance
-Specify the
-.I distance
-of the delta calculation as bytes.
-.I distance
-must be 1\-256. The default is 1.
-.IP
-For example, with
-.B dist=2
-and eight-byte input A1 B1 A2 B3 A3 B5 A4 B7, the output will be
-A1 B1 01 02 01 02 01 02.
-.RE
-.SS "Other options"
-.TP
-.BR \-q ", " \-\-quiet
-Suppress warnings and notices. Specify this twice to suppress errors too.
-This option has no effect on the exit status. That is, even if a warning
-was suppressed, the exit status to indicate a warning is still used.
-.TP
-.BR \-v ", " \-\-verbose
-Be verbose. If standard error is connected to a terminal,
-.B xz
-will display a progress indicator.
-Specifying
-.B \-\-verbose
-twice will give even more verbose output (useful mostly for debugging).
-.TP
-.BR \-Q ", " \-\-no\-warn
-Don't set the exit status to
-.B 2
-even if a condition worth a warning was detected. This option doesn't affect
-the verbosity level, thus both
-.B \-\-quiet
-and
-.B \-\-no\-warn
-have to be used to not display warnings and to not alter the exit status.
-.TP
-.BR \-h ", " \-\-help
-Display a help message describing the most commonly used options,
-and exit successfully.
-.TP
-.BR \-H ", " \-\-long\-help
-Display a help message describing all features of
-.BR xz ,
-and exit successfully
-.TP
-.BR \-V ", " \-\-version
-Display the version number of
-.B xz
-and liblzma.
-.SH "EXIT STATUS"
-.TP
-.B 0
-All is good.
-.TP
-.B 1
-An error occurred.
-.TP
-.B 2
-Something worth a warning occurred, but no actual errors occurred.
-.PP
-Notices (not warnings or errors) printed on standard error don't affect
-the exit status.
-.SH ENVIRONMENT
-.TP
-.B XZ_OPT
-A space-separated list of options is parsed from
-.B XZ_OPT
-before parsing the options given on the command line. Note that only
-options are parsed from
-.BR XZ_OPT ;
-all non-options are silently ignored. Parsing is done with
-.BR getopt_long (3)
-which is used also for the command line arguments.
-.SH "LZMA UTILS COMPATIBILITY"
-The command line syntax of
-.B xz
-is practically a superset of
-.BR lzma ,
-.BR unlzma ,
-and
-.BR lzcat
-as found from LZMA Utils 4.32.x. In most cases, it is possible to replace
-LZMA Utils with XZ Utils without breaking existing scripts. There are some
-incompatibilities though, which may sometimes cause problems.
-.SS "Compression preset levels"
-The numbering of the compression level presets is not identical in
-.B xz
-and LZMA Utils.
-The most important difference is how dictionary sizes are mapped to different
-presets. Dictionary size is roughly equal to the decompressor memory usage.
-.RS
-.TS
-tab(;);
-c c c
-c n n.
-Level;xz;LZMA Utils
-\-1;64 KiB;64 KiB
-\-2;512 KiB;1 MiB
-\-3;1 MiB;512 KiB
-\-4;2 MiB;1 MiB
-\-5;4 MiB;2 MiB
-\-6;8 MiB;4 MiB
-\-7;16 MiB;8 MiB
-\-8;32 MiB;16 MiB
-\-9;64 MiB;32 MiB
-.TE
-.RE
-.PP
-The dictionary size differences affect the compressor memory usage too,
-but there are some other differences between LZMA Utils and XZ Utils, which
-make the difference even bigger:
-.RS
-.TS
-tab(;);
-c c c
-c n n.
-Level;xz;LZMA Utils 4.32.x
-\-1;2 MiB;2 MiB
-\-2;5 MiB;12 MiB
-\-3;13 MiB;12 MiB
-\-4;25 MiB;16 MiB
-\-5;48 MiB;26 MiB
-\-6;94 MiB;45 MiB
-\-7;186 MiB;83 MiB
-\-8;370 MiB;159 MiB
-\-9;674 MiB;311 MiB
-.TE
-.RE
-.PP
-The default preset level in LZMA Utils is
-.B \-7
-while in XZ Utils it is
-.BR \-6 ,
-so both use 8 MiB dictionary by default.
-.SS "Streamed vs. non-streamed .lzma files"
-Uncompressed size of the file can be stored in the
-.B .lzma
-header. LZMA Utils does that when compressing regular files.
-The alternative is to mark that uncompressed size is unknown and
-use end of payload marker to indicate where the decompressor should stop.
-LZMA Utils uses this method when uncompressed size isn't known, which is
-the case for example in pipes.
-.PP
-.B xz
-supports decompressing
-.B .lzma
-files with or without end of payload marker, but all
-.B .lzma
-files created by
-.B xz
-will use end of payload marker and have uncompressed size marked as unknown
-in the
-.B .lzma
-header. This may be a problem in some (uncommon) situations. For example, a
-.B .lzma
-decompressor in an embedded device might work only with files that have known
-uncompressed size. If you hit this problem, you need to use LZMA Utils or
-LZMA SDK to create
-.B .lzma
-files with known uncompressed size.
-.SS "Unsupported .lzma files"
-The
-.B .lzma
-format allows
-.I lc
-values up to 8, and
-.I lp
-values up to 4. LZMA Utils can decompress files with any
-.I lc
-and
-.IR lp ,
-but always creates files with
-.B lc=3
-and
-.BR lp=0 .
-Creating files with other
-.I lc
-and
-.I lp
-is possible with
-.B xz
-and with LZMA SDK.
-.PP
-The implementation of the LZMA1 filter in liblzma requires
-that the sum of
-.I lc
-and
-.I lp
-must not exceed 4. Thus,
-.B .lzma
-files which exceed this limitation, cannot be decompressed with
-.BR xz .
-.PP
-LZMA Utils creates only
-.B .lzma
-files which have dictionary size of
-.RI "2^" n
-(a power of 2), but accepts files with any dictionary size.
-liblzma accepts only
-.B .lzma
-files which have dictionary size of
-.RI "2^" n
-or
-.RI "2^" n " + 2^(" n "\-1)."
-This is to decrease false positives when autodetecting
-.B .lzma
-files.
-.PP
-These limitations shouldn't be a problem in practice, since practically all
-.B .lzma
-files have been compressed with settings that liblzma will accept.
-.SS "Trailing garbage"
-When decompressing, LZMA Utils silently ignore everything after the first
-.B .lzma
-stream. In most situations, this is a bug. This also means that LZMA Utils
-don't support decompressing concatenated
-.B .lzma
-files.
-.PP
-If there is data left after the first
-.B .lzma
-stream,
-.B xz
-considers the file to be corrupt. This may break obscure scripts which have
-assumed that trailing garbage is ignored.
-.SH NOTES
-.SS Compressed output may vary
-The exact compressed output produced from the same uncompressed input file
-may vary between XZ Utils versions even if compression options are identical.
-This is because the encoder can be improved (faster or better compression)
-without affecting the file format. The output can vary even between different
-builds of the same XZ Utils version, if different build options are used or
-if the endianness of the hardware is different for different builds.
-.PP
-The above means that implementing
-.B \-\-rsyncable
-to create rsyncable
-.B .xz
-files is not going to happen without freezing a part of the encoder
-implementation, which can then be used with
-.BR \-\-rsyncable .
-.SS Embedded .xz decompressors
-Embedded
-.B .xz
-decompressor implementations like XZ Embedded don't necessarily support files
-created with
-.I check
-types other than
-.B none
-and
-.BR crc32 .
-Since the default is \fB\-\-check=\fIcrc64\fR, you must use
-.B \-\-check=none
-or
-.B \-\-check=crc32
-when creating files for embedded systems.
-.PP
-Outside embedded systems, all
-.B .xz
-format decompressors support all the
-.I check
-types, or at least are able to decompress the file without verifying the
-integrity check if the particular
-.I check
-is not supported.
-.PP
-XZ Embedded supports BCJ filters, but only with the default start offset.
-.SH "SEE ALSO"
-.BR xzdec (1),
-.BR gzip (1),
-.BR bzip2 (1)
-.PP
-XZ Utils: <http://tukaani.org/xz/>
-.br
-XZ Embedded: <http://tukaani.org/xz/embedded.html>
-.br
-LZMA SDK: <http://7-zip.org/sdk.html>