1.29 rc3
more improvements, SIMD optimization, and bug fixes: pingo could now compresses losslessly a bit better while improving its speed. also, some changes in auto which could be more efficient
auto
if you run auto against this set, you would observe some changes in savings/speed. pingo could be indeed a bit more agressive because it could use dithering during palettization
PNG
dithering would not be always required. however, it let the run to be more safe
if palettization could preserve visual perception. for instance, the new setting would be effective on c6-28.png, c6-43.png or c6-56.png
APNG
since the beginning, the APNG support has been be *very* basic — i mostly have no interest in it, i did not spend much time on this and the code has been the same for years. the new one would be more efficient than previous version
auto
| version |
in |
saved |
time |
| 1.28 |
19.58 MB |
6.87 MB |
18.15s |
| 1.29 |
19.58 MB |
9.34 MB |
3.96s |
lossless
ajustements, new more effective filters for both RGBA and palette let pingo to offer savings/speed ratio. also fixed in this version an old bug i spotted years ago but forgot to handle — about savings which could be random
PNG (RGBA)
samples tested: set 1 + set 2 + set 3 + set 4 = 25.69 MB (112 files)
-s4 -lossless
| version |
in |
saved |
time |
| 1.28 |
25.69 MB |
7.30 MB |
10.37s |
| 1.29 |
25.69 MB |
7.32 MB |
8.74s |
PNG (palette)
PNG lossless - palette-dr (128 files) — color with tRNS, encoded as palette
| version |
lvl |
saved |
time |
mem |
| 1.28 |
-s4 |
1713.68 KB |
3.83s |
143 MB |
| 1.29 |
-s4 |
1720.26 KB |
3.58s |
144 MB |
PNG lossless - palette-sx (200 files) — gray/color with (1) tRNS, *not* encoded as palette
| version |
lvl |
saved |
time |
mem |
| 1.28 |
-s4 |
6828.50 KB |
5.85s |
183 MB |
| 1.29 |
-s4 |
6839.00 KB |
5.56s |
186 MB |
PNG lossless - palette-xn (280 files) — gray/color with(out) tRNS, encoded as palette
| version |
lvl |
saved |
time |
mem |
| 1.28 |
-s4 |
3510.21 KB |
8.01s |
196 MB |
| 1.29 |
-s4 |
3522.63 KB |
7.64s |
199 MB |
APNG
-lossless
| version |
flag |
in |
saved |
time |
| 1.28 |
-s4 |
2.03 MB |
638.71 KB |
20.76s |
| 1.29 |
-s2 |
2.03 MB |
714.56 KB |
1.15s |
benchmark
-lossless
| version |
flag |
in |
saved |
time |
| 1.00 |
-s4 |
201.12 MB |
67645.12 KB |
62.41s |
| 1.28 |
-s4 |
201.12 MB |
68706.72 KB |
57.27s |
| 1.29 |
-s4 |
201.12 MB |
68791.48 KB |
48.98s |
behavior changes
the image transformations have been removed from pingo and introduced (and improved) into beeim. be aware of this change for 16 bits/sample PNG: i need pingo to match another tool (and beeim) bahavior regarding the processing. without any warning, those would be processed as 8 bits/sample. if you do not want this with -lossless, you have to set -no-png16 — it would ignore them