news

pingo v0.98.46(12/09/2018)

see pingo history

pinga v0.15(10/23/2018)

see pinga history

pingo

  • (0.98.46) — made -trials=1 more effective
  • (0.98.45) — more range -trials=N/-sN + multiple minor fixes
  • (0.98.44) — fixed compression regression in -s1 to -s4
benchmark 508 files (pingo 0.98.45) - FX-4100 @ 3.6 Ghz - 8 Go RAM - Windows 7 64-bit
option saved time
-trials=0 -s0 796.41 KB 2.059s
-trials=0 -s1 836.93 KB 2.090s
-trials=0 -s2 988.60 KB 2.886s
-trials=0 -s3 1166.61 KB 3.213s
-trials=0 -s4 1224.58 KB 3.619s
-trials=0 -s5 1328.91 KB 4.758s
-s0 1359.13 KB 4.836s
-trials=0 -s6 1383.93 KB 5.928s
-s1 1504.66 KB 6.458s
-trials=0 -s7 1537.48 KB 7.566s
0.98.43

12/06/2018: the -trials=N option let the user to control the level of trials in lossless modes, which is now linked to the profile level. this is not recommanded to use this but for experimentations. there is no clean winner if you combine -trials=N with profiles, it just offers more compression/speed trade-off

however, i noticed an interesting possible correlation between the image specs — mostly some small images atm — and the trial level (perhaps it is possible to find other statistics like this one). i did not try this hard: 10000+ files; results were good enought to be tested more, so i implemented it in the -s0 profile in 0.98.43

936 small RGBA (128x128) - FX-4100 @ 3.6 Ghz - 8 Go RAM - Windows 7 64-bit
-s0 profile
version saved time
0.98 2281.06KB 7.15s
0.98.41 2277.09KB 8.04s
0.98.42 2267.48KB 7.01s
0.98.43 2331.09KB 6.10s
3000 v.small RGBA (32x32) - FX-4100 @ 3.6 Ghz - 8 Go RAM - Windows 7 64-bit
-s0 profile
version saved time
0.98 842.26 KB 3.26s
0.98.41 832.59 KB 3.99s
0.98.42 829.62 KB 3.45s
0.98.43 850.90 KB 3.67s
380 paletted - FX-4100 @ 3.6 Ghz - 8 Go RAM - Windows 7 64-bit
-s0 profile
version saved time
0.98 434.22 KB 2.03s
0.98.41 434.31 KB 2.09s
0.98.42 439.15 KB 1.89s
0.98.43 451.41 KB 1.97s
benchmark 508 files - FX-4100 @ 3.6 Ghz - 8 Go RAM - Windows 7 64-bit
-s0 profile
version saved time
0.98 1339.28 KB 5.01s
0.98.41 1339.32 KB 5.65s
0.98.42 1343.35 KB 4.96s
0.98.43 1360.12 KB 4.87s

also, noticeable improvements/fixes:

  • fixed a performance regression in paletted encoding
  • added a minimal difference checker for paletted images (sorting)
  • fixed a bug from -s1 to -s4 (should give speed increase, no changes in filesize)
  • fixed memory consumption from those profiles
0.98.42

12/04/2018: 0.98.42 has new strategies that makes pingo faster in some situations. it should target trials more precisely, which have impact regarding the speed/size ratio. my first results

