[libpng16] Made PNG_NO_READ_GAMMA switch off interfaces that depend on

READ_GAMMA.  Prior to 1.6.0 switching off READ_GAMMA did unpredictable things
to the interfaces that use it (specifically, png_do_background in 1.4 would
simply display composite for grayscale images but do composition
with the incorrect arithmetic for color ones). In 1.6 the semantic
of -DPNG_NO_READ_GAMMA is changed to simply disable any interface that
depends on it; this obliges people who set it to consider whether they
really want it off if they happen to use any of the interfaces in
question (typically most users who disable it won't).
This commit is contained in:
John Bowler
2012-10-27 06:57:12 -05:00
committed by Glenn Randers-Pehrson
parent f0fb1746b0
commit ab1477d662
4 changed files with 117 additions and 48 deletions

13
CHANGES
View File

@@ -4277,7 +4277,7 @@ Version 1.6.0beta30 [October 24, 2012]
Fixed build when using #define PNG_NO_READ_GAMMA in png_do_compose() in
pngrtran.c (Domani Hannes).
Version 1.6.0beta31 [October 26, 2012]
Version 1.6.0beta31 [October 27, 2012]
Undid the erroneous change to vstudio/pngvalid build in libpng-1.6.0beta30.
Made pngvalid so that it will build outside the libpng source tree.
Changed ICC profile support to allow use of an external color management
@@ -4290,7 +4290,16 @@ Version 1.6.0beta31 [October 26, 2012]
has been changed to allow an external CMS to be used. This code is
temporarily disabled until a suitable set of test cases using one or more
external CMS implementations have been implemented.
Make builds -DPNG_NO_READ_GAMMA compile (the unit tests still fail).
Made builds -DPNG_NO_READ_GAMMA compile (the unit tests still fail).
Made PNG_NO_READ_GAMMA switch off interfaces that depend on READ_GAMMA.
Prior to 1.6.0 switching off READ_GAMMA did unpredictable things to the
interfaces that use it (specifically, png_do_background in 1.4 would
simply display composite for grayscale images but do composition
with the incorrect arithmetic for color ones). In 1.6 the semantic
of -DPNG_NO_READ_GAMMA is changed to simply disable any interface that
depends on it; this obliges people who set it to consider whether they
really want it off if they happen to use any of the interfaces in
question (typically most users who disable it won't).
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit