mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
[libpng15] Delay calling png_init_filter_functions() until a row with nonzero
filter is found.
This commit is contained in:
parent
c5b84c0ba6
commit
fe7b94da93
45
ANNOUNCE
45
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
|
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.
|
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-README.txt
|
||||||
1.5.18beta01-LICENSE.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]
|
Version 1.5.18beta01 [August 21, 2013]
|
||||||
Removed a redundant test from png_set_IHDR().
|
Delay calling png_init_filter_functions() until a row with nonzero filter
|
||||||
Added set(CMAKE_CONFIGURATION_TYPES ...) to CMakeLists.txt (Andrew Hundt)
|
is found.
|
||||||
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]
|
|
||||||
|
|
||||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||||
(subscription required; visit
|
(subscription required; visit
|
||||||
|
4
CHANGES
4
CHANGES
@ -4150,7 +4150,9 @@ Version 1.5.17rc03 [June 25, 2013]
|
|||||||
Version 1.5.17 [June 27, 2013]
|
Version 1.5.17 [June 27, 2013]
|
||||||
No changes.
|
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
|
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||||
(subscription required; visit
|
(subscription required; visit
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
/* pngrutil.c - utilities to read a PNG file
|
/* 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
|
* Copyright (c) 1998-2013 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
* (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_read_filter_row(png_structp pp, png_row_infop row_info, png_bytep row,
|
||||||
png_const_bytep prev_row, int filter)
|
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 (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);
|
pp->read_filter[filter-1](row_info, row, prev_row);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef PNG_SEQUENTIAL_READ_SUPPORTED
|
#ifdef PNG_SEQUENTIAL_READ_SUPPORTED
|
||||||
|
Loading…
x
Reference in New Issue
Block a user