mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
78 lines
3.0 KiB
Plaintext
78 lines
3.0 KiB
Plaintext
/*
|
|
This is the pngzop branch of the "pmt" tree.
|
|
Code for supporting the "zopfli" compression method
|
|
in PNG files will appear here.
|
|
|
|
Eventually this collection of scripts might be incorporated
|
|
into pngcrush.
|
|
|
|
Copyright 2013 by Glenn Randers-Pehrson
|
|
Released under the pngcrush license (which is equivalent to the zlib
|
|
license plus UCITA disclaimers). See DISCLAIMERS and LICENSE below.
|
|
|
|
Usage:
|
|
pngzop [-b|--blacken] [-d|--directory dir] [-e|--extension ext] *.png
|
|
|
|
Input: *.png
|
|
Output (default): *_pngzop.png (to overwrite the input, use "-e .png")
|
|
|
|
Pngzop does the following:
|
|
|
|
1. Preprocesses the input file(s) with pngcrush -reduce
|
|
(and optionally -blacken to clean up "dirty" transparent pixels)
|
|
|
|
2. Uses pngcrush to write 6 test files, with 5 PNG filters and adaptive
|
|
filtering.
|
|
|
|
3. Extracts the IDAT contents from each of the 6 files.
|
|
|
|
4. Recompresses the IDAT contents with zopfli (25 iterations).
|
|
|
|
5. Reassembles the PNG file using the smallest of the zopfli-compressed
|
|
results.
|
|
|
|
6. Postprocesses the PNG file with "pngfix" to optimize the windowBits
|
|
field, to minimize memory use during later decompression.
|
|
|
|
Pngzop requires zopfli, pngcrush (version 1.7.66 or later), zpipe (from
|
|
the "examples" directory of the zlib-1.2.7 or later distribution),
|
|
pngfix (from the libpng-1.6.3 or later distribution), and "mkdir -p",
|
|
along with these programs that should have been installed from their "C"
|
|
sources along with this "pngzop" script:
|
|
|
|
pngzop_get_ihdr.exe
|
|
pngzop_get_idat.exe
|
|
pngzop_get_iend.exe
|
|
pngzop_zlib_to_idat.exe
|
|
|
|
DISCLAIMERS:
|
|
|
|
The pngzop software is supplied "AS IS". The Author disclaims all
|
|
warranties, expressed or implied, including, without limitation, the
|
|
warranties of merchantability and of fitness for any purpose. The
|
|
Author assumes no liability for direct, indirect, incidental, special,
|
|
exemplary, or consequential damages, which may result from the use of
|
|
the pngzop software, even if advised of the possibility of such damage.
|
|
There is no warranty against interference with your enjoyment of the
|
|
computer software or against infringement. There is no warranty that
|
|
the Author's efforts or the computer software will fulfill any of your
|
|
particular purposes or needs. This computer software is provided with
|
|
all faults, and the entire risk of satisfactory quality, performance,
|
|
accuracy, and effort is with the user.
|
|
|
|
LICENSE:
|
|
|
|
Permission is hereby irrevocably granted to everyone to use, copy,
|
|
modify, and distribute this source code, or portions hereof, or
|
|
executable programs compiled from it, for any purpose, without payment
|
|
of any fee, subject to the following restrictions:
|
|
|
|
1. The origin of this source code must not be misrepresented.
|
|
|
|
2. Altered versions must be plainly marked as such and must not be
|
|
misrepresented as being the original source.
|
|
|
|
3. This Copyright notice, disclaimer, and license may not be removed
|
|
or altered from any source or altered source distribution.
|
|
*/
|