|This is the talk page for discussing improvements to the PNGOUT redirect.|
|WikiProject Computer graphics||(Rated Stub-class)|
|WikiProject Computing / Software||(Rated Stub-class, Low-importance)|
- Ok, seems that I misread the links a bit. But perhaps something should be added to this article about the commercial, "professional" version? Esn 01:30, 12 May 2007 (UTC)
Since there are ports to Linux and Mac OS X, shouldn't we report them in the infobox? --Ysangkok 19:16, 17 May 2007 (UTC)
- I doubt it. They're not made by Ken Silverman nor are they official. Information about them will be a nice addition in the article itself though. Cristan 19:26, 17 May 2007 (UTC)
"PNGOUT also performs automatic bit depth, color and palette reduction where appropriate." Is this true? My 20050422 Linux version certainly doesn't; I always preprocess my PNGs with pngrewrite. If pngout does do this now, can you indicate when this functionality was added? Is it documented somewhere? The tutorial at http://advsys.net/ken/util/pngout.htm still says "It won't reduce the number of colors in images or convert the colors to grayscale unless all the colors correspond to PNG grayscale values already." Is it out of date? – gpvos (talk) 10:32, 28 May 2007 (UTC)
- A lot has happened to PNGOUT since 2005. PNGOUTWin was released early 2006 with many new features, some of which have filtered through to PNGOUT, and both programs have been worked on a lot since then. I think the colour reduction feature was added last October. Unfortunately, I don't think the tutorial has been updated since PNGOUTWin was released.
In any case, try getting a more recent Linux port from here. If you run it without parameters, it will tell you about the newer command line options. It doesn't explicitly mention the addition of colour reduction, but does say you can disable it with '/ks'.
You shouldn't need to preprocess images with pngrewrite any more. And, if you omit the pngrewrite step, then you won't have to manually compare the input and output files to check for a size decrease; by default, PNGOUT won't write a larger file, but just retain the input file. CountingPine 17:02, 28 May 2007 (UTC)
- Additional note: Looking again at the tutorial text, "It won't reduce the number of colours in images". PNGOUT can reduce the color type, and it can remove unused colours from a palette. But what it means, is that it won't change the color values of the pixels in the image. For example, if an image uses more than 256 colours, it won't remove colours (thereby changing the image) to shoehorn it into a palette. CountingPine 22:50, 30 May 2007 (UTC)
- In fact your quote just said this program does it. "It won't reduce the number of colors ... UNLESS ...", so in some situations, it does. Your quote simply implies it won't remove any of the visible colors, but others could be removed. Cristan 11:22, 28 May 2007 (UTC)
An explanation to clarify the above notes: PNGOUT will never reduce the number of actual, visible unique colors. PNGOUT never makes changes to the final form of the displayed image. What it will do, if there are 256 or fewer unique colors in the visible image, is reduce the number of palette (color) entries in the PNG file. For example, if there are only 50 unique colors in the image, the new PNG file will have only a 50-color palette with no wasted entries, instead of a 256-color palette with 206 wasted entries. In most cases where this can be done, it results in a major reduction in file size to store exactly the same image. In addition, if every "color" is just a shade of black/grey/white (i.e., red, green, and blue are exactly equal for each palette entry), PNGOUT can make the PNG a greyscale image (monochrome with only white, no color tint) instead of a color image. Note that all these changes affect only file efficiency and, as PNGOUT says, never reduce the colors or make any other changes to the visible image itself, only to how it's stored. --Closeapple (talk) 23:19, 19 November 2007 (UTC)
I think freeware programs like PNGGauntlet (a GUI for PNGOUT) - http://brh.numbera.com/software/pnggauntlet/ and Irfanview's PNGOUT plugin - http://www.irfanview.com/plugins.htm should also be mentioned in the article. Very useful as the only GUI for PNGOUT mentioned in this article is not freeware. —Preceding unsigned comment added by 220.127.116.11 (talk) 08:39, 2 March 2008 (UTC)
- Sounds like a good idea. Be bold, go for it! By the way, when you use Talk pages, you should "sign" your posts by typing "~~~~" at the end of them. CountingPine (talk) 18:52, 4 March 2008 (UTC)
- PNGOUT is lossless. It can remove header data (and removes it by default unless you specify -k), but the image data itself is never degraded; PNGOUT will only output data with the same colors for each pixel as the input, regardless of what algorithm or color type is selected. --Closeapple (talk) 10:07, 30 October 2008 (UTC)
From my experience, PNGOUT is inefficient for relatively large images. In two senses: it works slower and, even more important, produces larger outputs than pngcrush does. Are there any [reliable] studies of this aspect to include in the article? I think, it is quite valuable information. — Preceding unsigned comment added by Mikhail Ryazanov (talk • contribs) 03:45, 3 February 2011 (UTC)
- In my tests, it also notoriously corrupts images, something no other PNG optimizer I tried suffers from. As for best compression, the winner almost always is using paired optipng -o4 -i0 -fix with advpng -z4 (tests done before zopfli came out though). KiloByte (talk) 12:03, 27 May 2013 (UTC)
Not indeed, guys. See my investigation. A short conclusion is pngout is really good in performance.
The reason is that you don't have proper arguments specified, and pngout itself is not a brute tool, its commercial version, pngoutwin, is. (If you have time, read the article above and try to understand it, then I believe you'll never bother with pngcrush or optipng.)
Although the image itself is loseless and thus 'identical', but the data sent to the deflater(zipper) is not, the data is filtered. By default(in case you run the cmdline without any switch), pngout only uses one specific filtering method(determinated by the colorspace), whereas by default pngcrush/optipng tries several filtering method. Therefore bydefault pngcrush/optipng might win by this stage. But don't forget they both use zlib as their deflater, which is proven to be inefficient(compared to other implementations, such as 7-zip's zip engine, zopfli, or pngout's kzip). What pngout indeed lacks is the command line doesn't offer a brute way to try with different filters, therefore you can use a script that is able to do this. Although I don't have a chance to try the commercial one offered by its 'official companion', pngoutwin, but from its introduction, I think it offers brute tries with different filters. However what a shame most open-source wrappers don't try with different filters. So I wrote one script offering the feature.(Though, the filter trying is actually implemented with the use of zopflipng in my script, and I just use pngout with /F6 to reuse the previous good filter found by zopflipng) Yumeyao (talk) 17:46, 28 December 2013 (UTC)