diff --git a/ANNOUNCE b/ANNOUNCE index 9da702a6e..59bbc46ce 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.5.18beta01 - June 29, 2013 +Libpng 1.5.18beta01 - August 21, 2013 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. @@ -24,46 +24,11 @@ Other information: 1.5.18beta01-README.txt 1.5.18beta01-LICENSE.txt -Changes since the last public release (1.5.16): +Changes since the last public release (1.5.17): -Version 1.5.17beta01 [June 8, 2013] - Removed a redundant test from png_set_IHDR(). - Added set(CMAKE_CONFIGURATION_TYPES ...) to CMakeLists.txt (Andrew Hundt) - Deleted set(CMAKE_BUILD_TYPE) block from CMakeLists.txt - Make ARM NEON support work at compile time (not just configure time). - This moves the test on __ARM_NEON__ into pngconf.h to avoid issues when - using a compiler that compiles for multiple architectures at one time. - Removed PNG_FILTER_OPTIMIZATIONS and PNG_ARM_NEON_SUPPORTED from - pnglibconf.h, allowing more of the decisions to be made internally - (pngpriv.h) during the compile. Without this, symbol prefixing is broken - under certain circumstances on ARM platforms. Now only the API parts of - the optimizations ('check' vs 'api') are exposed in the public header files - except that the new setting PNG_ARM_NEON_OPT documents how libpng makes the - decision about whether or not to use the optimizations. - Protect symbol prefixing against CC/CPPFLAGS/CFLAGS useage. - Previous iOS/Xcode fixes for the ARM NEON optimizations moved the test - on __ARM_NEON__ from configure time to compile time. This breaks symbol - prefixing because the definition of the special png_init_filter_functions - call was hidden at configure time if the relevant compiler arguments are - passed in CFLAGS as opposed to CC. This change attempts to avoid all - the confusion that would result by declaring the init function even when - it is not used, so that it will always get prefixed. - -Version 1.5.17rc01 [June 29, 2013] - No changes. - -Version 1.5.17rc02 [June 18, 2013] - Revised libpng.3 so that "doclifter" can process it. - -Version 1.5.17rc03 [June 25, 2013] - Revised example.c to illustrate use of PNG_DEFAULT_sRGB and PNG_GAMMA_MAC_18 - as parameters for png_set_gamma(). These have been available since - libpng-1.5.4. - -Version 1.5.17 [June 27, 2013] - No changes. - -Version 1.5.18beta01 [June 29, 2013] +Version 1.5.18beta01 [August 21, 2013] + Delay calling png_init_filter_functions() until a row with nonzero filter + is found. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CHANGES b/CHANGES index f2b5f7815..d9c6df93f 100644 --- a/CHANGES +++ b/CHANGES @@ -4150,7 +4150,9 @@ Version 1.5.17rc03 [June 25, 2013] Version 1.5.17 [June 27, 2013] No changes. -Version 1.5.18beta01 [June 29, 2013] +Version 1.5.18beta01 [August 21, 2013] + Delay calling png_init_filter_functions() until a row with nonzero filter + is found. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/pngrutil.c b/pngrutil.c index 0d82f0206..987e59fea 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -1,7 +1,7 @@ /* pngrutil.c - utilities to read a PNG file * - * Last changed in libpng 1.5.16 [May 23, 2013] + * Last changed in libpng 1.5.18 [%RDATE%] * Copyright (c) 1998-2013 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) @@ -3700,10 +3700,13 @@ void /* PRIVATE */ png_read_filter_row(png_structp pp, png_row_infop row_info, png_bytep row, png_const_bytep prev_row, int filter) { - if (pp->read_filter[0] == NULL) - png_init_filter_functions(pp); if (filter > PNG_FILTER_VALUE_NONE && filter < PNG_FILTER_VALUE_LAST) + { + if (pp->read_filter[0] == NULL) + png_init_filter_functions(pp); + pp->read_filter[filter-1](row_info, row, prev_row); + } } #ifdef PNG_SEQUENTIAL_READ_SUPPORTED