Error detection in some chunks has improved; in particular the iCCP chunk reader now does pretty complete validation of the basic format. Some bad profiles that were previously accepted are now accepted with a warning or rejected, depending upon the png_set_benign_errors() setting, in particular the very old broken Microsoft/HP 3144-byte sRGB profile. Starting with libpng-1.6.11, recognizing and checking sRGB profiles can be avoided by means of
It's not a good idea to do this if you are using the "simplified API", which needs to be able to recognize an sRGB profile conveyed via the iCCP chunk.
Though, it's only a warning, not an error, so perhaps the answer is to do nothing and let OXP writers sort it out. If the log entries are getting in the way of other things, set texture.load.png.warning = no; in logcontrol.plist to suppress them.
Though, it's only a warning, not an error, so perhaps the answer is to do nothing and let OXP writers sort it out. If the log entries are getting in the way of other things, set texture.load.png.warning = no; in logcontrol.plist to suppress them.
I agree. This is not an oolite, nor libpng problem. Libpng is only detecting a problem with the RGB profile of some images. Libpng is working correctly, and so does oolite. IMHO, the solution is to correct the PNGs profile.
I think that, as soon as libpng1.6 will be in all distros, every new and modified PNG will be corrected.
The Oolite binaries downloaded from oolite.org, link to libpng1.4 distributed with the Oolite installer.
The mac build uses: libpng-1.5.13 That version has also issues with some files: PNG files saved in interlaced mode give errors. There are some oxp's around that use that format. There the effect is that the png is not loaded and the ship is 'black'.
One example with this problem is the original "Imperial Courier.oxp". (The current version on the Wiki has a modification date of 2007, so I assume Commander McLane has not changed the textures. The copy in Random Hits has fixed texture files)
It would be interesting to know if this problem with interlaced files is also present with libpng1.6
The Oolite binaries downloaded from oolite.org, link to libpng1.4 distributed with the Oolite installer.
The mac build uses: libpng-1.5.13 That version has also issues with some files: PNG files saved in interlaced mode give errors. There are some oxp's around that use that format. There the effect is that the png is not loaded and the ship is 'black'.
One example with this problem is the original "Imperial Courier.oxp". (The current version on the Wiki has a modification date of 2007, so I assume Commander McLane has not changed the textures. The copy in Random Hits has fixed texture files)
It would be interesting to know if this problem with interlaced files is also present with libpng1.6
Looks like it is.
using libpng 1.6.12, running original imp courier oxp.
14:08:50.182 [texture.load.png.error]: ***** A PNG loading error occurred for /home/panoramix/.Oolite/AddOns/impcourier2.oxp/Textures/imp_cour_tex.png: bad adaptive filter value.