mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
30 lines
863 B
Bash
Executable File
30 lines
863 B
Bash
Executable File
#!/bin/sh
|
|
|
|
# For use in the pngzop project
|
|
# Copyright 2013 by Glenn Randers-Pehrson
|
|
# Released under the pngcrush license (equivalent to the libpng license)
|
|
|
|
# Usage:
|
|
# pngzop_pngcrush_zopfli.sh file.png > file.zlib
|
|
|
|
# file.png is a PNG file.
|
|
# Standard output is the uncompressed IDAT chunk data, recompressed as a zlib
|
|
# datastream.
|
|
|
|
root=`echo $1 | sed -e "s/.png$//"`
|
|
rm -f ${root}_L9.png
|
|
|
|
# Do pngcrush level 9 with none, 4 filters, and adaptive filtering, and
|
|
# select the smallest.
|
|
pngcrush -q -m 113 -m 114 -m 115 -m 116 -m 117 -m 118 \
|
|
-force $1 ${root}_L9.png
|
|
|
|
# Extract and decompress the zlib datastream from the concatenated IDAT chunks.
|
|
pngzop_get_idat.exe < ${root}_L9.png | zpipe -d > ${root}_L9.idat
|
|
rm ${root}_L9.png
|
|
|
|
# Recompress with zopfli and write it on standard output.
|
|
zopfli --i25 --zlib -c ${root}_L9.idat
|
|
|
|
rm ${root}_L9.idat
|