When I'm preparing images locally I use Web Image Guru for speed. It uses the standard libpng implementation. I generally only use PNGOUTWin for images that I'm going to upload to a site. In an earlier post I mentioned that PNGOUT generates a different palette order if I start with a 24 bit BMP image than if I start with a PNG created by Web Image Guru. Ken explained that there are 3 ways to specify palette order in PNGOUT and PNGOUTWin. Now I've found the same thing with a 24-bit PNG image. In this case, filter F0 gives the smallest file size in each trial:
3324 - Web Image Guru from a 24-bit Windows BMP.
3344 - PNGOUTWin from the 24-bit Windows BMP.
3216 - PNGOUTWin from the Web Image Guru PNG image.
3372 - IrfanView 4.00 using the PNGOUT plugin from the 24-bit Windows BMP. (default settings, apart from F0 and Keep chunks: NONE)
3372 - IrfanView 4.00 using the PNGOUT plugin from the Web Image Guru PNG image.
Edited by Kerrypng at
counting_pine at
Re: PNGOUTWin - another strange anomaly
Presumably, you have the block split threshold set to "Auto" in PNGOUTWin. For PNG files, this will make it use the number of block splits that were in the original file. (In this case, there are no block splits, which can be replicated with a block split threshold of 0.) This isn't applicable for BMP files though, so the block split threshold will just be set to the default value of 256. (In this case, it results in three block splits.)
The PNGOUT plugin predates the public release of the "Xtreme" KSFlate strategy, and it just uses the "Intense" strategy. The default block split threshold there is also 256. The input format has no effect in IrfanView, just the image content.
So, you should be able to reproduce all the above cases in PNGOUTWin with: Block split threshold: 256, Strategy: Extreme! (3344 bytes) Block split threshold: Auto or 0, Strategy: Extreme! (3216 bytes) Block split threshold: 256, Strategy: Intense (3372 bytes)
With this file, 0 block splits gives the best results.
Kerrypng at
> Presumably, you have the block split threshold set to "Auto" in PNGOUTWin.
Yes, I usually stick with the default settings. WIGuru identifies the best filter for 24-bit PNGs in moments, but otherwise I haven't experimented much. Most of the time I'm creating paletted images. Thanks for the explanation.
I actually wondered if PNGOUTWin could be speeded up by identifying the best filter quickly with libpng and then applying the "Xtreme" strategy. However, sometimes libpng compresses best with F5 while PNGOUT compresses best with F4 (and vice versa), although the extra savings are tiny.