Commit Graph

1104 Commits

Author SHA1 Message Date
Glenn Randers-Pehrson
9c06d78468 [libpng16] Imported from libpng-1.6.0beta29.tar 2012-09-04 16:59:12 -05:00
John Bowler
b98681b49a [libpng16] Improved ICC profile handling including cHRM chunk generation and
fixed Cygwin+MSVC build errors. The ICC profile handling now includes more
checking.  Several errors that caused rejection of the profile are now
handled with a warning in such a way that the invalid profiles will be
read by default in release (but not pre-RC) builds but will not be
written by default.  The easy part of handling a cHRM chunk is written,
where the ICC profile contains the required data.  The more difficult
part plus guessing a gAMA value requires code to pass selected RGB values
through the profile.
2012-09-04 16:35:20 -05:00
John Bowler
d099973c4f [libpng16] Made makepng and pngtest produce identical PNGs, add "--relaxed"
option to pngtest. The "--relaxed" option turns off the benign errors that are
enabled by default in pre-RC builds. makepng can now write ICC profiles
where the length has not been extended to a multiple of 4, and pngtest
now intercepts all libpng errors, allowing the previously-introduced
"--strict test" on no warnings to actually work.
2012-09-01 11:46:14 -05:00
Glenn Randers-Pehrson
97a77a6f7b [libpng16] Updated simplified API synopses and description of the png_image
structure in the manual.
2012-09-01 08:16:51 -05:00
Glenn Randers-Pehrson
b2aba47a6d [libpng16] Added contrib/examples/* to the *.zip and *.7z distributions. 2012-09-01 06:40:48 -05:00
John Bowler
ed3ca0e3eb [libpng16] Fixed the simplified API example programs and improved the error
message if the version field is not set.
2012-08-31 17:32:36 -05:00
Glenn Randers-Pehrson
fd043e5d0d [libpng16] Bump version to 1.6.0beta29 2012-08-29 14:18:24 -05:00
Glenn Randers-Pehrson
cc02f89eb2 [libpng16] Imported from libpng-1.6.0beta28.tar 2012-08-29 14:18:15 -05:00
John Bowler
14d0ca620e [libpng16] Cleaned up and corrected ICC profile handling.
contrib/libtests/makepng: corrected 'rgb' and 'gray' cases.  profile_error
    messages could be truncated; made a correct buffer size calculation and
    adjusted pngerror.c appropriately. png_icc_check_* checking improved;
    changed the functions to receive the correct color type of the PNG on read
    or write and check that it matches the color space of the profile (despite
    what the comments said before, there is danger in assuming the app will
    cope correctly with an RGB profile on a grayscale image and, since it
    violates the PNG spec, allowing it is certain to produce inconsistent
    app behavior and might even cause app crashes.) Check that profiles
    contain the tags needed to process the PNG (tags all required by the ICC
    spec). Removed unused PNG_STATIC from pngpriv.h.
2012-08-25 16:21:46 -05:00
Glenn Randers-Pehrson
702053d110 [libpng16] Bump version to 1.6.0beta28 2012-08-17 21:54:45 -05:00
John Bowler
d0eef28ee1 [libpng16] Added "tunknown" test and corrected a logic error in
png_handle_unknown() when SAVE support is absent.  Moved the shell test
scripts for contrib/libtests from the libpng top directory to contrib/libtests.
png_handle_unknown() must always read or skip the chunk, if
SAVE_UNKNOWN_CHUNKS is turned off *and* the application does not set
a user callback an unknown chunk will not be read, leading to a read
error, which was revealed by the "tunknown" test.
2012-08-17 15:30:29 -05:00
John Bowler
3c1f6983c5 [libpng16] Corrected fix for unknown handling in pngtest. This reinstates the
libpng handling of unknown chunks other than vpAg and sTER (including
unsafe-to-copy chunks which were dropped before) and eliminates the
repositioning of vpAg and sTER in pngtest.png by changing pngtest.png
(so the chunks are where libpng would put them).
2012-08-16 20:47:34 -05:00
John Bowler
4a6c6df6c7 [libpng16] Allow fine grain control of unknown chunk APIs. This change allows
png_set_keep_unknown_chunks() to be turned off if not required and causes
both read and write to behave appropriately (on read this is only possible
if the user callback is used to handle unknown chunks).  The change
also removes the support for storing unknown chunks in the info_struct
if the only unknown handling enabled is via the callback, allowing libpng
to be configured with callback reading and none of the unnecessary code.
2012-08-16 16:12:13 -05:00
John Bowler
e9567514dd [libpng16] Unknown handling fixes and clean up. This adds more correct option
control of the unknown handling, corrects the pre-existing bug where
the per-chunk 'keep' setting is ignored and makes it possible to skip
IDAT chunks in the sequential reader (broken in earlier 1.6 versions).
There is a new test program, test-unknown.c, which is a work in progress
(not currently part of the test suite).  Comments in the header files now
explain how the unknown handling works.
2012-08-15 22:53:00 -05:00
Glenn Randers-Pehrson
b593b3f035 [libpng16] Bump version to 1.6.0beta28 2012-08-11 18:32:36 -05:00
Glenn Randers-Pehrson
0f08665bfb [libpng16] Imported from libpng-1.6.0beta27.tar 2012-08-11 18:31:44 -05:00
John Bowler
aa9dea57d7 [libpng16] Work around gcc 3.x and Microsoft Visual Studio 2010 complaints.
Both object to the split initialization of num_chunks.
2012-08-10 19:04:08 -05:00
Glenn Randers-Pehrson
ece07cfe9c [libpng16] Removed the png_sizeof(), png_strlen(), png_memset(), png_memcpy(),
and png_memcmp() macros.
2012-08-10 18:19:41 -05:00
Glenn Randers-Pehrson
dbb7e19fda [libpng16] Consistently use memset(), memcpy(), and memcmp() instead of the
png_memset(), png_memcpy(), and png_memcmp() macros.
2012-08-10 17:27:42 -05:00
John Bowler
e2098ba085 [libpng16] Make all three "make check" test programs work without READ or WRITE
support.  Now "make check" will succeed even if libpng is compiled with
-DPNG_NO_READ or -DPNG_NO_WRITE.  The tests performed are reduced, but the
basic reading and writing of a PNG file is always tested by one or more of
the tests.
2012-08-10 17:04:56 -05:00
Glenn Randers-Pehrson
26849f4693 [libpng16] Consistently use png_memset(), png_memcpy(), and png_memcmp(),
except in pngtest.c and example.c where these macros are not visible.
2012-08-10 16:01:45 -05:00
John Bowler
ad5a993954 [libpng16] Cause pngtest --strict to fail on any warning from libpng (not just
errors) and cause it not to fail at the comparison step if libpng lacks support
for writing chunks that it reads from the input (currently only implemented
for compressed text chunks).
2012-08-10 13:15:07 -05:00
John Bowler
865e14fd32 [libpng16] Revised comments about info_ptr->signature, added CHANGES entry. 2012-08-10 08:05:53 -05:00
John Bowler
8d3453a22d [libpng16] Insist on autotools 1.12.1 for git builds because there are security
issues with 1.12 and insisting on anything less would allow 1.12 to be used.
2012-08-09 22:57:35 -05:00
John Bowler
dff6f4c4f0 [libpng16Cleanup of png_set_filler(). This function does very different things
on read and write.  In libpng 1.6 the two cases can be distinguished and
considerable code cleanup, and extra error checking, is possible.  This
makes calls on the write side that have no effect be ignored with a
png_app_error(), which can be disabled in the app using
png_set_benign_errors(), and removes the spurious use of usr_channels
on the read side.
2012-08-09 21:17:56 -05:00
Glenn Randers-Pehrson
432c174b64 [libpng16] Eliminated use of png_sizeof(); use sizeof() instead, and use.
a consistent style for (sizeof type) and (sizeof (array))
2012-08-09 20:14:48 -05:00
John Bowler
5f5977e708 [libpng16] Re-eliminated the use of strcpy() in pngtest.c. An unncessary use
of strcpy() was accidentally re-introduced in libpng16; this change replaces
it with strncpy().
2012-08-09 16:42:42 -05:00
John Bowler
0a9f8eb272 [libpng16] Fixed configurations where floating point is completely disabled.
Because of the changes to support symbol prefixing PNG_INTERNAL_FUNCTION
declares floating point APIs during libpng builds even if they are completely
disabled. This requires the png floating point types (png_double*) to be
declared even though the functions are never actually defined.  This
change provides a dummy definition so that the declarations work, yet any
implementation will fail to compile because of an incomplete type.
2012-08-09 07:35:50 -05:00
Glenn Randers-Pehrson
01b813000a [libpng16] Removed references to png_zalloc() and png_zfree() from the manual.
They have not been exported to applications since libpng12.
2012-08-03 07:23:42 -05:00
Glenn Randers-Pehrson
0a9f26e219 [libpng16] Do not use __restrict when GNUC is <= 3.1 2012-07-21 11:16:17 -05:00
Glenn Randers-Pehrson
05ed18e7d1 [libpng16] Bump version to 1.6.0beta27 2012-07-21 11:02:42 -05:00
Glenn Randers-Pehrson
edb3523a9b [libpng16] Imported from libpng-1.6.0beta26.tar 2012-07-10 21:00:41 -05:00
Glenn Randers-Pehrson
46cb5109bd [libpng16] Moved scripts/chkfmt to contrib/tools. 2012-06-25 14:14:17 -05:00
Glenn Randers-Pehrson
5845d3eabd [libpng16] Removed scripts/makefile.cegcc from the *.zip and *.7z
distributions; it depends on configure, which is not included in those
archives.
2012-06-25 09:11:53 -05:00
Glenn Randers-Pehrson
4a37149f66 [libpng16] Bump version to 1.6.0beta26 2012-06-16 14:50:34 -05:00
Glenn Randers-Pehrson
96b917056d [libpng16] Revised png_set_keep_unknown_chunks() so num_chunks < 0 means
ignore all unknown chunks and all known chunks except for IHDR, PLTE, tRNS,
IDAT, and IEND.  Previously it only meant ignore all unknown chunks, the
same as num_chunks == 0. Revised png_image_skip_unused_chunks() to
provide a list of chunks to be processed instead of a list of chunks to
ignore.  Revised contrib/gregbook/readpng2.c accordingly.
2012-06-16 13:26:28 -05:00
Glenn Randers-Pehrson
0546e4e579 [libpng16] Document deprecation of png_convert_to_rfc1123() and its
replacement with png_convert_to_rfc1123_buffer().
2012-06-12 13:06:52 -05:00
Glenn Randers-Pehrson
d630301d99 [libpng16] Bump version to 1.6.0beta25 2012-06-07 10:29:14 -05:00
Glenn Randers-Pehrson
905cc94e3d [libpng16] Don't check palette indexes if num_palette is 0 (as it can be in
MNG files).
2012-06-07 10:18:25 -05:00
Glenn Randers-Pehrson
8f424b8270 [libpng16] Bump version to 1.6.0beta24 2012-06-06 13:54:41 -05:00
Glenn Randers-Pehrson
14ca47b453 [libpng16] Improved performance of new do_check_palette_indexes() function
(only update the value when it actually increases, move test for whether
the check is wanted out of the function.
2012-06-06 13:30:30 -05:00
Glenn Randers-Pehrson
b1e7771d5e [libpng16] Do not depend upon a GCC feature macro being available for use in
generating the linker mapfile symbol prefix.
2012-06-03 19:30:02 -05:00
Glenn Randers-Pehrson
ff7b7ba060 [libpng16] Made fixes for new optimization warnings from gcc 4.7.0.
The compiler performs an optimization which is safe; however it then warns
about it.  Changing the type of 'palette_number' in pngvalid.c removes the
warning.
2012-06-03 19:17:48 -05:00
Glenn Randers-Pehrson
1935d0738f [libpng16] Revised CMakeLists.txt to not attempt to make a symlink under mingw. 2012-05-29 05:50:04 -05:00
Glenn Randers-Pehrson
04c1c078b9 [libpng16] Bump version to 1.6.0beta23 2012-05-23 13:19:38 -05:00
Glenn Randers-Pehrson
8f4d67218e [libpng16] Imported from libpng-1.6.0beta22.tar 2012-05-23 13:19:30 -05:00
John Bowler
b45416921b [libpng16] Removed need for -Wno-cast-align with clang. clang correctly warns
on alignment increasing pointer casts when -Wcast-align is passed. This
fixes the cases clang warns about either (pngread.c) by eliminating the
casts from png_bytep to png_uint_16p or, for pngrutil.c where the cast
is previously verified or pngstest.c where it is OK by introducing new
png_aligncast macros to do the cast in a way that clang accepts.
2012-04-30 06:31:54 -05:00
Glenn Randers-Pehrson
040575c80b [libpng16] Bump version to 1.6.0beta22 2012-04-28 06:34:57 -05:00
Glenn Randers-Pehrson
bc2a57f657 [libpng16] Changed deprecated NOOBJ and NOPROFILE to NO_OBJ and NO_PROFILE in
scripts/makefile.freebsd
2012-04-28 05:48:21 -05:00
Glenn Randers-Pehrson
cd39adb561 [libpng16] Removed #ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED in pngpriv.h around
declaration of png_handle_unknown().
2012-04-23 23:12:39 -05:00