mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
100 lines
4.6 KiB
Plaintext
100 lines
4.6 KiB
Plaintext
|
|
Libpng 1.7.0alpha03 - December 18, 2012
|
|
|
|
This is not intended to be a public release. It will be replaced
|
|
within a few weeks by a public version or by another test version.
|
|
|
|
Files available for download:
|
|
|
|
Source files with LF line endings (for Unix/Linux) and with a
|
|
"configure" script
|
|
|
|
1.7.0alpha03.tar.xz (LZMA-compressed, recommended)
|
|
1.7.0alpha03.tar.gz
|
|
1.7.0alpha03.tar.bz2
|
|
|
|
Source files with CRLF line endings (for Windows), without the
|
|
"configure" script
|
|
|
|
lp170a03.7z (LZMA-compressed, recommended)
|
|
lp170a03.zip
|
|
|
|
Other information:
|
|
|
|
1.7.0alpha03-README.txt
|
|
1.7.0alpha03-LICENSE.txt
|
|
|
|
Changes since the last public release (1.6.0):
|
|
|
|
Version 1.7.0alpha01 [December 15, 2012]
|
|
Started 1.7.0 branch from libpng-1.6.0beta33.
|
|
Made 8-bit compose and rgb_to_grayscale accuracy improvements. These
|
|
changes cause 16-bit arithmetic to be used for 8-bit data in the gamma
|
|
corrected compose and grayscale operations. The arithmetic errors have
|
|
three sources all of which are fixed in this commit:
|
|
1) 8-bit linear calculations produce massive errors for lower intensity
|
|
values.
|
|
2) The old 16-bit "16 to 8" gamma table code erroneously wrote the lowest
|
|
output value into a table entry which corresponded to multiple output
|
|
values (so where the value written should have been the closest to the
|
|
transformed input value.)
|
|
3) In a number of cases the code to access the 16-bit table did not round;
|
|
it did a simple shift, which was wrong and made the side effects of (2)
|
|
even worse.
|
|
The new gamma code does not have the 16-to-8 problem at the cost of slightly
|
|
more calculations and the algorithm used to minimize the number of
|
|
calculations has been extended to all the 16-bit tables; it has advantages
|
|
for any significant gamma correction.
|
|
Rearranged png_struct, remove unused members, change png_set_filter handling
|
|
png_struct members rearranged - partly to reorder to avoid packing, partly
|
|
to put frequently accessed members at the start and partly to make
|
|
the grouping more clear. png_set_filter code has been rewritten and the
|
|
code shared with png_write_start_row moved to a common function. Comments
|
|
in png.h have been made more clear. Minor fixes to
|
|
contrib/libtests/timepng.c and some of the png_*_tRNS logic, including
|
|
more error detection in png_set_tRNS.
|
|
Cleaned up USER_LIMITS feature, removing members from png_struct when not
|
|
required.
|
|
Rearranged ARM-NEON optimizations to isolate the machine specific code to
|
|
the hardware subdirectory, and add comments to pngrutil.c so that
|
|
implementors of other optimizations will know what to do.
|
|
Fixed cases of unquoted DESTDIR in Makefile.am.
|
|
Rebuilt Makefile.in, configure, etc., with autoconf-2.69 and automake-1.12.5.
|
|
|
|
Version 1.7.0alpha02 [December 17, 2012]
|
|
Removed functions that were deprecated in libpng-1.6.0:
|
|
png_reset_zstream(), png_info_init_3(), and png_data_freer() and its
|
|
associated flags.
|
|
Removed some duplicated lines from contrib/tools/scale.c and png.c.
|
|
Changed some instances of png_warning() to png_app_error().
|
|
Updated some left over "1.6.0beta32" in code sources.
|
|
Fixed a "png_structp" prototype (should be png_structrp) in arm_init.c
|
|
Updated the version-number hack in pngvalid.c
|
|
|
|
Version 1.7.0alpha03 [December 18, 2012]
|
|
Cleaned up and enhanced the configure option; libpng now correctly
|
|
links and tests against zlib with a prefix; tests have been clarified; and
|
|
irrelevant or obsolete things (as defined by the autotools man page) have
|
|
been removed.
|
|
Documented new PNG_ABORT behavior in the manual and commentary in pngerror.c
|
|
Cleaned up whitespace in the synopsis portion of the manpage "libpng.3"
|
|
Fixed previous support for Z_PREFIX in configure builds, corrected sCAL APIs;
|
|
some of these use floating point arithmetic so they need to be disabled if
|
|
floating point arithmetic is switched off. This is a quiet API change -
|
|
previously it appeared that the APIs were supported if fixed point
|
|
arithmetic was used internally, however they required certain APIs (floor,
|
|
modf, frexp, atof) that are part of C floating point support. Changed
|
|
png_fixed and the gamma code specific version of the same to avoid floor(),
|
|
which may be a library function (not an intrinsic). Removed unused #if 0
|
|
code.
|
|
Disassembled the version number in scripts/options.awk (necessary for
|
|
building on SunOs)
|
|
|
|
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
|
(subscription required; visit
|
|
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
|
|
to subscribe)
|
|
or to glennrp at users.sourceforge.net
|
|
|
|
Glenn R-P
|