parent
4d1b3922a2
commit
85cb8d944b
@ -0,0 +1,284 @@
|
||||
.TH OXIPNG "1" "March 2024" "" "User Commands"
|
||||
.SH NAME
|
||||
.B oxipng
|
||||
\(en Losslessly improve compression of PNG files
|
||||
.SH SYNOPSIS
|
||||
.B oxipng
|
||||
.RI [ OPTIONS ]
|
||||
.IR files ...
|
||||
.SH OPTIONS
|
||||
.SS ARGUMENTS
|
||||
.TP
|
||||
.IR files ...
|
||||
File(s) to compress (use
|
||||
.RB \(oq \- \(cq
|
||||
for stdin)
|
||||
.SS OPTIONS
|
||||
.TP
|
||||
.BR \-o ,\ \-\-opt\ \fIlevel
|
||||
Set the optimization level preset.
|
||||
The default level
|
||||
.B 2
|
||||
is quite fast and provides good compression.
|
||||
Lower levels are faster, higher levels provide better compression,
|
||||
though with increasingly diminishing returns.
|
||||
.RS
|
||||
.TP
|
||||
.B 0\ \[rA] \-\-zc\ 5\ \-\-fast
|
||||
(1 trial, determined heuristically)
|
||||
.TP
|
||||
.B 1\ \[rA] \-\-zc\ 10\ \-\-fast
|
||||
(1 trial, determined heuristically)
|
||||
.TP
|
||||
.B 2\ \[rA] \-\-zc\ 11\ \-f\ 0,1,6,7\ \-\-fast
|
||||
(4 fast trials, 1 main trial)
|
||||
.TP
|
||||
.B 3\ \[rA] \-\-zc\ 11\ \-f\ 0,7,8,9
|
||||
(4 trials)
|
||||
.TP
|
||||
.B 4\ \[rA] \-\-zc\ 12\ \-f\ 0,7,8,9
|
||||
(4 trials)
|
||||
.TP
|
||||
.B 5\ \[rA] \-\-zc\ 12\ \-f\ 0,1,2,5,6,7,8,9
|
||||
(8 trials)
|
||||
.TP
|
||||
.B 6\ \[rA] \-\-zc\ 12\ \-f\ 0-9
|
||||
(10 trials)
|
||||
.TP
|
||||
.B max\ \[rA]
|
||||
(stable alias for the max level)
|
||||
.RE
|
||||
.IP
|
||||
Manually specifying a compression option
|
||||
.RB ( zc ,
|
||||
.BR f ,
|
||||
etc.) will override the optimization preset,
|
||||
regardless of the order you write the arguments.
|
||||
.IP
|
||||
[default:
|
||||
.BR 2 ]
|
||||
.TP
|
||||
.BR \-r ,\ \-\-recursive
|
||||
When directories are given as input,
|
||||
traverse the directory trees and optimize all PNG files found
|
||||
(files with \(lq.png\(rq or \(lq.apng\(rq extension).
|
||||
.TP
|
||||
.B \-\-dir\ \fIdirectory
|
||||
Write output file(s) to
|
||||
.IR 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
|
||||
.BR \-\-recursive .
|
||||
.TP
|
||||
.B \-\-out\ \fIfile
|
||||
Write output file to
|
||||
.I file
|
||||
.TP
|
||||
.B \-\-stdout
|
||||
Write output to stdout
|
||||
.TP
|
||||
.BR \-p ,\ \-\-preserve
|
||||
Preserve file permissions and timestamps if possible
|
||||
.TP
|
||||
.BR \-P ,\ \-\-pretend
|
||||
Do not write any files, only show compression results
|
||||
.TP
|
||||
.B \-s
|
||||
Strip safely-removable chunks, same as
|
||||
.B \-\-strip\ safe
|
||||
.TP
|
||||
.BR \-\-strip\ \fImode
|
||||
Strip metadata chunks, where
|
||||
.I mode
|
||||
is one of:
|
||||
.RS
|
||||
.TP
|
||||
.B safe
|
||||
Strip all non-critical chunks, except for the following:
|
||||
cICP, iCCP, sRGB, pHYs, acTL, fcTL, fdAT
|
||||
.TP
|
||||
.B all
|
||||
Strip all non-critical chunks
|
||||
.TP
|
||||
.I list
|
||||
Strip chunks in the comma-separated list, e.g.\:
|
||||
.B bKGD,cHRM
|
||||
.RE
|
||||
.IP
|
||||
.IR CAUTION :
|
||||
.B all
|
||||
will convert APNGs to standard PNGs.
|
||||
.IP
|
||||
Note that
|
||||
.BR bKGD ,
|
||||
.B sBIT
|
||||
and
|
||||
.B hIST
|
||||
will be forcibly stripped if the color type or bit depth is changed,
|
||||
regardless of any options set.
|
||||
.TP
|
||||
.BR \-\-keep\ \fIlist
|
||||
Strip all metadata except in the comma-separated list
|
||||
.TP
|
||||
.BR \-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 while this is \(lqvisually lossless\(rq,
|
||||
it is technically a lossy transformation
|
||||
and may be unsuitable for some applications.
|
||||
.TP
|
||||
.BR \-i ,\ \-\-interlace\ \fItype
|
||||
Set the PNG interlacing type, where
|
||||
.I type
|
||||
is one of:
|
||||
.RS
|
||||
.TP
|
||||
.B 0
|
||||
Remove interlacing from all images that are processed
|
||||
.TP
|
||||
.B 1
|
||||
Apply Adam7 interlacing on all images that are processed
|
||||
.TP
|
||||
.B keep
|
||||
Keep the existing interlacing type of each image
|
||||
.RE
|
||||
.IP
|
||||
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.
|
||||
.IP
|
||||
[default:
|
||||
.BR 0 ]
|
||||
.TP
|
||||
.B \-\-scale16
|
||||
Forcibly reduce images with 16 bits per channel to 8 bits per channel.
|
||||
This is a lossy operation but can provide significant savings
|
||||
when you have no need for higher depth.
|
||||
Reduction is performed by scaling the values such that,
|
||||
e.g. 0x00FF is reduced to 0x01 rather than 0x00.
|
||||
.IP
|
||||
Without this flag, 16-bit images will only be reduced in depth
|
||||
if it can be done losslessly.
|
||||
.TP
|
||||
.BR \-v ,\ \-\-verbose ...
|
||||
Run in verbose mode (use twice to increase verbosity)
|
||||
.TP
|
||||
.BR \-q ,\ \-\-quiet
|
||||
Run in quiet mode
|
||||
.TP
|
||||
.BR \-f ,\ \-\-filers\ \fIlist
|
||||
Perform compression trials with each of the given filter types.
|
||||
You can specify a comma-separated list, or a range of values.
|
||||
E.g.\:
|
||||
.B \-f\ 0\-3
|
||||
is the same as
|
||||
.BR \-f\ 0,1,2,3 .
|
||||
.IP
|
||||
PNG delta filters (apply the same filter to every line)
|
||||
.RS
|
||||
.TP
|
||||
.B 0\ \[rA] None
|
||||
(recommended to always include this filter)
|
||||
.TP
|
||||
.B 1\ \[rA] Sub
|
||||
.TP
|
||||
.B 2\ \[rA] Up
|
||||
.TP
|
||||
.B 3\ \[rA] Average
|
||||
.TP
|
||||
.B 4\ \[rA] Paeth
|
||||
.RE
|
||||
.IP
|
||||
Heuristic strategies (try to find the best delta filter for each line)
|
||||
.RS
|
||||
.TP
|
||||
.B 5\ \[rA] MinSum
|
||||
Minimum sum of absolute differences
|
||||
.TP
|
||||
.B 6\ \[rA] Entropy
|
||||
Highest Shannon entropy
|
||||
.TP
|
||||
.B 7\ \[rA] Bigrams
|
||||
Lowest count of distinct bigrams
|
||||
.TP
|
||||
.B 8\ \[rA] BigEnt
|
||||
Highest Shannon entropy of bigrams
|
||||
.TP
|
||||
.B 9\ \[rA] Brute
|
||||
Smallest compressed size (slow)
|
||||
.RE
|
||||
.IP
|
||||
The default value depends on the optimization level preset.
|
||||
.TP
|
||||
.B \-\-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.
|
||||
.TP
|
||||
.B \-\-zc\ \fIlevel
|
||||
Deflate compression level (1\-12) for main compression trials.
|
||||
The levels here are defined by the libdeflate compression library.
|
||||
.IP
|
||||
The default value depends on the optimization level preset.
|
||||
.TP
|
||||
.B \-\-nb
|
||||
Do not change bit depth
|
||||
.TP
|
||||
.B \-\-nc
|
||||
Do not change color type
|
||||
.TP
|
||||
.B \-\-np
|
||||
Do not change color palette
|
||||
.TP
|
||||
.B \-\-ng
|
||||
Do not change to or from grayscale
|
||||
.TP
|
||||
.B \-\-nx
|
||||
Do not perform any transformations and do not deinterlace by default.
|
||||
.TP
|
||||
.B \-\-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
|
||||
.B \-\-nx
|
||||
and
|
||||
.B \-\-nz
|
||||
will fully disable all optimization.
|
||||
.TP
|
||||
.B \-\-fix
|
||||
Do not perform checksum validation of PNG chunks.
|
||||
This may allow some files with errors to be processed successfully.
|
||||
.TP
|
||||
.B \-\-force
|
||||
Write the output even if it is larger than the input
|
||||
.TP
|
||||
.BR \-Z ,\ \-\-zopfli
|
||||
Use the much slower but stronger Zopfli compressor
|
||||
for main compression trials.
|
||||
Recommended use is with
|
||||
.B \-o\ max
|
||||
and
|
||||
.BR \-\-fast .
|
||||
.TP
|
||||
.B \-\-timeout\ \fIsecs
|
||||
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.
|
||||
.TP
|
||||
.BR \-t ,\ \-\-threads\ \fInum
|
||||
Set number of threads to use
|
||||
[default: num CPU cores]
|
||||
.TP
|
||||
.BR \-h ,\ \-\-help
|
||||
Print help (see a summary with
|
||||
.BR \-h )
|
||||
.TP
|
||||
.BR \-V ,\ \-\-version
|
||||
Print version
|
||||
.SH "SEE ALSO"
|
||||
.BR OPTIPNG (1)
|
Loading…
Reference in new issue