| |
| Libpng 1.7.0alpha02 - December 17, 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.0alpha02.tar.xz (LZMA-compressed, recommended) |
| 1.7.0alpha02.tar.gz |
| 1.7.0alpha02.tar.bz2 |
| |
| Source files with CRLF line endings (for Windows), without the |
| "configure" script |
| |
| lp170a02.7z (LZMA-compressed, recommended) |
| lp170a02.zip |
| |
| Other information: |
| |
| 1.7.0alpha02-README.txt |
| 1.7.0alpha02-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 |
| |
| 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 |