libpng-1.6.0 is available
Glenn Randers-Pehrson <[email protected]> Thu, 14 Feb 2013 00:45:37 -0500
| Newsgroups | gmane.comp.graphics.png.announce |
|---|---|
| Message-ID | <CA+PdXcvCWOWajJH6W7ggfh85f5KGuQHzm_A9bJQ_+VM5eejUgA__38813.4541608908$1360820782$gmane$org@mail.gmail.com> |
--===============0416072435316037880==
Content-Type: multipart/alternative; boundary=20cf30334adda5d03b04d5a8c4f1
--20cf30334adda5d03b04d5a8c4f1
Content-Type: text/plain; charset=ISO-8859-1
libpng-1.6.0 is available from
ftp://ftp.simplesystems.org/pub/png/src
and from
http://libpng.sf.net/index.html
This release adds a "simplified API" and removes some features
that have been deprecated since libpng.1.5.x.
Development of libpng16 began as a branch from libpng-1.5.7
in December 2011.
Changes to Libpng from version 1.5.x to 1.6.x:
A "simplified API" has been added (see documentation in png.h and a simple
example in contrib/examples/pngtopng.c). The new publicly visible API
includes the following:
macros:
PNG_FORMAT_*
PNG_IMAGE_*
structures:
png_control
png_image
read functions
png_image_begin_read_from_file()
png_image_begin_read_from_stdio()
png_image_begin_read_from_memory()
png_image_finish_read()
png_image_free()
write functions
png_image_write_to_file()
png_image_write_to_stdio()
Starting with libpng-1.6.0, you can configure libpng to prefix all exported
symbols, using the PNG_PREFIX macro.
We no longer include string.h in png.h. The include statement has been
moved
to pngpriv.h, where it is not accessible by applications. Applications that
need access to information in string.h must add an '#include "string.h"'
directive. It does not matter whether this is placed prior to or after
the '"#include png.h"' directive.
The following API are now DEPRECATED:
png_info_init_3()
png_convert_to_rfc1123() which has been replaced
with png_convert_to_rfc1123_buffer()
png_data_freer()
png_malloc_default()
png_free_default()
png_reset_zstream()
The following has been removed:
png_get_io_chunk_name(), which has been replaced
with png_get_io_chunk_type(). The new
function returns a 32-bit integer instead of
a string.
The png_sizeof(), png_strlen(), png_memcpy(), png_memcmp(), and
png_memset() macros are no longer used in the libpng sources and
have been removed. These had already been made invisible to
applications
(i.e., defined in the private pngpriv.h header file) since
libpng-1.5.0.
The signatures of many exported functions were changed, such that
png_structp became png_structrp or png_const_structrp
png_infop became png_inforp or png_const_inforp
where "rp" indicates a "restricted pointer".
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 rejected, in particular the
very old broken Microsoft/HP sRGB profile.
The library now issues a warning if both background processing and RGB to
gray are used when gamma correction happens. As with previous versions of
the library the results are numerically very incorrect in this case.
There are some minor arithmetic changes in some transforms such as
png_set_background(), that might be detected by certain regression tests.
Unknown chunk handling has been improved internally, without any API change.
This adds more correct option control of the unknown handling, corrects
a pre-existing bug where the per-chunk 'keep' setting is ignored, and makes
it possible to skip IDAT chunks in the sequential reader.
The machine-generated configure files are no longer included in branches
libpng16 and later of the GIT repository. They continue to be included
in the tarball releases, however.
Glenn
--20cf30334adda5d03b04d5a8c4f1
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
libpng-1.6.0 is available from<div><a href=3D"ftp://ftp.simplesystems.org/p=
ub/png/src">ftp://ftp.simplesystems.org/pub/png/src</a></div><div>and from<=
/div><div><a href=3D"http://libpng.sf.net/index.html">http://libpng.sf.net/=
index.html</a></div>
<div><br></div><div>This release adds a "simplified API" and remo=
ves some features</div><div>that have been deprecated since libpng.1.5.x.</=
div><div><br></div><div>Development of libpng16 began as a branch from libp=
ng-1.5.7</div>
<div>in December 2011.</div><div><br></div><div><div>Changes to Libpng from=
version 1.5.x to 1.6.x:</div><div><br></div><div>A "simplified API&qu=
ot; has been added (see documentation in png.h and a simple</div><div>examp=
le in contrib/examples/pngtopng.c). =A0The new publicly visible API</div>
<div>includes the following:</div><div><br></div><div>=A0 =A0macros:</div><=
div>=A0 =A0 =A0PNG_FORMAT_*</div><div>=A0 =A0 =A0PNG_IMAGE_*</div><div>=A0 =
=A0structures:</div><div>=A0 =A0 =A0png_control</div><div>=A0 =A0 =A0png_im=
age</div><div>=A0 =A0read functions</div>
<div>=A0 =A0 =A0png_image_begin_read_from_file()</div><div>=A0 =A0 =A0png_i=
mage_begin_read_from_stdio()</div><div>=A0 =A0 =A0png_image_begin_read_from=
_memory()</div><div>=A0 =A0 =A0png_image_finish_read()</div><div>=A0 =A0 =
=A0png_image_free()</div><div>
=A0 =A0write functions</div><div>=A0 =A0 =A0png_image_write_to_file()</div>=
<div>=A0 =A0 =A0png_image_write_to_stdio()</div><div><br></div><div>Startin=
g with libpng-1.6.0, you can configure libpng to prefix all exported=A0</di=
v><div>symbols, using the PNG_PREFIX macro.</div>
<div><br></div><div>We no longer include string.h in png.h. =A0The include =
statement has been moved</div><div>to pngpriv.h, where it is not accessible=
by applications. =A0Applications that</div><div>need access to information=
in string.h must add an '#include "string.h"'</div>
<div>directive. =A0It does not matter whether this is placed prior to or af=
ter</div><div>the '"#include png.h"' directive.</div><div=
><br></div><div>The following API are now DEPRECATED:</div><div>=A0 =A0png_=
info_init_3()</div>
<div>=A0 =A0png_convert_to_rfc1123() which has been replaced</div><div>=A0 =
=A0 =A0with png_convert_to_rfc1123_buffer()</div><div>=A0 =A0png_data_freer=
()</div><div>=A0 =A0png_malloc_default()</div><div>=A0 =A0png_free_default(=
)</div><div>=A0 =A0png_reset_zstream()</div>
<div><br></div><div>The following has been removed:</div><div>=A0 =A0png_ge=
t_io_chunk_name(), which has been replaced</div><div>=A0 =A0 =A0with png_ge=
t_io_chunk_type(). =A0The new</div><div>=A0 =A0 =A0function returns a 32-bi=
t integer instead of</div>
<div>=A0 =A0 =A0a string.</div><div>=A0 =A0The png_sizeof(), png_strlen(), =
png_memcpy(), png_memcmp(), and</div><div>=A0 =A0 =A0png_memset() macros ar=
e no longer used in the libpng sources and</div><div>=A0 =A0 =A0have been r=
emoved. =A0These had already been made invisible to applications</div>
<div>=A0 =A0 =A0(i.e., defined in the private pngpriv.h header file) since =
libpng-1.5.0.</div><div><br></div><div>The signatures of many exported func=
tions were changed, such that</div><div>=A0 =A0png_structp became png_struc=
trp or png_const_structrp</div>
<div>=A0 =A0png_infop became png_inforp or png_const_inforp</div><div>where=
"rp" indicates a "restricted pointer".</div><div><br><=
/div><div>Error detection in some chunks has improved; in particular the iC=
CP chunk =A0=A0</div>
<div>reader now does pretty complete validation of the basic format. =A0Som=
e bad</div><div>profiles that were previously accepted are now rejected, in=
particular the</div><div>very old broken Microsoft/HP sRGB profile.</div>
<div><br></div><div>The library now issues a warning if both background pro=
cessing and RGB to =A0=A0</div><div>gray are used when gamma correction hap=
pens. As with previous versions of</div><div>the library the results are nu=
merically very incorrect in this case.</div>
<div><br></div><div>There are some minor arithmetic changes in some transfo=
rms such as</div><div>png_set_background(), that might be detected by certa=
in regression tests.</div><div><br></div><div>Unknown chunk handling has be=
en improved internally, without any API change.</div>
<div>This adds more correct option control of the unknown handling, correct=
s</div><div>a pre-existing bug where the per-chunk 'keep' setting i=
s ignored, and makes</div><div>it possible to skip IDAT chunks in the seque=
ntial reader.</div>
<div><br></div><div>The machine-generated configure files are no longer inc=
luded in branches =A0 =A0</div><div>libpng16 and later of the GIT repositor=
y. =A0They continue to be included</div><div>in the tarball releases, howev=
er.</div>
<div><br></div></div><div>Glenn</div>
--20cf30334adda5d03b04d5a8c4f1--
--===============0416072435316037880==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
--===============0416072435316037880==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
png-mng-announce mailing list
png-mng-announce-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/png-mng-announce
--===============0416072435316037880==--