OptiPNG - The list of features
The main purpose of OptiPNG is to optimize PNG files, i.e.
to reduce their size to a minimum, without losing any information.
In order to achieve this goal, OptiPNG performs the following
tasks:
-
It losslessly reduces the bit depth, the color type and the
color palette of the image. This step reduces the size of the
uncompressed image, which, indirectly, reduces the size of the
compressed image (i.e. the size of the PNG file).
-
It runs a suite of compression methods and strategies and
selects the parameters that yield the smallest output file.
-
It concatenates all the IDAT data in a single chunk, minimizing
the overhead incurred by chunk headers and CRCs.
In addition, OptiPNG has the following capabilities:
-
It offers a suite of optimization level presets.
Given the number of trials that the user is willing to run,
these presets will select the range of compression parameters
that are most likely to yield the smallest output.
-
It offers a high degree of freedom to advanced users who
can choose among many kinds of compression parameters.
The optimization level presets and the custom compression
parameters may be used in any combination.
-
It allows advanced users to disable certain image reductions.
-
It corrects integrity errors found in the input files.
Bad CRCs, invalid data in ancillary chunks, incomplete PNG
files, or extraneous data in IDAT, are examples of such
integrity errors.
-
It recognizes several external file formats:
-
BMP
The following BMP encodings are supported: uncompressed, RLE,
Packbits and PNG. Due to the general lack of JPEG support,
JPEG-compressed BMP is not recognized.
-
GIF
The GIF files are fully processed. However, since animated
GIF cannot be converted to PNG in a standard-conforming manner,
it is only possible to strip the first frame from an animation,
at the user's option.
GIF transparency (if present) is converted to PNG transparency,
but any other metadata is discarded.
-
PNM (PBM, PGM, PPM)
All these Unix-based formats are fully supported by OptiPNG.
Lossless conversion is guaranteed only when the maximum sample
value is one of the following: 1, 3, 7, 15, 255, 65535.
(This limitation applies to any PNM-to-PNG format converter,
not only to OptiPNG.)
-
TIFF
The read support is currently limited to uncompressed TIFF
images that are encoded in a PNG-compatible color space
(grayscale, RGB or RGBA). Enhanced TIFF support is under
development.