oxipng/MANUAL.txt
2023-10-10 11:23:24 +13:00

181 lines
6.8 KiB
Text

oxipng 9.0.0
Losslessly improve compression of PNG files
Usage: oxipng [OPTIONS] <files>...
Arguments:
<files>...
File(s) to compress (use '-' for stdin)
Options:
-o, --opt <level>
Set the optimization level preset. The default level 2 is quite fast
and provides good compression. Lower levels are faster, higher levels
provide better compression, though with increasingly diminishing
returns.
0 => --zc 5 --fast (1 trial, determined heuristically)
1 => --zc 10 --fast (1 trial, determined heuristically)
2 => --zc 11 -f 0,1,6,7 --fast (4 fast trials, 1 main trial)
3 => --zc 11 -f 0,7,8,9 (4 trials)
4 => --zc 12 -f 0,7,8,9 (4 trials)
5 => --zc 12 -f 0,1,2,5,6,7,8,9 (8 trials)
6 => --zc 12 -f 0-9 (10 trials)
max => (stable alias for the max level)
Manually specifying a compression option (zc, f, etc.) will override
the optimization preset, regardless of the order you write the
arguments.
[default: 2]
-r, --recursive
When directories are given as input, traverse the directory trees and
optimize all PNG files found (files with “.png” or “.apng” extension).
--dir <directory>
Write output file(s) to <directory>. If the directory does not exist,
it will be created. Note that this will not preserve the directory
structure of the input files when used with '--recursive'.
--out <file>
Write output file to <file>
--stdout
Write output to stdout
-p, --preserve
Preserve file permissions and timestamps if possible
-P, --pretend
Do not write any files, only show compression results
-s
Strip safely-removable chunks, same as '--strip safe'
--strip <mode>
Strip metadata chunks, where <mode> is one of:
safe => Strip all non-critical chunks, except for the following:
cICP, iCCP, sRGB, pHYs, acTL, fcTL, fdAT
all => Strip all non-critical chunks
<list> => Strip chunks in the comma-separated list, e.g. 'bKGD,cHRM'
CAUTION: 'all' will convert APNGs to standard PNGs.
Note that 'bKGD', 'sBIT' and 'hIST' will be forcibly stripped if the
color type or bit depth is changed, regardless of any options set.
--keep <list>
Strip all metadata except in the comma-separated list
-a, --alpha
Perform additional optimization on images with an alpha channel, by
altering the color values of fully transparent pixels. This is
generally recommended for better compression, but take care as this is
technically a lossy transformation and may be unsuitable for some
applications.
-i, --interlace <type>
Set the PNG interlacing type, where <type> is one of:
0 => Remove interlacing from all images that are processed
1 => Apply Adam7 interlacing on all images that are processed
keep => Keep the existing interlacing type of each image
Note that interlacing can add 25-50% to the size of an optimized
image. Only use it if you believe the benefits outweigh the costs for
your use case.
[default: 0]
--scale16
Forcibly reduce 16-bit images to 8-bit. Reduction is performed by
scaling the values, such that e.g. 0x00FF is reduced to 0x01 rather
than 0x00.
-v, --verbose...
Run in verbose mode (use twice to increase verbosity)
-q, --quiet
Run in quiet mode
-f, --filters <list>
Peform compression trials with each of the given filter types. You can
specify a comma-separated list, or a range of values. E.g. '-f 0-3' is
the same as '-f 0,1,2,3'.
PNG delta filters (apply the same filter to every line)
0 => None (recommended to always include this filter)
1 => Sub
2 => Up
3 => Average
4 => Paeth
Heuristic strategies (try to find the best delta filter for each line)
5 => MinSum Minimum sum of absolute differences
6 => Entropy Highest Shannon entropy
7 => Bigrams Lowest count of distinct bigrams
8 => BigEnt Highest Shannon entropy of bigrams
9 => Brute Smallest compressed size (slow)
The default value depends on the optimization level preset.
--fast
Perform a fast compression evaluation of each enabled filter, followed
by a single main compression trial of the best result. Recommended
if you have more filters enabled than CPU cores.
--zc <level>
Deflate compression level (1-12) for main compression trials. The
levels here are defined by the libdeflate compression library.
The default value depends on the optimization level preset.
--nb
Do not change bit depth
--nc
Do not change color type
--np
Do not change color palette
--ng
Do not change to or from grayscale
--nx
Do not perform any transformations and do not deinterlace by default.
--nz
Do not recompress IDAT unless required due to transformations.
Recompression of other compressed chunks (such as iCCP) will also be
disabled. Note that the combination of '--nx' and '--nz' will fully
disable all optimization.
--fix
Do not perform checksum validation of PNG chunks. This may allow some
files with errors to be processed successfully.
--force
Write the output even if it is larger than the input
-Z, --zopfli
Use the much slower but stronger Zopfli compressor for main
compression trials. Recommended use is with '-o max' and '--fast'.
--timeout <secs>
Maximum amount of time, in seconds, to spend on optimizations. Oxipng
will check the timeout before each transformation or compression
trial, and will stop trying to optimize the file if the timeout is
exceeded. Note that this does not cut short any operations that are
already in progress, so it is currently of limited effectiveness for
large files with high compression levels.
-t, --threads <num>
Set number of threads to use [default: num CPU cores]
-h, --help
Print help (see a summary with '-h')
-V, --version
Print version