Boost C++ Libraries: Ticket #1144: GIL 2.1 PNG IO fix for endianness problem with bit_depth == 16. https://svn.boost.org/trac10/ticket/1144 <p> When loading or saving PNGs with bit depth 16 on a little endian architecture, the bytes in each channel were not being swapped to match PNG's big endian byte ordering. This patch switches this byte-swapping on in LibPNG when loading and saving PNGs of bit-depth 16 on a little-endian architecture. </p> <p> Patch is against GIL 2.1 release, but I submit it here rather than in the GIL sourceforge, since I gather GIL is now in Boost, as of the next Boost release! Let me know if this is not the right place for this patch. I note that there is no GIL component in this Trac yet, so I left that set to none. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/1144 Trac 1.4.3 William Gallafent <william@…> Mon, 06 Aug 2007 10:52:41 GMT attachment set https://svn.boost.org/trac10/ticket/1144 https://svn.boost.org/trac10/ticket/1144 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">gilPngEndian.patch</span> </li> </ul> <p> Swap bytes when doing bit-depth 16 PNG IO on little-endian architectures. </p> Ticket Marshall Clow Sun, 19 Aug 2007 15:14:48 GMT <link>https://svn.boost.org/trac10/ticket/1144#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/1144#comment:1</guid> <description> <p> Marshall sez: I think this bug was fixed in revision 38705. </p> </description> <category>Ticket</category> </item> <item> <author>william@…</author> <pubDate>Sun, 19 Aug 2007 16:57:03 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/1144#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/1144#comment:2</guid> <description> <p> Yes, with a run-time rather than compile-time check ... fair enough. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Hailin Jin</dc:creator> <pubDate>Thu, 23 Aug 2007 19:31:26 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/1144#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/1144#comment:3</guid> <description> <p> Run-time detection is better in this case: <br /> </p> <ol><li>an extra check is a not performance issue at all here. <br /> </li><li>run-time detection can work on architectures that can change endian-ness on the fly. </li></ol> </description> <category>Ticket</category> </item> <item> <dc:creator>Hailin Jin</dc:creator> <pubDate>Thu, 23 Aug 2007 19:33:23 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/1144#comment:4 https://svn.boost.org/trac10/ticket/1144#comment:4 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> It is fixed </p> Ticket