| |
| Libpng 1.7.0alpha04 - December 23, 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.0alpha04.tar.xz (LZMA-compressed, recommended) |
| 1.7.0alpha04.tar.gz |
| 1.7.0alpha04.tar.bz2 |
| |
| Source files with CRLF line endings (for Windows), without the |
| "configure" script |
| |
| lp170a04.7z (LZMA-compressed, recommended) |
| lp170a04.zip |
| |
| Other information: |
| |
| 1.7.0alpha04-README.txt |
| 1.7.0alpha04-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 19, 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). |
| |
| Version 1.7.0alpha04 [December 23, 2012] |
| Added scripts/makefile.msys contributed by Christopher M. Wheeler |
| Made default Zlib compression settings be configurable. This adds #defines to |
| pnglibconf.h to control the defaults. |
| Fixed Windows build issues, enabled ARM compilation. Various warnings issued |
| by earlier versions of GCC fixed for Cygwin and Min/GW (which both use old |
| GCCs.) ARM support is enabled by default in zlib.props (unsupported by |
| Microsoft) and ARM compilation is made possible by deleting the check for |
| x86. The test programs cannot be run because they are not signed. |
| |
| =========================================================================== |
| NOTICE November 17, 2012: |
| The location of the git repository at SourceForge has changed. |
| Visit http://libpng.sf.net/ for details. |
| =========================================================================== |
| |
| 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 |