| |
| Libpng 1.6.0alpha01 - November 27, 2011 |
| |
| 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.6.0alpha01.tar.xz (LZMA-compressed, recommended) |
| 1.6.0alpha01.tar.gz |
| 1.6.0alpha01.tar.bz2 |
| |
| Source files with CRLF line endings (for Windows), without the |
| "configure" script |
| |
| lp160a01.7z (LZMA-compressed, recommended) |
| lp160a01.zip |
| |
| Other information: |
| |
| 1.6.0alpha01-README.txt |
| 1.6.0alpha01-LICENSE.txt |
| |
| Changes since the last public release (1.5.6): |
| |
| Version 1.5.7beta01 [November 4, 2011] |
| Added support for ARM processor (Mans Rullgard) |
| Fixed bug in pngvalid on early allocation failure; fixed type cast in |
| pngmem.c; pngvalid would attempt to call png_error() if the allocation |
| of a png_struct or png_info failed. This would probably have led to a |
| crash. The pngmem.c implementation of png_malloc() included a cast |
| to png_size_t which would fail on large allocations on 16-bit systems. |
| Fix for the preprocessor of the Intel C compiler. The preprocessor |
| splits adjacent @ signs with a space; this changes the concatentation |
| token from @-@-@ to PNG_JOIN; that should work with all compiler |
| preprocessors. |
| Paeth filter speed improvements from work by Siarhei Siamashka. This |
| changes the 'Paeth' reconstruction function to improve the GCC code |
| generation on x86. The changes are only part of the suggested ones; |
| just the changes that definitely improve speed and remain simple. |
| The changes also slightly increase the clarity of the code. |
| |
| Version 1.5.7beta02 [November 11, 2011] |
| Check compression_type parameter in png_get_iCCP and remove spurious |
| casts. The compression_type parameter is always assigned to, so must |
| be non-NULL. The cast of the profile length potentially truncated the |
| value unnecessarily on a 16-bit int system, so the cast of the (byte) |
| compression type to (int) is specified by ANSI-C anyway. |
| Fixed FP division by zero in pngvalid.c; the 'test_pixel' code left |
| the sBIT fields in the test pixel as 0, which resulted in a floating |
| point division by zero which was irrelevant but causes systems where |
| FP exceptions cause a crash. Added code to pngvalid to turn on FP |
| exceptions if the appropriate glibc support is there to ensure this is |
| tested in the future. |
| Updated scripts/pnglibconf.mak and scripts/makefile.std to handle the |
| new PNG_JOIN macro. |
| Added versioning to pnglibconf.h comments. |
| Simplified read/write API initial version; basic read/write tested on |
| a variety of images, limited documentation (in the header file.) |
| Installed more accurate linear to sRGB conversion tables. The slightly |
| modified tables reduce the number of 16-bit values that |
| convert to an off-by-one 8-bit value. The "makesRGB.c" code that was used |
| to generate the tables is now in a contrib/sRGBtables sub-directory. |
| |
| Version 1.5.7beta03 [November 17, 2011] |
| Removed PNG_CONST from the sRGB table declarations in pngpriv.h and png.c |
| Added run-time detection of NEON support. |
| Added contrib/libtests; includes simplified API test and timing test and |
| a color conversion utility for rapid checking of failed 'pngstest' results. |
| Multiple transform bug fixes plus a work-round for double gamma correction. |
| libpng does not support more than one transform that requires linear data |
| at once - if this is tried typically the results is double gamma |
| correction. Since the simplified APIs can need rgb to gray combined with |
| a compose operation it is necessary to do one of these outside the main |
| libpng transform code. This check-in also contains fixes to various bugs |
| in the simplified APIs themselves and to some bugs in compose and rgb to |
| gray (on palette) itself. |
| Fixes for C++ compilation using g++ When libpng source is compiled |
| using g++. The compiler imposes C++ rules on the C source; thus it |
| is desireable to make the source work with either C or C++ rules |
| without throwing away useful error information. This change adds |
| png_voidcast to allow C semantic (void*) cases or the corresponding |
| C++ static_cast operation, as appropriate. |
| Added --noexecstack to assembler file compilation. GCC does not set |
| this on assembler compilation, even though it does on C compilation. |
| This creates security issues if assembler code is enabled; the |
| work-around is to set it by default in the flags for $(CCAS) |
| Work around compilers that don't support declaration of const data. Some |
| compilers fault 'extern const' data declarations (because the data is |
| not initialized); this turns on const-ness only for compilers where |
| this is known to work. |
| |
| Version 1.5.7beta04 [November 17, 2011] |
| Since the gcc driver does not recognize the --noexecstack flag, we must |
| use the -Wa prefix to have it passed through to the assembler. |
| Also removed a duplicate setting of this flag. |
| Added files that were omitted from the libpng-1.5.7beta03 zip distribution. |
| |
| Version 1.5.7beta05 [(PENDING RELEASE)] |
| Removed "zTXt" from warning in generic chunk decompression function. |
| Validate time settings passed to pngset() and png_convert_to_rfc1123() |
| (Frank Busse). |
| Allow row_stride==0 to indicate default stride in simplified API. |
| Added MINGW support to CMakeLists.txt |
| Reject invalid compression flag or method when reading the iTXt chunk. |
| |
| Version 1.6.0alpha01 [November 27, 2011] |
| Added example programs for the new 'simplified' API. |
| Moved pngvalid.c into contrib/libtests |
| Rebuilt Makefile.in, configure, etc., with autoconf-2.68 |
| Added ANSI-C (C90) headers and require them, and take advantage of the |
| change. Also fixed some of the projects/* and contrib/* files that needed |
| updates for libpng16 and the move of pngvalid.c. |
| With this change the required ANSI-C header files are assumed to exist: the |
| implementation must provide float.h, limits.h, stdarg.h and stddef.h and |
| libpng relies on limits.h and stddef.h existing and behaving as defined |
| (the other two required headers aren't used). Non-ANSI systems that don't |
| have stddef.h or limits.h will have to provide an appropriate fake |
| containing the relevant types and #defines. |
| The use of FAR/far has been eliminated and the definition of png_alloc_size_t |
| is now controlled by a flag so that 'small size_t' systems can select it |
| if necessary. Libpng 1.6 may not currently work on such systems -- it |
| seems likely that it will ask 'malloc' for more than 65535 bytes with any |
| image that has a sufficiently large row size (rather than simply failing |
| to read such images). |
| |
| 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 |