Commit Graph

414 Commits

Author SHA1 Message Date
Glenn Randers-Pehrson
d404b6d488 [devel] Imported from libpng-1.5.4.tar 2011-07-07 06:26:30 -05:00
John Bowler
8d261262d9 [devel] Fixed pngvalid, simplified macros, added checking for 0 in sCAL. 2011-06-18 13:37:11 -05:00
Glenn Randers-Pehrson
aee83b43d6 [devel] Fixed buffer bug (both the strip_16 and scale_16 transforms were
being applied.
2011-06-18 00:19:54 -05:00
Glenn Randers-Pehrson
24145c8869 [devel] Still trying to fix row buffer problem but pngvalid still fails 2011-06-17 22:45:03 -05:00
Glenn Randers-Pehrson
e6a8060a71 [devel] Fixed some errors with 16_TO_8 macros
pngvalid still fails two tests, problem with row buffer.
2011-06-17 22:28:23 -05:00
Glenn Randers-Pehrson
ab63dd0892 [devel] Renamed png_set_chop_16() to png_set_strip_16(). 2011-06-17 20:41:19 -05:00
Glenn Randers-Pehrson
a7428d443c [devel] Renamed png_set_strip_16() to png_set_scale_16(). 2011-06-17 19:07:04 -05:00
Glenn Randers-Pehrson
5f0b9276ec [devel] Made PNG_READ_16_TO_8_ACCURATE_SCALE configurable again.
If this is not enabled, png_set_strip_16() and png_do_scale_16_to_8()
aren't built.
2011-06-16 09:05:40 -05:00
Glenn Randers-Pehrson
ef217b76a3 [devel] Updated comments that mention 1.5.3; changed them to 1.5.4. 2011-06-15 12:58:27 -05:00
Glenn Randers-Pehrson
903c64dce8 [devel] Added "#ifdef PNG_READ_BACKGROUND_SUPPORTED/#endif" in pngrtran.c 2011-06-15 11:50:23 -05:00
Glenn Randers-Pehrson
be720edba7 [devel] Correction to the expand_16 code; removed extra instance of
png_set_scale_16_to_8 from pngpriv.h
2011-06-15 08:20:37 -05:00
John Bowler
cd3b0cc4d9 [devel] Fixed a problem in png_do_expand_palette() exposed by optimization in
1.5.3beta06
  Also removed a spurious (totally unused and confusing) member from png_info.
  The palette expand optimization prevented expansion to an intermediate RGBA
    form if tRNS was present but alpha was marked to be stripped; this exposed
    a check for tRNS in png_do_expand_palette() which is inconsistent with the
    code elsewhere in libpng.
2011-06-14 23:01:07 -05:00
Glenn Randers-Pehrson
2232baa41b [devel] Made png_set_chop_16() API removeable
by disabling PNG_CHOP_16_TO_8_SUPPORTED
2011-06-14 06:59:46 -05:00
Glenn Randers-Pehrson
7dffa41643 [devel] Use the old scaling method for background if png_set_chop_16() was
called.
2011-06-14 06:30:12 -05:00
John Bowler
550bab03fb [devel] Removed the ACCURATE and LEGACY options (they are no longer useable)
Fixed some compiliation problems with scaling options.
2011-06-14 06:17:26 -05:00
Glenn Randers-Pehrson
413138a5ca [devel] Added png_set_chop_16() API. 2011-06-13 22:07:37 -05:00
John Bowler
74945f2f04 [devel] Fix and clarify LEGACY 16-to-8 scaling. 2011-06-13 20:50:42 -05:00
Glenn Randers-Pehrson
141d9e3c20 [devel] Made it possible to undefine PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED
to get the same (inaccurate) output as libpng-1.5.2 and earlier.
2011-06-13 11:47:00 -05:00
John Bowler
b2bee3374c [devel] Make the 16-to-8 scaling accurate. Dividing by 256 with no rounding is
wrong (high by one) 25% of the time. Dividing by 257 with rounding is
    wrong in 128 out of 65536 cases. Getting the right answer all the time
    without division is easy.
2011-06-10 23:24:58 -05:00
Glenn Randers-Pehrson
0a048923ae [devel] Update CHANGES and ANNOUNCE 2011-05-18 21:44:37 -05:00
John Bowler
db0ed3e62d [devel] png_set_background+png_expand_16 did not interwork correctly.
This problem is present in 1.5.2; if png_set_background is called with
 need_expand false and the matching 16 bit color libpng erroneously just treats
 it as an 8-bit color because of where png_do_expand_16 is in the transform
 list.  This simple fix reduces the supplied colour to 8 bits, so it gets
 smashed, but this is better than the current behavior.
2011-05-18 18:51:24 -05:00
Glenn Randers-Pehrson
55fbff358a [devel] Consistently use "n-bit", not "n bit" in comments. 2011-05-17 06:49:32 -05:00
John Bowler
1921e6db90 [devel] Reversed earlier change of transformation order; move
png_expand_16 back where it was before libpng-1.5.3beta07.
The change doesn't work because it requires 16 bit gamma tables when the code
only generates 8 bit ones.  This fails silently; the libpng code just doesn't
do any gamma correction.  Moving the tests back leaves the old, inaccurate, 8
bit gamma calculations, but these are clearly better than none!
2011-05-16 20:57:54 -05:00
Glenn Randers-Pehrson
0e128dfa2f [devel] Update CHANGES and ANNOUNCE; fix some new typos in comments. 2011-05-15 19:09:24 -05:00
John Bowler
9994f25733 [devel] pngvalid: add memory overwrite and palette image checks
also minor cleanup in the libpng code itself (pngrtran.c and pngrutil.c) and some
extra checking there.
2011-05-15 18:52:39 -05:00
John Bowler
cb0b29631f [devel] Documented png_set_alpha_mode(), other changes in libpng.3 and
libpng-manual.txt.
  The cHRM chunk now sets the defaults for png_set_rgb_to_gray() (when negative
    parameters are supplied by the caller), while in the absence of cHRM
    sRGB/Rec 709 values are still used.
  The bKGD chunk no longer overwrites the background value set by
    png_set_background(), allowing the latter to be used before the file
    header is read. It never performed any useful function to override
    the default anyway.

Send comments/corrections/commendations to png-mng-implement at lists.sf.net:
(subscription required; visit
2011-05-12 21:48:29 -05:00
John Bowler
f70c7d02e9 [devel] Added named value and 'flag' gamma support to png_set_gamma. Made a
minor change from the previous (unreleased) ABI/API to hide the exact value
used for Macs - it's not a good idea to embed this in the ABI!
2011-05-10 22:54:37 -05:00
John Bowler
96cec0e1a3 [devel] Added expand_16 suppport to the high level interface. 2011-05-08 22:48:12 -05:00
Glenn Randers-Pehrson
e9eeb743cb [devel] Reverted recent change of errors to warnings. 2011-05-08 19:39:17 -05:00
Glenn Randers-Pehrson
8ba34667a1 [devel] Changed some errors to warnings, added missing "png_ptr" arg in
some currently dead code in pngrtran.c that will be enabled in libpng-1.6
2011-05-08 06:02:18 -05:00
Glenn Randers-Pehrson
c7822514cc [devel] Fix typos in comments, add new API synopses to libpng.3 2011-05-07 21:23:43 -05:00
John Bowler
d273ad2d0f [devel] Implementation of premultiplied alpha support: png_set_alpha_mode
(libpng-manual.txt still to be updated, see png.h for documentation.)
2011-05-07 21:00:28 -05:00
Glenn Randers-Pehrson
4753906826 [devel] Update "last changed" dates and added CHANGES entry. 2011-05-05 07:32:30 -05:00
John Bowler
88b77cc6f3 [devel] Remove png_snprintf, add formatted warning messages.
This change adds internal APIs to allow png_warning messages to have parameters
 without requiring the host OS to implelment snprintf.  As a side effect the
 dependency of the RFC1132 code on stdio is removed and PNG_NO_WARNINGS does
 actually work now.
2011-05-05 06:49:55 -05:00
John Bowler
4a12f4a22a [devel] Cleanup of conditional compilation code and of background/gamma
handling. Internal changes only except for a new option to avoid compiling
in the png_build_grayscale_palette API (which is not used at all internally.)
The main change is to move the transform tests (READ_TRANSFORMS,
WRITE_TRANSFORMS) up one level to the caller of the APIs.
2011-04-17 18:34:22 -05:00
Glenn Randers-Pehrson
d2795b7909 [devel] Revised a comment about png_do_strip_channel(). 2011-04-16 19:41:23 -05:00
Glenn Randers-Pehrson
dcc3505c7b [devel] Imported from libpng-1.5.2.tar 2011-03-31 11:29:05 -05:00
Glenn Randers-Pehrson
cad6798a8c [devel] Imported from libpng-1.5.2beta01.tar 2011-02-13 06:13:39 -06:00
Glenn Randers-Pehrson
c36bb79352 [devel] Trim trailing blanks from sources and manual 2011-02-12 09:49:07 -06:00
John Bowler
4d56296443 [devel] Implement expansion to 16 bits 2011-02-12 09:01:20 -06:00
John Bowler
9b872f4cf9 [devel] Clean up ALPHA flags and transformations 2011-02-12 09:00:16 -06:00
Glenn Randers-Pehrson
3d3aae1697 --amend [devel] Imported from libpng-1.5.1.tar 2011-02-02 23:00:03 -06:00
John Bowler
f21a0d0eee [devel] Enhance pngvalid, correct an error in gray_to_rgb, correct doc error. 2011-01-23 23:55:19 -06:00
Glenn Randers-Pehrson
033155ca21 [devel] Imported from libpng-1.5.1beta01.tar 2011-01-08 15:50:00 -06:00
John Bowler
4e230b087e [devel] Proper fix for the failure to handle palette mapped images correctly. 2011-01-08 14:49:25 -06:00
John Bowler
a96117f52c [devel] Ensure that png_rgb_to_gray ignores palette mapped images. 2011-01-08 14:41:25 -06:00
Glenn Randers-Pehrson
f5ea1b7095 [devel] Imported from libpng-1.5.0.tar 2011-01-06 06:45:07 -06:00
Glenn Randers-Pehrson
64b863cd2a [devel] Update copyright year and bump to version libpng-1.5.0rc07 2011-01-04 09:58:33 -06:00
Glenn Randers-Pehrson
f2e2833f28 [devel] Fixed bug in background transformation handling in pngrtran.c
(it was looking for the flag in png_ptr->transformations instead of in
png_ptr->flags).
2010-12-28 21:48:43 -06:00
Glenn Randers-Pehrson
b3edc73afa [devel] Changes to remove gcc warnings (John Bowler)
Certain optional gcc warning flags resulted in warnings in libpng code.
With these changes only -Wconversion and -Wcast-qual cannot be turned on.
Changes are trivial rearrangements of code.  -Wconversion is not possible
for pngrutil.c (because of the widespread use of += et al on variables
smaller than (int) or (unsigned int)) and -Wcast-qual is not possible
with pngwio.c and pngwutil.c because the 'write' callback and zlib
compression both fail to declare their input buffers with 'const'.
2010-11-21 14:06:41 -06:00