380 paletted - FX-4100 @ 3.6 Ghz - 8 Go RAM - Windows 7 64-bit
-s0 profile
version saved time
0.98 434.22 KB 2.03s
0.98.41 434.31 KB 2.09s
0.98.42 439.15 KB 1.89s
380 paletted (uncompressed non-transparent) - FX-4100 @ 3.6 Ghz - 8 Go RAM - Windows 7 64-bit
-s9 profile
version saved time
0.98 10430.96 KB 11.112s (process: 42.338)
0.98.41 10433.80 KB 11.684s (process: 44.569)
0.98.42 10434.69 KB 9.98s (process: 37.299)
  • profiles from -s1 to -s8 are more progressive (speed/size)
  • fixed a bug from palette sorting
  • fixed bug from RGBA to RGB conversion
  • -more option tries adaptive levels in trials — experimental
  • fixed paletted handling if using -pngrgb
  • consistent compression levels in all modes
  • improved reduction/compression in web-lossless auto
  • (0.98.41) — faster selective filter
  • (0.98.40) — more selective filter
  • (0.98.39) — fixed color, cosmetic changes, help
  • (0.98.38) — fixed grayscale+alpha reduc
  • (0.98.37) — dissociate -pngcolor and -pngrgb
  • (0.98.36) — fixed auto PNG/JPG
  • (0.98.35) — fixed another alpha reduction
  • (0.98.34) — fix rare image corruption
  • (0.98.33) — fixed -lossless/-noalpha when using -s9
  • (0.98.32) — filter selection
  • (0.98.31) — fixed bitdepth/notrials
  • (0.98.30) — fixed some bitdepth reductions
  • (0.98.29) — reimplement and improved paletted to truecolor
  • (0.98.28) — improved 8-bit detection
  • (0.98.27) — fixed paletted corruption
  • (0.98.26) — auto-switch to faster APNG opt. (if better) when using -apng=1, fixed strip=3
  • (0.98.25) — fixed not useful palette rewrite that makes pingo slow
  • (0.98.24) — introduced faster APNG optimization, balanced PNG palette optimization
  • (0.98.23) — temp fix (2): not done, but better alternative than 0.98.22
  • (0.98.22) — temp fix: disable APNG opt. if < 8 bpp — will be reenabled with better results later
  • (0.98.21) — fixed JPG being rotated without tag removal, fixed 0.98.20 which is not able to process APNG
  • (0.98.20) — fixed transformation in APNG, stronger trials/default palette generation for APNG [bugged!]
  • (0.98.19) — APNG support, improved JPEG quality detection
  • (0.98.18) — fixed quality down in auto when paletted
  • (0.98.17) — fixed image opt. with corrupted tRNS chunk
  • (0.98.16) — fixed corruption of paletted APNG
  • (0.98.15) — fixed JPG filter in some cases
  • (0.98.14) — fixed and changed options for -srgb
  • (0.98.13) — fixed JPG stuff
  • (0.98.11, 0.98.12) — fixed a bug in JPG gray — parse -sN
  • (0.98.10) — fixed q.estimation (JPG), avoided transformations on APNG/chunks removal
  • (0.98.9) — re-set the auto-quantizer
  • (0.98.8) — fixed performance issue with some JPG transformations, set better JPG scaling
  • (0.98.7) — JPEG quality estimation
  • (0.98.6) — added -srgb
  • (0.98.4, 0.98.5) — fixed stuff regarding the precedent implementation
  • (0.98.3) — convert PNG and JPG to sRGB
  • (0.98.2) — fixed critical point in precedent update
  • (0.98.1) — re-added -strip=, added -pngstrip= and -jpgstrip= — default do not remove small ICC/iCCP

0.98 (08/19/2018)

improved PNG and JPG comp/speed — fixed bugs — details

0.97 (05/18/2018)

major update: improved PNG and JPG comp/speed — details

0.96 (03/06/2018)

improved lossy filter — filtering (1-2), added -uncompress-notranscheck extdetails

0.95 (01/20/2018)

dissociate auto, fixed: quality selection, savings, nopng/jpg — details

0.94 (01/17/2018)

major update: set new strategies, optimizations, safety — details

0.93 (12/27/2017)

improved PNG comp/speed, fixes, JPG I/O

0.92 (10/08/2017)

improved filtering size/speed, better JPG manager, strip and support — details

0.91 (09/18/2017)

added lossless options — details

0.90 (09/15/2017)

improved lossy filtering/paletted, fixes, cosmetic changes — see notesdetails

0.89 (07/25/2017)

minor fixes and adjusted 64-bit

0.88 (07/20/2017)

fixed 0.87 — fixed another double optimization

0.87 (07/19/2017)

fixed tRNS — fixed compression regression — minor speed improvements

0.86 (07/16/2017)

added fixes — 64/32-bits builds — details

0.85 (07/08/2017)

major update: rewrote/optimized most of things — speed/compdetails

0.84 (06/12/2017)

fixed -s6 with paletted

0.83 (06/09/2017)

added -s8 and higher -recompress= levels

0.82 (06/02/2017)

added -verbose=, -recompress=, minor optimizations, fixes, changes

0.81 (05/16/2017)

near-optimal filter checks — added -s6 and -s7

0.80 (04/28/2017)

major update: rewrote/optimized most of things — speed/comp

0.79 (03/28/2017)

better speed/comp

0.78 (03/28/2017)

fixed -s0 — adjusted -s1 comp/speed

0.77 (03/26/2017)

fixed + improved lossy quality

0.76 (03/24/2017)

improved -s3 paletted

0.75 (03/23/2017)

improved lossy quality — added progression

0.74 (03/18/2017)

rewrote JPG (more stable multi) — fixed crash for bad extension — new installer

0.73 (03/16/2017)

better detection for lossy palette

0.72 (03/15/2017)

adjusted PNG quality — fixed -x3 combinations — updated libs

0.71 (03/07/2017)

combinations — see notice

0.70 (03/04/2017)

global speed/result improvements — more stable palette optimizer/encoder

0.69 (03/01/2017)

fixed bugs

0.68 (02/27/2017)

fixed bugs

0.67 (02/26/2017)

added -x3 — improved lossy — more reductions for -s1

0.66 (02/24/2017)

fixed bugs

0.65 (02/23/2017)

improved lossy decisions

0.64 (02/23/2017)

fixed some bad conversions

