The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 1 | |
Chris Craik | b50c217 | 2013-07-29 15:28:30 -0700 | [diff] [blame^] | 2 | Libpng 1.6.3 - July 18, 2013 |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 3 | |
| 4 | This is a public release of libpng, intended for use in production codes. |
| 5 | |
| 6 | Files available for download: |
| 7 | |
| 8 | Source files with LF line endings (for Unix/Linux) and with a |
| 9 | "configure" script |
| 10 | |
Chris Craik | b50c217 | 2013-07-29 15:28:30 -0700 | [diff] [blame^] | 11 | libpng-1.6.3.tar.xz (LZMA-compressed, recommended) |
| 12 | libpng-1.6.3.tar.gz |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 13 | |
| 14 | Source files with CRLF line endings (for Windows), without the |
| 15 | "configure" script |
| 16 | |
Chris Craik | b50c217 | 2013-07-29 15:28:30 -0700 | [diff] [blame^] | 17 | lpng163.7z (LZMA-compressed, recommended) |
| 18 | lpng163.zip |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 19 | |
| 20 | Other information: |
| 21 | |
Chris Craik | b50c217 | 2013-07-29 15:28:30 -0700 | [diff] [blame^] | 22 | libpng-1.6.3-README.txt |
| 23 | libpng-1.6.3-LICENSE.txt |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 24 | |
Chris Craik | b50c217 | 2013-07-29 15:28:30 -0700 | [diff] [blame^] | 25 | Changes since the last public release (1.6.2): |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 26 | |
Chris Craik | b50c217 | 2013-07-29 15:28:30 -0700 | [diff] [blame^] | 27 | Revised stack marking in arm/filter_neon.S and configure.ac. |
| 28 | Ensure that NEON filter stuff is completely disabled when switched 'off'. |
| 29 | Previously the ARM NEON specific files were still built if the option |
| 30 | was switched 'off' as opposed to being explicitly disabled. |
| 31 | Test for 'arm*' not just 'arm' in the host_cpu configure variable. |
| 32 | Rebuilt the configure scripts. |
| 33 | Expanded manual paragraph about writing private chunks, particularly |
| 34 | the need to call png_set_keep_unknown_chunks() when writing them. |
| 35 | Avoid dereferencing NULL pointer possibly returned from |
| 36 | png_create_write_struct() (Andrew Church). |
| 37 | Calculate our own zlib windowBits when decoding rather than trusting the |
| 38 | CMF bytes in the PNG datastream. |
| 39 | Added an option to force maximum window size for inflating, which was |
| 40 | the behavior of libpng15 and earlier. |
| 41 | Added png-fix-itxt and png-fix-too-far-back to the built programs and |
| 42 | removed warnings from the source code and timepng that are revealed as |
| 43 | a result. |
| 44 | Detect wrong libpng versions linked to png-fix-too-far-back, which currently |
| 45 | only works with libpng versions that can be made to reliably fail when |
| 46 | the deflate data contains an out-of-window reference. This means only |
| 47 | 1.6 and later. |
| 48 | Fixed gnu issues: g++ needs a static_cast, gcc 4.4.7 has a broken warning |
| 49 | message which it is easier to work round than ignore. |
| 50 | Updated contrib/pngminus/pnm2png.c (Paul Stewart): |
| 51 | Check for EOF |
| 52 | Ignore "#" delimited comments in input file to pnm2png.c. |
| 53 | Fixed whitespace handling |
| 54 | Added a call to png_set_packing() |
| 55 | Initialize dimension values so if sscanf fails at least we have known |
| 56 | invalid values. |
| 57 | Attempt to detect configuration issues with png-fix-too-far-back, which |
| 58 | requires both the correct libpng and the correct zlib to function |
| 59 | correctly. |
| 60 | Check ZLIB_VERNUM for mismatches, enclose #error in quotes |
| 61 | Added information in the documentation about problems with and fixes for |
| 62 | the bad CRC and bad iTXt chunk situations. |
| 63 | Allow contrib/pngminus/pnm2png.c to compile without WRITE_INVERT and |
| 64 | WRITE_PACK supported (writes error message that it can't read P1 or |
| 65 | Improved png-fix-too-far-back usage message, added --suffix option. |
| 66 | Revised contrib/pngminim/*/makefile to generate pnglibconf.h with the |
| 67 | right zlib header files. |
| 68 | Separated CPPFLAGS and CFLAGS in contrib/pngminim/*/makefile |
| 69 | Removed a redundant test in png_set_IHDR(). |
| 70 | Added set(CMAKE_CONFIGURATION_TYPES ...) to CMakeLists.txt (Andrew Hundt) |
| 71 | Deleted set(CMAKE_BUILD_TYPE) block from CMakeLists.txt |
| 72 | Enclose the prototypes for the simplified write API in |
| 73 | #ifdef PNG_STDIO_SUPPORTED/#endif |
| 74 | Make ARM NEON support work at compile time (not just configure time). |
| 75 | This moves the test on __ARM_NEON__ into pngconf.h to avoid issues when |
| 76 | using a compiler that compiles for multiple architectures at one time. |
| 77 | Removed PNG_FILTER_OPTIMIZATIONS and PNG_ARM_NEON_SUPPORTED from |
| 78 | pnglibconf.h, allowing more of the decisions to be made internally |
| 79 | (pngpriv.h) during the compile. Without this, symbol prefixing is broken |
| 80 | under certain circumstances on ARM platforms. Now only the API parts of |
| 81 | the optimizations ('check' vs 'api') are exposed in the public header files |
| 82 | except that the new setting PNG_ARM_NEON_OPT documents how libpng makes the |
| 83 | decision about whether or not to use the optimizations. |
| 84 | Protect symbol prefixing against CC/CPPFLAGS/CFLAGS useage. |
| 85 | Previous iOS/Xcode fixes for the ARM NEON optimizations moved the test |
| 86 | on __ARM_NEON__ from configure time to compile time. This breaks symbol |
| 87 | prefixing because the definition of the special png_init_filter_functions |
| 88 | call was hidden at configure time if the relevant compiler arguments are |
| 89 | passed in CFLAGS as opposed to CC. This change attempts to avoid all |
| 90 | the confusion that would result by declaring the init function even when |
| 91 | it is not used, so that it will always get prefixed. |
| 92 | Revised libpng.3 so that "doclifter" can process it. |
| 93 | Revised example.c to illustrate use of PNG_DEFAULT_sRGB and PNG_GAMMA_MAC_18 |
| 94 | as parameters for png_set_gamma(). These have been available since |
| 95 | libpng-1.5.4. |
| 96 | Renamed contrib/tools/png-fix-too-far-back.c to pngfix.c and revised it |
| 97 | to check all compressed chunks known to libpng. |
| 98 | Updated documentation to show default behavior of benign errors correctly. |
| 99 | Only compile ARM code when PNG_READ_SUPPORTED is defined. |
| 100 | Fixed undefined behavior in contrib/tools/pngfix.c and added new strip |
| 101 | option. pngfix relied on undefined behavior and even a simple change from |
| 102 | gcc to g++ caused it to fail. The new strip option 'unsafe' has been |
| 103 | implemented and is the default if --max is given. Option names have |
| 104 | been clarified, with --strip=transform now stripping the bKGD chunk, |
| 105 | which was stripped previously with --strip=unused. |
| 106 | Added all documented chunk types to pngpriv.h |
| 107 | Unified pngfix.c source with libpng17. |
| 108 | Revised manual about changes in iTXt chunk handling made in libpng-1.6.0. |
| 109 | Added "/* SAFE */" comments in pngrutil.c and pngrtran.c where warnings |
| 110 | may be erroneously issued by code-checking applications. |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 111 | |
| 112 | Send comments/corrections/commendations to png-mng-implement at lists.sf.net |
Patrick Scott | a0bb96c | 2009-07-22 11:50:02 -0400 | [diff] [blame] | 113 | (subscription required; visit |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 114 | https://lists.sourceforge.net/lists/listinfo/png-mng-implement |
Chris Craik | b50c217 | 2013-07-29 15:28:30 -0700 | [diff] [blame^] | 115 | to subscribe) |
| 116 | or to glennrp at users.sourceforge.net |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 117 | |
| 118 | Glenn R-P |