0.62 & 0.63 (02/19/2017)

fixed bugs

0.61 (02/19/2017)

added speed/size trade off for paletted

0.60 (02/19/2017)

added paletted encoding

0.59 (02/12/2017)

default option could convert PNG to JPG +(re)improved lossy for RGB

0.58 (02/07/2017)

experimented a file based speed/time ratio for default

0.57 (01/23/2017)

fixed palette bug (improved -s3/s4)

0.56 (01/19/2017)

optimized sections — fixed bugs

0.55 (01/18/2017)

improved PNG lossy compression

0.54 (01/11/2017)

adjusted -s1 speed/comp

0.53 (01/10/2017)

improved PNG lossy compression

0.52 (01/04/2017)

(b, c) adjusted PNG lossy compression

0.51 (01/03/2017)

fixed profiles, bugs — improved support

0.50 (01/02/2017)

added auto (new default) and -x2 — (b) improved overall lossy

0.49 (12/30/2016)

improved -s4 comp/speed

0.48 (12/26/2016)

improved speed (-s4)

0.47 (12/11/2016)

improved overall compression

0.46 (12/10/2016)

adjusted -s1 compression

0.45 (12/05/2016)

rewrote profiles — improved compression — fixed bugs — reviewed default

0.44 (12/05/2016)

fixed bugs (re-implemented from 0.11)

0.43 (12/02/2016)

another bugs (not 100% fixed)

0.42 (12/01/2016)

fixed bugs

0.41 (11/11/2016)

fixed limitations — added -x1

0.40 (11/09/2016)

added -x0: lossy png/jpg compression

0.39 (11/01/2016)

b,c,d micro code optimization

0.38 (10/27/2016)

fixed paletted image corruption

0.36 & 0.37 (10/26/2016)

changed default option — adjustements

0.35 (10/26/2016)

removed old -s1, add new for even better speed/result ratio

0.33 & 0.34 (10/26/2016)

fixed bugs — changed settings (removed -s5)

0.32 (10/25/2016)

improved speed (greatly) — fixed counter

0.31 (10/22/2016)

fixed profiles

0.30 (10/22/2016)

adjusted speed/results for -s5 (RGBA), interface review, timer

0.28 & 0.29 (10/20/2016)

fixed various bugs for -s1/-s4 from 0.27

0.27 (10/20/2016)

improved global speed/result

0.26 (10/18/2016)

improved speed and results for -s4/-s5 (RGBA)

0.25 (10/01/2016)

-s3 adjusted

0.23 & 0.24 (09/30/2016)

fixed a bug for paletted (-s5)

0.22 (09/29/2016)

improved adaptive settings — better speed/result for -s4/-s5

0.21 (09/28/2016)

improved -s1/-s3 compression

0.19 & 0.20 (09/27/2016)

improved color sorting for -s4/-s5

0.18 (09/26/2016)

added adaptive compression (-s5)

0.17 (09/25/2016)

added new -s5 option

0.15 & 0.16 (09/19/2016)

fixed colors sorting for grayscale to palette reduction

0.14 (09/18/2016)

compression/time ratio adjusted for paletted (-s4)

0.13 (09/17/2016)

code cleaned, a bit better filter

0.12 (09/16/2016)

added grayscale to palette reduction

0.10 & 0.11 (09/13/2016)

code cleaned, better palette sorting (-s4)

0.09 (09/09/2016)

added new -s1 option

0.08 (09/08/2016)

interface reviewed

0.07 (09/06/2016)

improved color sorting

0.06 (09/05/2016)

improved paletted encoding, add verbose

0.05 (09/01/2016)

improved speed/compression ratio

0.04 (08/24/2016)

-s4 option added

0.03 (08/22/2016)

the first public release

0.02 (08/20/2016)

non public: fixed bugs

0.01 (08/19/2016)

non public: first trials with multi-processing, enhanced palette sorting and profiles

pinga

0.15 (10/23/2018)

modification date, new pingo

0.14 (09/19/2018)

APNG option

0.13 (09/07/2018)

avoid combination

0.12 (09/05/2018)

match pingo's default

0.11 (09/04/2018)

added another warning for overwriting even if bigger — new pingo

0.10 (09/03/2018)

added to sRGB (overwrite options)

0.09 (08/30/2018)

added to sRGB — (b) show warning in v.lossless

0.08 (08/18/2018)

added options: dithering, keep alpha, multithreading, strip PNG/JPG, max profile

0.07 (05/18/2018)

major update: new pingo (0.97) PNG/JPG improvements — added JPG target/filter

0.05 & 0.06 (03/08/2018)

added no transparency, grayscale — fixes

0.04 (02/19/2018)

added resize — (b) new pingo, attempt to fix some crashes

0.03 (01/17/2018)

added strip level and new pingo

0.02 (11/27/2017)

added auto-rotate JPG option

0.01 (11/08/2017)

the first public release