summaryrefslogtreecommitdiffstats
path: root/tests/auto/qprogressbar
ModeNameSize
-rw-r--r--.gitignore17logstatsplain
-rw-r--r--qprogressbar.pro51logstatsplain
-rw-r--r--tst_qprogressbar.cpp7758logstatsplain
amp;id=c9a13228d61de352edfb0019121bc83160d3b79f'>src/3rdparty/libpng/KNOWNBUG22
-rw-r--r--src/3rdparty/libpng/LICENSE111
-rw-r--r--src/3rdparty/libpng/README267
-rw-r--r--src/3rdparty/libpng/TODO25
-rw-r--r--src/3rdparty/libpng/Y2KINFO55
-rwxr-xr-xsrc/3rdparty/libpng/configure13
-rw-r--r--src/3rdparty/libpng/example.c835
-rw-r--r--src/3rdparty/libpng/libpng-1.2.40.txt3112
-rw-r--r--src/3rdparty/libpng/libpng.34349
-rw-r--r--src/3rdparty/libpng/libpngpf.3790
-rw-r--r--src/3rdparty/libpng/png.574
-rw-r--r--src/3rdparty/libpng/png.c926
-rw-r--r--src/3rdparty/libpng/png.h3726
-rw-r--r--src/3rdparty/libpng/pngbar.jpgbin2498 -> 0 bytes-rw-r--r--src/3rdparty/libpng/pngbar.pngbin2399 -> 0 bytes-rw-r--r--src/3rdparty/libpng/pngconf.h1518
-rw-r--r--src/3rdparty/libpng/pngerror.c364
-rw-r--r--src/3rdparty/libpng/pnggccrd.c103
-rw-r--r--src/3rdparty/libpng/pngget.c943
-rw-r--r--src/3rdparty/libpng/pngmem.c620
-rw-r--r--src/3rdparty/libpng/pngnow.pngbin2069 -> 0 bytes-rw-r--r--src/3rdparty/libpng/pngpread.c1727
-rw-r--r--src/3rdparty/libpng/pngread.c1473
-rw-r--r--src/3rdparty/libpng/pngrio.c177
-rw-r--r--src/3rdparty/libpng/pngrtran.c4381
-rw-r--r--src/3rdparty/libpng/pngrutil.c3252
-rw-r--r--src/3rdparty/libpng/pngset.c1285
-rw-r--r--src/3rdparty/libpng/pngtest.c1692
-rw-r--r--src/3rdparty/libpng/pngtest.pngbin8574 -> 0 bytes-rw-r--r--src/3rdparty/libpng/pngtrans.c677
-rw-r--r--src/3rdparty/libpng/pngvcrd.c1
-rw-r--r--src/3rdparty/libpng/pngwio.c259
-rw-r--r--src/3rdparty/libpng/pngwrite.c1561
-rw-r--r--src/3rdparty/libpng/pngwtran.c575
-rw-r--r--src/3rdparty/libpng/pngwutil.c2825
-rw-r--r--src/3rdparty/libpng/projects/beos/x86-shared.projbin17031 -> 0 bytes-rw-r--r--src/3rdparty/libpng/projects/beos/x86-shared.txt22
-rw-r--r--src/3rdparty/libpng/projects/beos/x86-static.projbin16706 -> 0 bytes-rw-r--r--src/3rdparty/libpng/projects/beos/x86-static.txt22
-rw-r--r--src/3rdparty/libpng/projects/cbuilder5/libpng.bpf22
-rw-r--r--src/3rdparty/libpng/projects/cbuilder5/libpng.bpg25
-rw-r--r--src/3rdparty/libpng/projects/cbuilder5/libpng.bpr157
-rw-r--r--src/3rdparty/libpng/projects/cbuilder5/libpng.cpp29
-rw-r--r--src/3rdparty/libpng/projects/cbuilder5/libpng.readme.txt25
-rw-r--r--src/3rdparty/libpng/projects/cbuilder5/libpngstat.bpf22
-rw-r--r--src/3rdparty/libpng/projects/cbuilder5/libpngstat.bpr109
-rw-r--r--src/3rdparty/libpng/projects/cbuilder5/zlib.readme.txt14
-rw-r--r--src/3rdparty/libpng/projects/netware.txt6
-rw-r--r--src/3rdparty/libpng/projects/visualc6/README.txt57
-rw-r--r--src/3rdparty/libpng/projects/visualc6/libpng.dsp472
-rw-r--r--src/3rdparty/libpng/projects/visualc6/libpng.dsw59
-rw-r--r--src/3rdparty/libpng/projects/visualc6/pngtest.dsp314
-rw-r--r--src/3rdparty/libpng/projects/visualc71/PRJ0041.mak21
-rw-r--r--src/3rdparty/libpng/projects/visualc71/README.txt57
-rw-r--r--src/3rdparty/libpng/projects/visualc71/README_zlib.txt44
-rw-r--r--src/3rdparty/libpng/projects/visualc71/libpng.sln88
-rw-r--r--src/3rdparty/libpng/projects/visualc71/libpng.vcproj702
-rw-r--r--src/3rdparty/libpng/projects/visualc71/pngtest.vcproj459
-rw-r--r--src/3rdparty/libpng/projects/visualc71/zlib.vcproj670
-rw-r--r--src/3rdparty/libpng/projects/wince.txt6
-rw-r--r--src/3rdparty/libpng/scripts/CMakeLists.txt253
-rw-r--r--src/3rdparty/libpng/scripts/SCOPTIONS.ppc7
-rw-r--r--src/3rdparty/libpng/scripts/descrip.mms52
-rwxr-xr-xsrc/3rdparty/libpng/scripts/libpng-config-body.in96
-rwxr-xr-xsrc/3rdparty/libpng/scripts/libpng-config-head.in24
-rwxr-xr-xsrc/3rdparty/libpng/scripts/libpng-config.in127
-rw-r--r--src/3rdparty/libpng/scripts/libpng.icc47
-rw-r--r--src/3rdparty/libpng/scripts/libpng.pc-configure.in11
-rw-r--r--src/3rdparty/libpng/scripts/libpng.pc.in10
-rw-r--r--src/3rdparty/libpng/scripts/makefile.32sunu257
-rw-r--r--src/3rdparty/libpng/scripts/makefile.64sunu257
-rw-r--r--src/3rdparty/libpng/scripts/makefile.acorn50
-rw-r--r--src/3rdparty/libpng/scripts/makefile.aix116
-rw-r--r--src/3rdparty/libpng/scripts/makefile.amiga51
-rw-r--r--src/3rdparty/libpng/scripts/makefile.atari55
-rw-r--r--src/3rdparty/libpng/scripts/makefile.bc32145
-rw-r--r--src/3rdparty/libpng/scripts/makefile.beos230
-rw-r--r--src/3rdparty/libpng/scripts/makefile.bor156
-rw-r--r--src/3rdparty/libpng/scripts/makefile.cygwin302
-rw-r--r--src/3rdparty/libpng/scripts/makefile.darwin237
-rw-r--r--src/3rdparty/libpng/scripts/makefile.dec217
-rw-r--r--src/3rdparty/libpng/scripts/makefile.dj258
-rw-r--r--src/3rdparty/libpng/scripts/makefile.elf279
-rw-r--r--src/3rdparty/libpng/scripts/makefile.freebsd51
-rw-r--r--src/3rdparty/libpng/scripts/makefile.gcc83
-rw-r--r--src/3rdparty/libpng/scripts/makefile.gcmmx274
-rw-r--r--src/3rdparty/libpng/scripts/makefile.hp64239
-rw-r--r--src/3rdparty/libpng/scripts/makefile.hpgcc248
-rw-r--r--src/3rdparty/libpng/scripts/makefile.hpux236
-rw-r--r--src/3rdparty/libpng/scripts/makefile.ibmc77
-rw-r--r--src/3rdparty/libpng/scripts/makefile.intel106
-rw-r--r--src/3rdparty/libpng/scripts/makefile.knr103
-rw-r--r--src/3rdparty/libpng/scripts/makefile.linux253
-rw-r--r--src/3rdparty/libpng/scripts/makefile.mingw289
-rw-r--r--src/3rdparty/libpng/scripts/makefile.mips87
-rw-r--r--src/3rdparty/libpng/scripts/makefile.msc91
-rw-r--r--src/3rdparty/libpng/scripts/makefile.ne12bsd49
-rw-r--r--src/3rdparty/libpng/scripts/makefile.netbsd49
-rw-r--r--src/3rdparty/libpng/scripts/makefile.nommx255
-rw-r--r--src/3rdparty/libpng/scripts/makefile.openbsd76
-rw-r--r--src/3rdparty/libpng/scripts/makefile.os272
-rw-r--r--src/3rdparty/libpng/scripts/makefile.sco232
-rw-r--r--src/3rdparty/libpng/scripts/makefile.sggcc243
-rw-r--r--src/3rdparty/libpng/scripts/makefile.sgi248
-rw-r--r--src/3rdparty/libpng/scripts/makefile.so9254
-rw-r--r--src/3rdparty/libpng/scripts/makefile.solaris251
-rw-r--r--src/3rdparty/libpng/scripts/makefile.solaris-x86251
-rw-r--r--src/3rdparty/libpng/scripts/makefile.std95
-rw-r--r--src/3rdparty/libpng/scripts/makefile.sunos100
-rw-r--r--src/3rdparty/libpng/scripts/makefile.tc389
-rw-r--r--src/3rdparty/libpng/scripts/makefile.vcawin32104
-rw-r--r--src/3rdparty/libpng/scripts/makefile.vcwin32104
-rw-r--r--src/3rdparty/libpng/scripts/makefile.watcom112
-rw-r--r--src/3rdparty/libpng/scripts/makevms.com142
-rw-r--r--src/3rdparty/libpng/scripts/pngos2.def257
-rw-r--r--src/3rdparty/libpng/scripts/pngw32.def239
-rw-r--r--src/3rdparty/libpng/scripts/pngw32.rc112
-rw-r--r--src/3rdparty/libpng/scripts/smakefile.ppc33
121 files changed, 0 insertions, 52416 deletions
diff --git a/src/3rdparty/libpng/ANNOUNCE b/src/3rdparty/libpng/ANNOUNCE
deleted file mode 100644
index b73bbb5..0000000
--- a/src/3rdparty/libpng/ANNOUNCE
+++ /dev/null
@@ -1,57 +0,0 @@
-
-Libpng 1.2.40 - September 10, 2009
-
-This is a public release of libpng, intended for use in production codes.
-
-Files available for download:
-
-Source files with LF line endings (for Unix/Linux) and with a
-"configure" script
-
- libpng-1.2.40.tar.xz (LZMA-compressed, recommended)
- libpng-1.2.40.tar.gz
- libpng-1.2.40.tar.bz2
-
-Source files with LF line endings (for Unix/Linux) without the
-"configure" script
-
- libpng-1.2.40-no-config.tar.xz (LZMA-compressed, recommended)
- libpng-1.2.40-no-config.tar.gz
- libpng-1.2.40-no-config.tar.bz2
-
-Source files with CRLF line endings (for Windows), without the
-"configure" script
-
- lpng1240.zip
- lpng1240.7z
- lpng1240.tar.bz2
-
-Project files
-
- libpng-1.2.40-project-netware.zip
- libpng-1.2.40-project-wince.zip
-
-Other information:
-
- libpng-1.2.40-README.txt
- libpng-1.2.40-KNOWNBUGS.txt
- libpng-1.2.40-LICENSE.txt
- libpng-1.2.40-Y2K-compliance.txt
- libpng-1.2.40-[previous version]-diff.txt
-
-Changes since the last public release (1.2.39):
-
-version 1.2.40 [September 10, 2009]
-
- Removed an extra png_debug() recently added to png_write_find_filter().
- Fixed incorrect #ifdef in pngset.c regarding unknown chunk support.
- Various bugfixes and improvements to CMakeLists.txt (Philip Lowman)
-
-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
-https://lists.sourceforge.net/lists/listinfo/png-mng-implement
-to subscribe) or to glennrp at users.sourceforge.net
-
-Glenn R-P
diff --git a/src/3rdparty/libpng/CHANGES b/src/3rdparty/libpng/CHANGES
deleted file mode 100644
index 9bb8ac8..0000000
--- a/src/3rdparty/libpng/CHANGES
+++ /dev/null
@@ -1,2479 +0,0 @@
-/*
-CHANGES - changes for libpng
-
-version 0.2
- added reader into png.h
- fixed small problems in stub file
-
-version 0.3
- added pull reader
- split up pngwrite.c to several files
- added pnglib.txt
- added example.c
- cleaned up writer, adding a few new transformations
- fixed some bugs in writer
- interfaced with zlib 0.5
- added K&R support
- added check for 64 KB blocks for 16 bit machines
-
-version 0.4
- cleaned up code and commented code
- simplified time handling into png_time
- created png_color_16 and png_color_8 to handle color needs
- cleaned up color type defines
- fixed various bugs
- made various names more consistent
- interfaced with zlib 0.71
- cleaned up zTXt reader and writer (using zlib's Reset functions)
- split transformations into pngrtran.c and pngwtran.c
-
-version 0.5
- interfaced with zlib 0.8
- fixed many reading and writing bugs
- saved using 3 spaces instead of tabs
-
-version 0.6
- added png_large_malloc() and png_large_free()
- added png_size_t
- cleaned up some compiler warnings
- added png_start_read_image()
-
-version 0.7
- cleaned up lots of bugs
- finished dithering and other stuff
- added test program
- changed name from pnglib to libpng
-
-version 0.71 [June, 1995]
- changed pngtest.png for zlib 0.93
- fixed error in libpng.txt and example.c
-
-version 0.8
- cleaned up some bugs
- added png_set_filler()
- split up pngstub.c into pngmem.c, pngio.c, and pngerror.c
- added #define's to remove unwanted code
- moved png_info_init() to png.c
- added old_size into png_realloc()
- added functions to manually set filtering and compression info
- changed compression parameters based on image type
- optimized filter selection code
- added version info
- changed external functions passing floats to doubles (k&r problems?)
- put all the configurable stuff in pngconf.h
- enabled png_set_shift to work with paletted images on read
- added png_read_update_info() - updates info structure with
- transformations
-
-version 0.81 [August, 1995]
- incorporated Tim Wegner's medium model code (thanks, Tim)
-
-version 0.82 [September, 1995]
- [unspecified changes]
-
-version 0.85 [December, 1995]
- added more medium model code (almost everything's a far)
- added i/o, error, and memory callback functions
- fixed some bugs (16 bit, 4 bit interlaced, etc.)
- added first run progressive reader (barely tested)
-
-version 0.86 [January, 1996]
- fixed bugs
- improved documentation
-
-version 0.87 [January, 1996]
- fixed medium model bugs
- fixed other bugs introduced in 0.85 and 0.86
- added some minor documentation
-
-version 0.88 [January, 1996]
- fixed progressive bugs
- replaced tabs with spaces
- cleaned up documentation
- added callbacks for read/write and warning/error functions
-
-version 0.89 [July, 1996]
- added new initialization API to make libpng work better with shared libs
- we now have png_create_read_struct(), png_create_write_struct(),
- png_create_info_struct(), png_destroy_read_struct(), and
- png_destroy_write_struct() instead of the separate calls to
- malloc and png_read_init(), png_info_init(), and png_write_init()
- changed warning/error callback functions to fix bug - this means you
- should use the new initialization API if you were using the old
- png_set_message_fn() calls, and that the old API no longer exists
- so that people are aware that they need to change their code
- changed filter selection API to allow selection of multiple filters
- since it didn't work in previous versions of libpng anyways
- optimized filter selection code
- fixed png_set_background() to allow using an arbitrary RGB color for
- paletted images
- fixed gamma and background correction for paletted images, so
- png_correct_palette is not needed unless you are correcting an
- external palette (you will need to #define PNG_CORRECT_PALETTE_SUPPORTED
- in pngconf.h) - if nobody uses this, it may disappear in the future.
- fixed bug with Borland 64K memory allocation (Alexander Lehmann)
- fixed bug in interlace handling (Smarasderagd, I think)
- added more error checking for writing and image to reduce invalid files
- separated read and write functions so that they won't both be linked
- into a binary when only reading or writing functionality is used
- new pngtest image also has interlacing and zTXt
- updated documentation to reflect new API
-
-version 0.90 [January, 1997]
- made CRC errors/warnings on critical and ancillary chunks configurable
- libpng will use the zlib CRC routines by (compile-time) default
- changed DOS small/medium model memory support - needs zlib 1.04 (Tim Wegner)
- added external C++ wrapper statements to png.h (Gilles Dauphin)
- allow PNG file to be read when some or all of file signature has already
- been read from the beginning of the stream. ****This affects the size
- of info_struct and invalidates all programs that use a shared libpng****
- fixed png_filler() declarations
- fixed? background color conversions
- fixed order of error function pointers to match documentation
- current chunk name is now available in png_struct to reduce the number
- of nearly identical error messages (will simplify multi-lingual
- support when available)
- try to get ready for unknown-chunk callback functions:
- - previously read critical chunks are flagged, so the chunk handling
- routines can determine if the chunk is in the right place
- - all chunk handling routines have the same prototypes, so we will
- be able to handle all chunks via a callback mechanism
- try to fix Linux "setjmp" buffer size problems
- removed png_large_malloc, png_large_free, and png_realloc functions.
-
-version 0.95 [March, 1997]
- fixed bug in pngwutil.c allocating "up_row" twice and "avg_row" never
- fixed bug in PNG file signature compares when start != 0
- changed parameter type of png_set_filler(...filler...) from png_byte
- to png_uint_32
- added test for MACOS to ensure that both math.h and fp.h are not #included
- added macros for libpng to be compiled as a Windows DLL (Andreas Kupries)
- added "packswap" transformation, which changes the endianness of
- packed-pixel bytes (Kevin Bracey)
- added "strip_alpha" transformation, which removes the alpha channel of
- input images without using it (not necessarily a good idea)
- added "swap_alpha" transformation, which puts the alpha channel in front
- of the color bytes instead of after
- removed all implicit variable tests which assume NULL == 0 (I think)
- changed several variables to "png_size_t" to show 16/32-bit limitations
- added new pCAL chunk read/write support
- added experimental filter selection weighting (Greg Roelofs)
- removed old png_set_rgbx() and png_set_xrgb() functions that have been
- obsolete for about 2 years now (use png_set_filler() instead)
- added macros to read 16- and 32-bit ints directly from buffer, to be
- used only on those systems that support it (namely PowerPC and 680x0)
- With some testing, this may become the default for MACOS/PPC systems.
- only calculate CRC on data if we are going to use it
- added macros for zTXt compression type PNG_zTXt_COMPRESSION_???
- added macros for simple libpng debugging output selectable at compile time
- removed PNG_READ_END_MODE in progressive reader (Smarasderagd)
- more description of info_struct in libpng.txt and png.h
- more instructions in example.c
- more chunk types tested in pngtest.c
- renamed pngrcb.c to pngset.c, and all png_read_<chunk> functions to be
- png_set_<chunk>. We now have corresponding png_get_<chunk>
- functions in pngget.c to get information in info_ptr. This isolates
- the application from the internal organization of png_info_struct
- (good for shared library implementations).
-
-version 0.96 [May, 1997]
- fixed serious bug with < 8bpp images introduced in 0.95
- fixed 256-color transparency bug (Greg Roelofs)
- fixed up documentation (Greg Roelofs, Laszlo Nyul)
- fixed "error" in pngconf.h for Linux setjmp() behaviour
- fixed DOS medium model support (Tim Wegner)
- fixed png_check_keyword() for case with error in static string text
- added read of CRC after IEND chunk for embedded PNGs (Laszlo Nyul)
- added typecasts to quiet compiler errors
- added more debugging info
-
-version 0.97 [January, 1998]
- removed PNG_USE_OWN_CRC capability
- relocated png_set_crc_action from pngrutil.c to pngrtran.c
- fixed typecasts of "new_key", etc. (Andreas Dilger)
- added RFC 1152 [sic] date support
- fixed bug in gamma handling of 4-bit grayscale
- added 2-bit grayscale gamma handling (Glenn R-P)
- added more typecasts. 65536L becomes (png_uint_32)65536L, etc. (Glenn R-P)
- minor corrections in libpng.txt
- added simple sRGB support (Glenn R-P)
- easier conditional compiling, e.g. define PNG_READ/WRITE_NOT_FULLY_SUPPORTED;
- all configurable options can be selected from command-line instead
- of having to edit pngconf.h (Glenn R-P)
- fixed memory leak in pngwrite.c (free info_ptr->text) (Glenn R-P)
- added more conditions for png_do_background, to avoid changing
- black pixels to background when a background is supplied and
- no pixels are transparent
- repaired PNG_NO_STDIO behaviour
- tested NODIV support and made it default behaviour (Greg Roelofs)
- added "-m" option and PNGTEST_DEBUG_MEMORY to pngtest (John Bowler)
- regularized version numbering scheme and bumped shared-library major
- version number to 2 to avoid problems with libpng 0.89 apps (Greg Roelofs)
-
-version 0.98 [January, 1998]
- cleaned up some typos in libpng.txt and in code documentation
- fixed memory leaks in pCAL chunk processing (Glenn R-P and John Bowler)
- cosmetic change "display_gamma" to "screen_gamma" in pngrtran.c
- changed recommendation about file_gamma for PC images to .51 from .45,
- in example.c and libpng.txt, added comments to distinguish between
- screen_gamma, viewing_gamma, and display_gamma.
- changed all references to RFC1152 to read RFC1123 and changed the
- PNG_TIME_RFC1152_SUPPORTED macro to PNG_TIME_RFC1123_SUPPORTED
- added png_invert_alpha capability (Glenn R-P -- suggestion by Jon Vincent)
- changed srgb_intent from png_byte to int to avoid compiler bugs
-
-version 0.99 [January 30, 1998]
- free info_ptr->text instead of end_info_ptr->text in pngread.c (John Bowler)
- fixed a longstanding "packswap" bug in pngtrans.c
- fixed some inconsistencies in pngconf.h that prevented compiling with
- PNG_READ_GAMMA_SUPPORTED and PNG_READ_hIST_SUPPORTED undefined
- fixed some typos and made other minor rearrangement of libpng.txt (Andreas)
- changed recommendation about file_gamma for PC images to .50 from .51 in
- example.c and libpng.txt, and changed file_gamma for sRGB images to .45
- added a number of functions to access information from the png structure
- png_get_image_height(), etc. (Glenn R-P, suggestion by Brad Pettit)
- added TARGET_MACOS similar to zlib-1.0.8
- define PNG_ALWAYS_EXTERN when __MWERKS__ && WIN32 are defined
- added type casting to all png_malloc() function calls
-version 0.99a [January 31, 1998]
- Added type casts and parentheses to all returns that return a value.(Tim W.)
-version 0.99b [February 4, 1998]
- Added type cast png_uint_32 on malloc function calls where needed.
- Changed type of num_hist from png_uint_32 to int (same as num_palette).
- Added checks for rowbytes overflow, in case png_size_t is less than 32 bits.
- Renamed makefile.elf to makefile.lnx.
-version 0.99c [February 7, 1998]
- More type casting. Removed erroneous overflow test in pngmem.c.
- Added png_buffered_memcpy() and png_buffered_memset(), apply them to rowbytes.
- Added UNIX manual pages libpng.3 (incorporating libpng.txt) and png.5.
-version 0.99d [February 11, 1998]
- Renamed "far_to_near()" "png_far_to_near()"
- Revised libpng.3
- Version 99c "buffered" operations didn't work as intended. Replaced them
- with png_memcpy_check() and png_memset_check().
- Added many "if (png_ptr == NULL) return" to quell compiler warnings about
- unused png_ptr, mostly in pngget.c and pngset.c.
- Check for overlength tRNS chunk present when indexed-color PLTE is read.
- Cleaned up spelling errors in libpng.3/libpng.txt
- Corrected a problem with png_get_tRNS() which returned undefined trans array
-version 0.99e [February 28, 1998]
- Corrected png_get_tRNS() again.
- Add parentheses for easier reading of pngget.c, fixed "||" should be "&&".
- Touched up example.c to make more of it compileable, although the entire
- file still can't be compiled (Willem van Schaik)
- Fixed a bug in png_do_shift() (Bryan Tsai)
- Added a space in png.h prototype for png_write_chunk_start()
- Replaced pngtest.png with one created with zlib 1.1.1
- Changed pngtest to report PASS even when file size is different (Jean-loup G.)
- Corrected some logic errors in png_do_invert_alpha() (Chris Patterson)
-version 0.99f [March 5, 1998]
- Corrected a bug in pngpread() introduced in version 99c (Kevin Bracey)
- Moved makefiles into a "scripts" directory, and added INSTALL instruction file
- Added makefile.os2 and pngos2.def (A. Zabolotny) and makefile.s2x (W. Sebok)
- Added pointers to "note on libpng versions" in makefile.lnx and README
- Added row callback feature when reading and writing nonprogressive rows
- and added a test of this feature in pngtest.c
- Added user transform callbacks, with test of the feature in pngtest.c
-version 0.99g [March 6, 1998, morning]
- Minor changes to pngtest.c to suppress compiler warnings.
- Removed "beta" language from documentation.
-version 0.99h [March 6, 1998, evening]
- Minor changes to previous minor changes to pngtest.c
- Changed PNG_READ_NOT_FULLY_SUPPORTED to PNG_READ_TRANSFORMS_NOT_SUPPORTED
- and added PNG_PROGRESSIVE_READ_NOT_SUPPORTED macro
- Added user transform capability
-
-version 1.00 [March 7, 1998]
- Changed several typedefs in pngrutil.c
- Added makefile.wat (Pawel Mrochen), updated makefile.tc3 (Willem van Schaik)
- replaced "while(1)" with "for(;;)"
- added PNGARG() to prototypes in pngtest.c and removed some prototypes
- updated some of the makefiles (Tom Lane)
- changed some typedefs (s_start, etc.) in pngrutil.c
- fixed dimensions of "short_months" array in pngwrite.c
- Replaced ansi2knr.c with the one from jpeg-v6
-
-version 1.0.0 [March 8, 1998]
- Changed name from 1.00 to 1.0.0 (Adam Costello)
- Added smakefile.ppc (with SCOPTIONS.ppc) for Amiga PPC (Andreas Kleinert)
-version 1.0.0a [March 9, 1998]
- Fixed three bugs in pngrtran.c to make gamma+background handling consistent
- (Greg Roelofs)
- Changed format of the PNG_LIBPNG_VER integer to xyyzz instead of xyz
- for major, minor, and bugfix releases. This is 10001. (Adam Costello,
- Tom Lane)
- Make months range from 1-12 in png_convert_to_rfc1123
-version 1.0.0b [March 13, 1998]
- Quieted compiler complaints about two empty "for" loops in pngrutil.c
- Minor changes to makefile.s2x
- Removed #ifdef/#endif around a png_free() in pngread.c
-
-version 1.0.1 [March 14, 1998]
- Changed makefile.s2x to reduce security risk of using a relative pathname
- Fixed some typos in the documentation (Greg).
- Fixed a problem with value of "channels" returned by png_read_update_info()
-version 1.0.1a [April 21, 1998]
- Optimized Paeth calculations by replacing abs() function calls with intrinsics
- plus other loop optimizations. Improves avg decoding speed by about 20%.
- Commented out i386istic "align" compiler flags in makefile.lnx.
- Reduced the default warning level in some makefiles, to make them consistent.
- Removed references to IJG and JPEG in the ansi2knr.c copyright statement.
- Fixed a bug in png_do_strip_filler with XXRRGGBB => RRGGBB transformation.
- Added grayscale and 16-bit capability to png_do_read_filler().
- Fixed a bug in pngset.c, introduced in version 0.99c, that sets rowbytes
- too large when writing an image with bit_depth < 8 (Bob Dellaca).
- Corrected some bugs in the experimental weighted filtering heuristics.
- Moved a misplaced pngrutil code block that truncates tRNS if it has more
- than num_palette entries -- test was done before num_palette was defined.
- Fixed a png_convert_to_rfc1123() bug that converts day 31 to 0 (Steve Eddins).
- Changed compiler flags in makefile.wat for better optimization (Pawel Mrochen).
-version 1.0.1b [May 2, 1998]
- Relocated png_do_gray_to_rgb() within png_do_read_transformations() (Greg).
- Relocated the png_composite macros from pngrtran.c to png.h (Greg).
- Added makefile.sco (contributed by Mike Hopkirk).
- Fixed two bugs (missing definitions of "istop") introduced in libpng-1.0.1a.
- Fixed a bug in pngrtran.c that would set channels=5 under some circumstances.
- More work on the Paeth-filtering, achieving imperceptible speedup (A Kleinert).
- More work on loop optimization which may help when compiled with C++ compilers.
- Added warnings when people try to use transforms they've defined out.
- Collapsed 4 "i" and "c" loops into single "i" loops in pngrtran and pngwtran.
- Revised paragraph about png_set_expand() in libpng.txt and libpng.3 (Greg)
-version 1.0.1c [May 11, 1998]
- Fixed a bug in pngrtran.c (introduced in libpng-1.0.1a) where the masks for
- filler bytes should have been 0xff instead of 0xf.
- Added max_pixel_depth=32 in pngrutil.c when using FILLER with palette images.
- Moved PNG_WRITE_WEIGHTED_FILTER_SUPPORTED and PNG_WRITE_FLUSH_SUPPORTED
- out of the PNG_WRITE_TRANSFORMS_NOT_SUPPORTED block of pngconf.h
- Added "PNG_NO_WRITE_TRANSFORMS" etc., as alternatives for *_NOT_SUPPORTED,
- for consistency, in pngconf.h
- Added individual "ifndef PNG_NO_[CAPABILITY]" in pngconf.h to make it easier
- to remove unwanted capabilities via the compile line
- Made some corrections to grammar (which, it's) in documentation (Greg).
- Corrected example.c, use of row_pointers in png_write_image().
-version 1.0.1d [May 24, 1998]
- Corrected several statements that used side effects illegally in pngrutil.c
- and pngtrans.c, that were introduced in version 1.0.1b
- Revised png_read_rows() to avoid repeated if-testing for NULL (A Kleinert)
- More corrections to example.c, use of row_pointers in png_write_image()
- and png_read_rows().
- Added pngdll.mak and pngdef.pas to scripts directory, contributed by
- Bob Dellaca, to make a png32bd.dll with Borland C++ 4.5
- Fixed error in example.c with png_set_text: num_text is 3, not 2 (Guido V.)
- Changed several loops from count-down to count-up, for consistency.
-version 1.0.1e [June 6, 1998]
- Revised libpng.txt and libpng.3 description of png_set_read|write_fn(), and
- added warnings when people try to set png_read_fn and png_write_fn in
- the same structure.
- Added a test such that png_do_gamma will be done when num_trans==0
- for truecolor images that have defined a background. This corrects an
- error that was introduced in libpng-0.90 that can cause gamma processing
- to be skipped.
- Added tests in png.h to include "trans" and "trans_values" in structures
- when PNG_READ_BACKGROUND_SUPPORTED or PNG_READ_EXPAND_SUPPORTED is defined.
- Add png_free(png_ptr->time_buffer) in png_destroy_read_struct()
- Moved png_convert_to_rfc_1123() from pngwrite.c to png.c
- Added capability for user-provided malloc_fn() and free_fn() functions,
- and revised pngtest.c to demonstrate their use, replacing the
- PNGTEST_DEBUG_MEM feature.
- Added makefile.w32, for Microsoft C++ 4.0 and later (Tim Wegner).
-
-version 1.0.2 [June 14, 1998]
- Fixed two bugs in makefile.bor .
-version 1.0.2a [December 30, 1998]
- Replaced and extended code that was removed from png_set_filler() in 1.0.1a.
- Fixed a bug in png_do_filler() that made it fail to write filler bytes in
- the left-most pixel of each row (Kevin Bracey).
- Changed "static pngcharp tIME_string" to "static char tIME_string[30]"
- in pngtest.c (Duncan Simpson).
- Fixed a bug in pngtest.c that caused pngtest to try to write a tIME chunk
- even when no tIME chunk was present in the source file.
- Fixed a problem in pngrutil.c: gray_to_rgb didn't always work with 16-bit.
- Fixed a problem in png_read_push_finish_row(), which would not skip some
- passes that it should skip, for images that are less than 3 pixels high.
- Interchanged the order of calls to png_do_swap() and png_do_shift()
- in pngwtran.c (John Cromer).
- Added #ifdef PNG_DEBUG/#endif surrounding use of PNG_DEBUG in png.h .
- Changed "bad adaptive filter type" from error to warning in pngrutil.c .
- Fixed a documentation error about default filtering with 8-bit indexed-color.
- Separated the PNG_NO_STDIO macro into PNG_NO_STDIO and PNG_NO_CONSOLE_IO
- (L. Peter Deutsch).
- Added png_set_rgb_to_gray() and png_get_rgb_to_gray_status() functions.
- Added png_get_copyright() and png_get_header_version() functions.
- Revised comments on png_set_progressive_read_fn() in libpng.txt and example.c
- Added information about debugging in libpng.txt and libpng.3 .
- Changed "ln -sf" to "ln -s -f" in makefile.s2x, makefile.lnx, and makefile.sco.
- Removed lines after Dynamic Dependencies" in makefile.aco .
- Revised makefile.dec to make a shared library (Jeremie Petit).
- Removed trailing blanks from all files.
-version 1.0.2a [January 6, 1999]
- Removed misplaced #endif and #ifdef PNG_NO_EXTERN near the end of png.h
- Added "if" tests to silence complaints about unused png_ptr in png.h and png.c
- Changed "check_if_png" function in example.c to return true (nonzero) if PNG.
- Changed libpng.txt to demonstrate png_sig_cmp() instead of png_check_sig()
- which is obsolete.
-
-version 1.0.3 [January 14, 1999]
- Added makefile.hux, for Hewlett Packard HPUX 10.20 and 11.00 (Jim Rice)
- Added a statement of Y2K compliance in png.h, libpng.3, and Y2KINFO.
-version 1.0.3a [August 12, 1999]
- Added check for PNG_READ_INTERLACE_SUPPORTED in pngread.c; issue a warning
- if an attempt is made to read an interlaced image when it's not supported.
- Added check if png_ptr->trans is defined before freeing it in pngread.c
- Modified the Y2K statement to include versions back to version 0.71
- Fixed a bug in the check for valid IHDR bit_depth/color_types in pngrutil.c
- Modified makefile.wat (added -zp8 flag, ".symbolic", changed some comments)
- Replaced leading blanks with tab characters in makefile.hux
- Changed "dworkin.wustl.edu" to "ccrc.wustl.edu" in various documents.
- Changed (float)red and (float)green to (double)red, (double)green
- in png_set_rgb_to_gray() to avoid "promotion" problems in AIX.
- Fixed a bug in pngconf.h that omitted <stdio.h> when PNG_DEBUG==0 (K Bracey).
- Reformatted libpng.3 and libpngpf.3 with proper fonts (script by J. vanZandt).
- Updated documentation to refer to the PNG-1.2 specification.
- Removed ansi2knr.c and left pointers to the latest source for ansi2knr.c
- in makefile.knr, INSTALL, and README (L. Peter Deutsch)
- Fixed bugs in calculation of the length of rowbytes when adding alpha
- channels to 16-bit images, in pngrtran.c (Chris Nokleberg)
- Added function png_set_user_transform_info() to store user_transform_ptr,
- user_depth, and user_channels into the png_struct, and a function
- png_get_user_transform_ptr() to retrieve the pointer (Chris Nokleberg)
- Added function png_set_empty_plte_permitted() to make libpng useable
- in MNG applications.
- Corrected the typedef for png_free_ptr in png.h (Jesse Jones).
- Correct gamma with srgb is 45455 instead of 45000 in pngrutil.c, to be
- consistent with PNG-1.2, and allow variance of 500 before complaining.
- Added assembler code contributed by Intel in file pngvcrd.c and modified
- makefile.w32 to use it (Nirav Chhatrapati, INTEL Corporation, Gilles Vollant)
- Changed "ln -s -f" to "ln -f -s" in the makefiles to make Solaris happy.
- Added some aliases for png_set_expand() in pngrtran.c, namely
- png_set_expand_PLTE(), png_set_expand_depth(), and png_set_expand_tRNS()
- (Greg Roelofs, in "PNG: The Definitive Guide").
- Added makefile.beo for BEOS on X86, contributed by Sander Stok.
-version 1.0.3b [August 26, 1999]
- Replaced 2147483647L several places with PNG_MAX_UINT macro, defined in png.h
- Changed leading blanks to tabs in all makefiles.
- Define PNG_USE_PNGVCRD in makefile.w32, to get MMX assembler code.
- Made alternate versions of png_set_expand() in pngrtran.c, namely
- png_set_gray_1_2_4_to_8, png_set_palette_to_rgb, and png_set_tRNS_to_alpha
- (Greg Roelofs, in "PNG: The Definitive Guide"). Deleted the 1.0.3a aliases.
- Relocated start of 'extern "C"' block in png.h so it doesn't include pngconf.h
- Revised calculation of num_blocks in pngmem.c to avoid a potentially
- negative shift distance, whose results are undefined in the C language.
- Added a check in pngset.c to prevent writing multiple tIME chunks.
- Added a check in pngwrite.c to detect invalid small window_bits sizes.
-version 1.0.3d [September 4, 1999]
- Fixed type casting of igamma in pngrutil.c
- Added new png_expand functions to scripts/pngdef.pas and pngos2.def
- Added a demo read_user_transform_fn that examines the row filters in pngtest.c
-
-version 1.0.4 [September 24, 1999]
- Define PNG_ALWAYS_EXTERN in pngconf.h if __STDC__ is defined
- Delete #define PNG_INTERNAL and include "png.h" from pngasmrd.h
- Made several minor corrections to pngtest.c
- Renamed the makefiles with longer but more user friendly extensions.
- Copied the PNG copyright and license to a separate LICENSE file.
- Revised documentation, png.h, and example.c to remove reference to
- "viewing_gamma" which no longer appears in the PNG specification.
- Revised pngvcrd.c to use MMX code for interlacing only on the final pass.
- Updated pngvcrd.c to use the faster C filter algorithms from libpng-1.0.1a
- Split makefile.win32vc into two versions, makefile.vcawin32 (uses MMX
- assembler code) and makefile.vcwin32 (doesn't).
- Added a CPU timing report to pngtest.c (enabled by defining PNGTEST_TIMING)
- Added a copy of pngnow.png to the distribution.
-version 1.0.4a [September 25, 1999]
- Increase max_pixel_depth in pngrutil.c if a user transform needs it.
- Changed several division operations to right-shifts in pngvcrd.c
-version 1.0.4b [September 30, 1999]
- Added parentheses in line 3732 of pngvcrd.c
- Added a comment in makefile.linux warning about buggy -O3 in pgcc 2.95.1
-version 1.0.4c [October 1, 1999]
- Added a "png_check_version" function in png.c and pngtest.c that will generate
- a helpful compiler error if an old png.h is found in the search path.
- Changed type of png_user_transform_depth|channels from int to png_byte.
-version 1.0.4d [October 6, 1999]
- Changed 0.45 to 0.45455 in png_set_sRGB()
- Removed unused PLTE entries from pngnow.png
- Re-enabled some parts of pngvcrd.c (png_combine_row) that work properly.
-version 1.0.4e [October 10, 1999]
- Fixed sign error in pngvcrd.c (Greg Roelofs)
- Replaced some instances of memcpy with simple assignments in pngvcrd (GR-P)
-version 1.0.4f [October 15, 1999]
- Surrounded example.c code with #if 0 .. #endif to prevent people from
- inadvertently trying to compile it.
- Changed png_get_header_version() from a function to a macro in png.h
- Added type casting mostly in pngrtran.c and pngwtran.c
- Removed some pointless "ptr = NULL" in pngmem.c
- Added a "contrib" directory containing the source code from Greg's book.
-
-version 1.0.5 [October 15, 1999]
- Minor editing of the INSTALL and README files.
-version 1.0.5a [October 23, 1999]
- Added contrib/pngsuite and contrib/pngminus (Willem van Schaik)
- Fixed a typo in the png_set_sRGB() function call in example.c (Jan Nijtmans)
- Further optimization and bugfix of pngvcrd.c
- Revised pngset.c so that it does not allocate or free memory in the user's
- text_ptr structure. Instead, it makes its own copy.
- Created separate write_end_info_struct in pngtest.c for a more severe test.
- Added code in pngwrite.c to free info_ptr->text[i].key to stop a memory leak.
-version 1.0.5b [November 23, 1999]
- Moved PNG_FLAG_HAVE_CHUNK_HEADER, PNG_FLAG_BACKGROUND_IS_GRAY and
- PNG_FLAG_WROTE_tIME from flags to mode.
- Added png_write_info_before_PLTE() function.
- Fixed some typecasting in contrib/gregbook/*.c
- Updated scripts/makevms.com and added makevms.com to contrib/gregbook
- and contrib/pngminus (Martin Zinser)
-version 1.0.5c [November 26, 1999]
- Moved png_get_header_version from png.h to png.c, to accommodate ansi2knr.
- Removed all global arrays (according to PNG_NO_GLOBAL_ARRAYS macro), to
- accommodate making DLL's: Moved usr_png_ver from global variable to function
- png_get_header_ver() in png.c. Moved png_sig to png_sig_bytes in png.c and
- eliminated use of png_sig in pngwutil.c. Moved the various png_CHNK arrays
- into pngtypes.h. Eliminated use of global png_pass arrays. Declared the
- png_CHNK and png_pass arrays to be "const". Made the global arrays
- available to applications (although none are used in libpng itself) when
- PNG_NO_GLOBAL_ARRAYS is not defined or when PNG_GLOBAL_ARRAYS is defined.
- Removed some extraneous "-I" from contrib/pngminus/makefile.std
- Changed the PNG_sRGB_INTENT macros in png.h to be consistent with PNG-1.2.
- Change PNG_SRGB_INTENT to PNG_sRGB_INTENT in libpng.txt and libpng.3
-version 1.0.5d [November 29, 1999]
- Add type cast (png_const_charp) two places in png.c
- Eliminated pngtypes.h; use macros instead to declare PNG_CHNK arrays.
- Renamed "PNG_GLOBAL_ARRAYS" to "PNG_USE_GLOBAL_ARRAYS" and made available
- to applications a macro "PNG_USE_LOCAL_ARRAYS".
- Remove all the new declarations with #ifdef/#endif when
- PNG_USE_GLOBAL_ARRAYS is defined.
- Added PNG_EXPORT_VAR macro to accommodate making DLL's.
-version 1.0.5e [November 30, 1999]
- Added iCCP, iTXt, and sPLT support; added "lang" member to the png_text
- structure; refactored the inflate/deflate support to make adding new chunks
- with trailing compressed parts easier in the future, and added new functions
- png_free_iCCP, png_free_pCAL, png_free_sPLT, png_free_text, png_get_iCCP,
- png_get_spalettes, png_set_iCCP, png_set_spalettes (Eric S. Raymond).
- NOTE: Applications that write text chunks MUST define png_text->lang
- before calling png_set_text(). It must be set to NULL if you want to
- write tEXt or zTXt chunks. If you want your application to be able to
- run with older versions of libpng, use
-
- #ifdef PNG_iTXt_SUPPORTED
- png_text[i].lang = NULL;
- #endif
-
- Changed png_get_oFFs() and png_set_oFFs() to use signed rather than unsigned
- offsets (Eric S. Raymond).
- Combined PNG_READ_cHNK_SUPPORTED and PNG_WRITE_cHNK_SUPPORTED macros into
- PNG_cHNK_SUPPORTED and combined the three types of PNG_text_SUPPORTED
- macros, leaving the separate macros also available.
- Removed comments on #endifs at the end of many short, non-nested #if-blocks.
-version 1.0.5f [December 6, 1999]
- Changed makefile.solaris to issue a warning about potential problems when
- the ucb "ld" is in the path ahead of the ccs "ld".
- Removed "- [date]" from the "synopsis" line in libpng.3 and libpngpf.3.
- Added sCAL chunk support (Eric S. Raymond).
-version 1.0.5g [December 7, 1999]
- Fixed "png_free_spallettes" typo in png.h
- Added code to handle new chunks in pngpread.c
- Moved PNG_CHNK string macro definitions outside of PNG_NO_EXTERN block
- Added "translated_key" to png_text structure and png_write_iTXt().
- Added code in pngwrite.c to work around a newly discovered zlib bug.
-version 1.0.5h [December 10, 1999]
- NOTE: regarding the note for version 1.0.5e, the following must also
- be included in your code:
- png_text[i].translated_key = NULL;
- Unknown chunk handling is now supported.
- Option to eliminate all floating point support was added. Some new
- fixed-point functions such as png_set_gAMA_fixed() were added.
- Expanded tabs and removed trailing blanks in source files.
-version 1.0.5i [December 13, 1999]
- Added some type casts to silence compiler warnings.
- Renamed "png_free_spalette" to "png_free_spalettes" for consistency.
- Removed leading blanks from a #define in pngvcrd.c
- Added some parameters to the new png_set_keep_unknown_chunks() function.
- Added a test for up->location != 0 in the first instance of writing
- unknown chunks in pngwrite.c
- Changed "num" to "i" in png_free_spalettes() and png_free_unknowns() to
- prevent recursion.
- Added png_free_hIST() function.
- Various patches to fix bugs in the sCAL and integer cHRM processing,
- and to add some convenience macros for use with sCAL.
-version 1.0.5j [December 21, 1999]
- Changed "unit" parameter of png_write_sCAL from png_byte to int, to work
- around buggy compilers.
- Added new type "png_fixed_point" for integers that hold float*100000 values
- Restored backward compatibility of tEXt/zTXt chunk processing:
- Restored the first four members of png_text to the same order as v.1.0.5d.
- Added members "lang_key" and "itxt_length" to png_text struct. Set
- text_length=0 when "text" contains iTXt data. Use the "compression"
- member to distinguish among tEXt/zTXt/iTXt types. Added
- PNG_ITXT_COMPRESSION_NONE (1) and PNG_ITXT_COMPRESSION_zTXt(2) macros.
- The "Note" above, about backward incompatibility of libpng-1.0.5e, no
- longer applies.
- Fixed png_read|write_iTXt() to read|write parameters in the right order,
- and to write the iTXt chunk after IDAT if it appears in the end_ptr.
- Added pnggccrd.c, version of pngvcrd.c Intel assembler for gcc (Greg Roelofs)
- Reversed the order of trying to write floating-point and fixed-point gAMA.
-version 1.0.5k [December 27, 1999]
- Added many parentheses, e.g., "if (a && b & c)" becomes "if (a && (b & c))"
- Added png_handle_as_unknown() function (Glenn)
- Added png_free_chunk_list() function and chunk_list and num_chunk_list members
- of png_ptr.
- Eliminated erroneous warnings about multiple sPLT chunks and sPLT-after-PLTE.
- Fixed a libpng-1.0.5h bug in pngrutil.c that was issuing erroneous warnings
- about ignoring incorrect gAMA with sRGB (gAMA was in fact not ignored)
- Added png_free_tRNS(); png_set_tRNS() now malloc's its own trans array (ESR).
- Define png_get_int_32 when oFFs chunk is supported as well as when pCAL is.
- Changed type of proflen from png_int_32 to png_uint_32 in png_get_iCCP().
-version 1.0.5l [January 1, 2000]
- Added functions png_set_read_user_chunk_fn() and png_get_user_chunk_ptr()
- for setting a callback function to handle unknown chunks and for
- retrieving the associated user pointer (Glenn).
-version 1.0.5m [January 7, 2000]
- Added high-level functions png_read_png(), png_write_png(), png_free_pixels().
-version 1.0.5n [January 9, 2000]
- Added png_free_PLTE() function, and modified png_set_PLTE() to malloc its
- own memory for info_ptr->palette. This makes it safe for the calling
- application to free its copy of the palette any time after it calls
- png_set_PLTE().
-version 1.0.5o [January 20, 2000]
- Cosmetic changes only (removed some trailing blanks and TABs)
-version 1.0.5p [January 31, 2000]
- Renamed pngdll.mak to makefile.bd32
- Cosmetic changes in pngtest.c
-version 1.0.5q [February 5, 2000]
- Relocated the makefile.solaris warning about PATH problems.
- Fixed pngvcrd.c bug by pushing/popping registers in mmxsupport (Bruce Oberg)
- Revised makefile.gcmmx
- Added PNG_SETJMP_SUPPORTED, PNG_SETJMP_NOT_SUPPORTED, and PNG_ABORT() macros
-version 1.0.5r [February 7, 2000]
- Removed superfluous prototype for png_get_itxt from png.h
- Fixed a bug in pngrtran.c that improperly expanded the background color.
- Return *num_text=0 from png_get_text() when appropriate, and fix documentation
- of png_get_text() in libpng.txt/libpng.3.
-version 1.0.5s [February 18, 2000]
- Added "png_jmp_env()" macro to pngconf.h, to help people migrate to the
- new error handler that's planned for the next libpng release, and changed
- example.c, pngtest.c, and contrib programs to use this macro.
- Revised some of the DLL-export macros in pngconf.h (Greg Roelofs)
- Fixed a bug in png_read_png() that caused it to fail to expand some images
- that it should have expanded.
- Fixed some mistakes in the unused and undocumented INCH_CONVERSIONS functions
- in pngget.c
- Changed the allocation of palette, history, and trans arrays back to
- the version 1.0.5 method (linking instead of copying) which restores
- backward compatibility with version 1.0.5. Added some remarks about
- that in example.c. Added "free_me" member to info_ptr and png_ptr
- and added png_free_data() function.
- Updated makefile.linux and makefile.gccmmx to make directories conditionally.
- Made cosmetic changes to pngasmrd.h
- Added png_set_rows() and png_get_rows(), for use with png_read|write_png().
- Modified png_read_png() to allocate info_ptr->row_pointers only if it
- hasn't already been allocated.
-version 1.0.5t [March 4, 2000]
- Changed png_jmp_env() migration aiding macro to png_jmpbuf().
- Fixed "interlace" typo (should be "interlaced") in contrib/gregbook/read2-x.c
- Fixed bug with use of PNG_BEFORE_IHDR bit in png_ptr->mode, introduced when
- PNG_FLAG_HAVE_CHUNK_HEADER was moved into png_ptr->mode in version 1.0.5b
- Files in contrib/gregbook were revised to use png_jmpbuf() and to select
- a 24-bit visual if one is available, and to allow abbreviated options.
- Files in contrib/pngminus were revised to use the png_jmpbuf() macro.
- Removed spaces in makefile.linux and makefile.gcmmx, introduced in 1.0.5s
-version 1.0.5u [March 5, 2000]
- Simplified the code that detects old png.h in png.c and pngtest.c
- Renamed png_spalette (_p, _pp) to png_sPLT_t (_tp, _tpp)
- Increased precision of rgb_to_gray calculations from 8 to 15 bits and
- added png_set_rgb_to_gray_fixed() function.
- Added makefile.bc32 (32-bit Borland C++, C mode)
-version 1.0.5v [March 11, 2000]
- Added some parentheses to the png_jmpbuf macro definition.
- Updated references to the zlib home page, which has moved to freesoftware.com.
- Corrected bugs in documentation regarding png_read_row() and png_write_row().
- Updated documentation of png_rgb_to_gray calculations in libpng.3/libpng.txt.
- Renamed makefile.borland,turboc3 back to makefile.bor,tc3 as in version 1.0.3,
- revised borland makefiles; added makefile.ibmvac3 and makefile.gcc (Cosmin)
-
-version 1.0.6 [March 20, 2000]
- Minor revisions of makefile.bor, libpng.txt, and gregbook/rpng2-win.c
- Added makefile.sggcc (SGI IRIX with gcc)
-version 1.0.6d [April 7, 2000]
- Changed sprintf() to strcpy() in png_write_sCAL_s() to work without STDIO
- Added data_length parameter to png_decompress_chunk() function
- Revised documentation to remove reference to abandoned png_free_chnk functions
- Fixed an error in png_rgb_to_gray_fixed()
- Revised example.c, usage of png_destroy_write_struct().
- Renamed makefile.ibmvac3 to makefile.ibmc, added libpng.icc IBM project file
- Added a check for info_ptr->free_me&PNG_FREE_TEXT when freeing text in png.c
- Simplify png_sig_bytes() function to remove use of non-ISO-C strdup().
-version 1.0.6e [April 9, 2000]
- Added png_data_freer() function.
- In the code that checks for over-length tRNS chunks, added check of
- info_ptr->num_trans as well as png_ptr->num_trans (Matthias Benckmann)
- Minor revisions of libpng.txt/libpng.3.
- Check for existing data and free it if the free_me flag is set, in png_set_*()
- and png_handle_*().
- Only define PNG_WEIGHTED_FILTERS_SUPPORTED when PNG_FLOATING_POINT_SUPPORTED
- is defined.
- Changed several instances of PNG_NO_CONSOLE_ID to PNG_NO_STDIO in pngrutil.c
- and mentioned the purposes of the two macros in libpng.txt/libpng.3.
-version 1.0.6f [April 14, 2000]
- Revised png_set_iCCP() and png_set_rows() to avoid prematurely freeing data.
- Add checks in png_set_text() for NULL members of the input text structure.
- Revised libpng.txt/libpng.3.
- Removed superfluous prototype for png_set_itxt from png.h
- Removed "else" from pngread.c, after png_error(), and changed "0" to "length".
- Changed several png_errors about malformed ancillary chunks to png_warnings.
-version 1.0.6g [April 24, 2000]
- Added png_pass-* arrays to pnggccrd.c when PNG_USE_LOCAL_ARRAYS is defined.
- Relocated paragraph about png_set_background() in libpng.3/libpng.txt
- and other revisions (Matthias Benckmann)
- Relocated info_ptr->free_me, png_ptr->free_me, and other info_ptr and
- png_ptr members to restore binary compatibility with libpng-1.0.5
- (breaks compatibility with libpng-1.0.6).
-version 1.0.6h [April 24, 2000]
- Changed shared library so-number pattern from 2.x.y.z to xy.z (this builds
- libpng.so.10 & libpng.so.10.6h instead of libpng.so.2 & libpng.so.2.1.0.6h)
- This is a temporary change for test purposes.
-version 1.0.6i [May 2, 2000]
- Rearranged some members at the end of png_info and png_struct, to put
- unknown_chunks_num and free_me within the original size of the png_structs
- and free_me, png_read_user_fn, and png_free_fn within the original png_info,
- because some old applications allocate the structs directly instead of
- using png_create_*().
- Added documentation of user memory functions in libpng.txt/libpng.3
- Modified png_read_png so that it will use user_allocated row_pointers
- if present, unless free_me directs that it be freed, and added description
- of the use of png_set_rows() and png_get_rows() in libpng.txt/libpng.3.
- Added PNG_LEGACY_SUPPORTED macro, and #ifdef out all new (since version
- 1.00) members of png_struct and png_info, to regain binary compatibility
- when you define this macro. Capabilities lost in this event
- are user transforms (new in version 1.0.0),the user transform pointer
- (new in version 1.0.2), rgb_to_gray (new in 1.0.5), iCCP, sCAL, sPLT,
- the high-level interface, and unknown chunks support (all new in 1.0.6).
- This was necessary because of old applications that allocate the structs
- directly as authors were instructed to do in libpng-0.88 and earlier,
- instead of using png_create_*().
- Added modes PNG_CREATED_READ_STRUCT and PNG_CREATED_WRITE_STRUCT which
- can be used to detect codes that directly allocate the structs, and
- code to check these modes in png_read_init() and png_write_init() and
- generate a libpng error if the modes aren't set and PNG_LEGACY_SUPPORTED
- was not defined.
- Added makefile.intel and updated makefile.watcom (Pawel Mrochen)
-version 1.0.6j [May 3, 2000]
- Overloaded png_read_init() and png_write_init() with macros that convert
- calls to png_read_init_2() or png_write_init_2() that check the version
- and structure sizes.
-version 1.0.7beta11 [May 7, 2000]
- Removed the new PNG_CREATED_READ_STRUCT and PNG_CREATED_WRITE_STRUCT modes
- which are no longer used.
- Eliminated the three new members of png_text when PNG_LEGACY_SUPPORTED is
- defined or when neither PNG_READ_iTXt_SUPPORTED nor PNG_WRITE_iTXT_SUPPORTED
- is defined.
- Made PNG_NO_READ|WRITE_iTXt the default setting, to avoid memory
- overrun when old applications fill the info_ptr->text structure directly.
- Added PNGAPI macro, and added it to the definitions of all exported functions.
- Relocated version macro definitions ahead of the includes of zlib.h and
- pngconf.h in png.h.
-version 1.0.7beta12 [May 12, 2000]
- Revised pngset.c to avoid a problem with expanding the png_debug macro.
- Deleted some extraneous defines from pngconf.h
- Made PNG_NO_CONSOLE_IO the default condition when PNG_BUILD_DLL is defined.
- Use MSC _RPTn debugging instead of fprintf if _MSC_VER is defined.
- Added png_access_version_number() function.
- Check for mask&PNG_FREE_CHNK (for TEXT, SCAL, PCAL) in png_free_data().
- Expanded libpng.3/libpng.txt information about png_data_freer().
-version 1.0.7beta14 [May 17, 2000] (beta13 was not published)
- Changed pnggccrd.c and pngvcrd.c to handle bad adaptive filter types as
- warnings instead of errors, as pngrutil.c does.
- Set the PNG_INFO_IDAT valid flag in png_set_rows() so png_write_png()
- will actually write IDATs.
- Made the default PNG_USE_LOCAL_ARRAYS depend on PNG_DLL instead of WIN32.
- Make png_free_data() ignore its final parameter except when freeing data
- that can have multiple instances (text, sPLT, unknowns).
- Fixed a new bug in png_set_rows().
- Removed info_ptr->valid tests from png_free_data(), as in version 1.0.5.
- Added png_set_invalid() function.
- Fixed incorrect illustrations of png_destroy_write_struct() in example.c.
-version 1.0.7beta15 [May 30, 2000]
- Revised the deliberately erroneous Linux setjmp code in pngconf.h to produce
- fewer error messages.
- Rearranged checks for Z_OK to check the most likely path first in pngpread.c
- and pngwutil.c.
- Added checks in pngtest.c for png_create_*() returning NULL, and mentioned
- in libpng.txt/libpng.3 the need for applications to check this.
- Changed names of png_default_*() functions in pngtest to pngtest_*().
- Changed return type of png_get_x|y_offset_*() from png_uint_32 to png_int_32.
- Fixed some bugs in the unused PNG_INCH_CONVERSIONS functions in pngget.c
- Set each pointer to NULL after freeing it in png_free_data().
- Worked around a problem in pngconf.h; AIX's strings.h defines an "index"
- macro that conflicts with libpng's png_color_16.index. (Dimitri Papadapoulos)
- Added "msvc" directory with MSVC++ project files (Simon-Pierre Cadieux).
-version 1.0.7beta16 [June 4, 2000]
- Revised the workaround of AIX string.h "index" bug.
- Added a check for overlength PLTE chunk in pngrutil.c.
- Added PNG_NO_POINTER_INDEXING macro to use array-indexing instead of pointer
- indexing in pngrutil.c and pngwutil.c to accommodate a buggy compiler.
- Added a warning in png_decompress_chunk() when it runs out of data, e.g.
- when it tries to read an erroneous PhotoShop iCCP chunk.
- Added PNG_USE_DLL macro.
- Revised the copyright/disclaimer/license notice.
- Added contrib/msvctest directory
-version 1.0.7rc1 [June 9, 2000]
- Corrected the definition of PNG_TRANSFORM_INVERT_ALPHA (0x0400 not 0x0200)
- Added contrib/visupng directory (Willem van Schaik)
-version 1.0.7beta18 [June 23, 2000]
- Revised PNGAPI definition, and pngvcrd.c to work with __GCC__
- and do not redefine PNGAPI if it is passed in via a compiler directive.
- Revised visupng/PngFile.c to remove returns from within the Try block.
- Removed leading underscores from "_PNG_H" and "_PNG_SAVE_BSD_SOURCE" macros.
- Updated contrib/visupng/cexcept.h to version 1.0.0.
- Fixed bugs in pngwrite.c and pngwutil.c that prevented writing iCCP chunks.
-version 1.0.7rc2 [June 28, 2000]
- Updated license to include disclaimers required by UCITA.
- Fixed "DJBPP" typo in pnggccrd.c introduced in beta18.
-
-version 1.0.7 [July 1, 2000]
- Revised the definition of "trans_values" in libpng.3/libpng.txt
-version 1.0.8beta1 [July 8, 2000]
- Added png_free(png_ptr, key) two places in pngpread.c to stop memory leaks.
- Changed PNG_NO_STDIO to PNG_NO_CONSOLE_IO, several places in pngrutil.c and
- pngwutil.c.
- Changed PNG_EXPORT_VAR to use PNG_IMPEXP, in pngconf.h.
- Removed unused "#include <assert.h>" from png.c
- Added WindowsCE support.
- Revised pnggccrd.c to work with gcc-2.95.2 and in the Cygwin environment.
-version 1.0.8beta2 [July 10, 2000]
- Added project files to the wince directory and made further revisions
- of pngtest.c, pngrio.c, and pngwio.c in support of WindowsCE.
-version 1.0.8beta3 [July 11, 2000]
- Only set the PNG_FLAG_FREE_TRNS or PNG_FREE_TRNS flag in png_handle_tRNS()
- for indexed-color input files to avoid potential double-freeing trans array
- under some unusual conditions; problem was introduced in version 1.0.6f.
- Further revisions to pngtest.c and files in the wince subdirectory.
-version 1.0.8beta4 [July 14, 2000]
- Added the files pngbar.png and pngbar.jpg to the distribution.
- Added makefile.cygwin, and cygwin support in pngconf.h
- Added PNG_NO_ZALLOC_ZERO macro (makes png_zalloc skip zeroing memory)
-version 1.0.8rc1 [July 16, 2000]
- Revised png_debug() macros and statements to eliminate compiler warnings.
-
-version 1.0.8 [July 24, 2000]
- Added png_flush() in pngwrite.c, after png_write_IEND().
- Updated makefile.hpux to build a shared library.
-version 1.0.9beta1 [November 10, 2000]
- Fixed typo in scripts/makefile.hpux
- Updated makevms.com in scripts and contrib/* and contrib/* (Martin Zinser)
- Fixed seqence-point bug in contrib/pngminus/png2pnm (Martin Zinser)
- Changed "cdrom.com" in documentation to "libpng.org"
- Revised pnggccrd.c to get it all working, and updated makefile.gcmmx (Greg).
- Changed type of "params" from voidp to png_voidp in png_read|write_png().
- Make sure PNGAPI and PNG_IMPEXP are defined in pngconf.h.
- Revised the 3 instances of WRITEFILE in pngtest.c.
- Relocated "msvc" and "wince" project subdirectories into "dll" subdirectory.
- Updated png.rc in dll/msvc project
- Revised makefile.dec to define and use LIBPATH and INCPATH
- Increased size of global png_libpng_ver[] array from 12 to 18 chars.
- Made global png_libpng_ver[], png_sig[] and png_pass_*[] arrays const.
- Removed duplicate png_crc_finish() from png_handle_bKGD() function.
- Added a warning when application calls png_read_update_info() multiple times.
- Revised makefile.cygwin
- Fixed bugs in iCCP support in pngrutil.c and pngwutil.c.
- Replaced png_set_empty_plte_permitted() with png_permit_mng_features().
-version 1.0.9beta2 [November 19, 2000]
- Renamed the "dll" subdirectory "projects".
- Added borland project files to "projects" subdirectory.
- Set VS_FF_PRERELEASE and VS_FF_PATCHED flags in msvc/png.rc when appropriate.
- Add error message in png_set_compression_buffer_size() when malloc fails.
-version 1.0.9beta3 [November 23, 2000]
- Revised PNG_LIBPNG_BUILD_TYPE macro in png.h, used in the msvc project.
- Removed the png_flush() in pngwrite.c that crashes some applications
- that don't set png_output_flush_fn.
- Added makefile.macosx and makefile.aix to scripts directory.
-version 1.0.9beta4 [December 1, 2000]
- Change png_chunk_warning to png_warning in png_check_keyword().
- Increased the first part of msg buffer from 16 to 18 in png_chunk_error().
-version 1.0.9beta5 [December 15, 2000]
- Added support for filter method 64 (for PNG datastreams embedded in MNG).
-version 1.0.9beta6 [December 18, 2000]
- Revised png_set_filter() to accept filter method 64 when appropriate.
- Added new PNG_HAVE_PNG_SIGNATURE bit to png_ptr->mode and use it to
- help prevent applications from using MNG features in PNG datastreams.
- Added png_permit_mng_features() function.
- Revised libpng.3/libpng.txt. Changed "filter type" to "filter method".
-version 1.0.9rc1 [December 23, 2000]
- Revised test for PNG_HAVE_PNG_SIGNATURE in pngrutil.c
- Fixed error handling of unknown compression type in png_decompress_chunk().
- In pngconf.h, define __cdecl when _MSC_VER is defined.
-version 1.0.9beta7 [December 28, 2000]
- Changed PNG_TEXT_COMPRESSION_zTXt to PNG_COMPRESSION_TYPE_BASE several places.
- Revised memory management in png_set_hIST and png_handle_hIST in a backward
- compatible manner. PLTE and tRNS were revised similarly.
- Revised the iCCP chunk reader to ignore trailing garbage.
-version 1.0.9beta8 [January 12, 2001]
- Moved pngasmrd.h into pngconf.h.
- Improved handling of out-of-spec garbage iCCP chunks generated by PhotoShop.
-version 1.0.9beta9 [January 15, 2001]
- Added png_set_invalid, png_permit_mng_features, and png_mmx_supported to
- wince and msvc project module definition files.
- Minor revision of makefile.cygwin.
- Fixed bug with progressive reading of narrow interlaced images in pngpread.c
-version 1.0.9beta10 [January 16, 2001]
- Do not typedef png_FILE_p in pngconf.h when PNG_NO_STDIO is defined.
- Fixed "png_mmx_supported" typo in project definition files.
-version 1.0.9beta11 [January 19, 2001]
- Updated makefile.sgi to make shared library.
- Removed png_mmx_support() function and disabled PNG_MNG_FEATURES_SUPPORTED
- by default, for the benefit of DLL forward compatibility. These will
- be re-enabled in version 1.2.0.
-version 1.0.9rc2 [January 22, 2001]
- Revised cygwin support.
-
-version 1.0.9 [January 31, 2001]
- Added check of cygwin's ALL_STATIC in pngconf.h
- Added "-nommx" parameter to contrib/gregbook/rpng2-win and rpng2-x demos.
-version 1.0.10beta1 [March 14, 2001]
- Revised makefile.dec, makefile.sgi, and makefile.sggcc; added makefile.hpgcc.
- Reformatted libpng.3 to eliminate bad line breaks.
- Added checks for _mmx_supported in the read_filter_row function of pnggccrd.c
- Added prototype for png_mmx_support() near the top of pnggccrd.c
- Moved some error checking from png_handle_IHDR to png_set_IHDR.
- Added PNG_NO_READ_SUPPORTED and PNG_NO_WRITE_SUPPORTED macros.
- Revised png_mmx_support() function in pnggccrd.c
- Restored version 1.0.8 PNG_WRITE_EMPTY_PLTE_SUPPORTED behavior in pngwutil.c
- Fixed memory leak in contrib/visupng/PngFile.c
- Fixed bugs in png_combine_row() in pnggccrd.c and pngvcrd.c (C version)
- Added warnings when retrieving or setting gamma=0.
- Increased the first part of msg buffer from 16 to 18 in png_chunk_warning().
-version 1.0.10rc1 [March 23, 2001]
- Changed all instances of memcpy, strcpy, and strlen to png_memcpy, png_strcpy,
- and png_strlen.
- Revised png_mmx_supported() function in pnggccrd.c to return proper value.
- Fixed bug in progressive reading (pngpread.c) with small images (height < 8).
-
-version 1.0.10 [March 30, 2001]
- Deleted extraneous space (introduced in 1.0.9) from line 42 of makefile.cygwin
- Added beos project files (Chris Herborth)
-version 1.0.11beta1 [April 3, 2001]
- Added type casts on several png_malloc() calls (Dimitri Papadapoulos).
- Removed a no-longer needed AIX work-around from pngconf.h
- Changed several "//" single-line comments to C-style in pnggccrd.c
-version 1.0.11beta2 [April 11, 2001]
- Removed PNGAPI from several functions whose prototypes did not have PNGAPI.
- Updated scripts/pngos2.def
-version 1.0.11beta3 [April 14, 2001]
- Added checking the results of many instances of png_malloc() for NULL
-version 1.0.11beta4 [April 20, 2001]
- Undid the changes from version 1.0.11beta3. Added a check for NULL return
- from user's malloc_fn().
- Removed some useless type casts of the NULL pointer.
- Added makefile.netbsd
-
-version 1.0.11 [April 27, 2001]
- Revised makefile.netbsd
-version 1.0.12beta1 [May 14, 2001]
- Test for Windows platform in pngconf.h when including malloc.h (Emmanuel Blot)
- Updated makefile.cygwin and handling of Cygwin's ALL_STATIC in pngconf.h
- Added some never-to-be-executed code in pnggccrd.c to quiet compiler warnings.
- Eliminated the png_error about apps using png_read|write_init(). Instead,
- libpng will reallocate the png_struct and info_struct if they are too small.
- This retains future binary compatibility for old applications written for
- libpng-0.88 and earlier.
-version 1.2.0beta1 [May 6, 2001]
- Bumped DLLNUM to 2.
- Re-enabled PNG_MNG_FEATURES_SUPPORTED and enabled PNG_ASSEMBLER_CODE_SUPPORTED
- by default.
- Added runtime selection of MMX features.
- Added png_set_strip_error_numbers function and related macros.
-version 1.2.0beta2 [May 7, 2001]
- Finished merging 1.2.0beta1 with version 1.0.11
- Added a check for attempts to read or write PLTE in grayscale PNG datastreams.
-version 1.2.0beta3 [May 17, 2001]
- Enabled user memory function by default.
- Modified png_create_struct so it passes user mem_ptr to user memory allocator.
- Increased png_mng_features flag from png_byte to png_uint_32.
- Bumped shared-library (so-number) and dll-number to 3.
-version 1.2.0beta4 [June 23, 2001]
- Check for missing profile length field in iCCP chunk and free chunk_data
- in case of truncated iCCP chunk.
- Bumped shared-library number to 3 in makefile.sgi and makefile.sggcc
- Bumped dll-number from 2 to 3 in makefile.cygwin
- Revised contrib/gregbook/rpng*-x.c to avoid a memory leak and to exit cleanly
- if user attempts to run it on an 8-bit display.
- Updated contrib/gregbook
- Use png_malloc instead of png_zalloc to allocate palette in pngset.c
- Updated makefile.ibmc
- Added some typecasts to eliminate gcc 3.0 warnings. Changed prototypes
- of png_write_oFFS width and height from png_uint_32 to png_int_32.
- Updated example.c
- Revised prototypes for png_debug_malloc and png_debug_free in pngtest.c
-version 1.2.0beta5 [August 8, 2001]
- Revised contrib/gregbook
- Revised makefile.gcmmx
- Revised pnggccrd.c to conditionally compile some thread-unsafe code only
- when PNG_THREAD_UNSAFE_OK is defined.
- Added tests to prevent pngwutil.c from writing a bKGD or tRNS chunk with
- value exceeding 2^bit_depth-1
- Revised makefile.sgi and makefile.sggcc
- Replaced calls to fprintf(stderr,...) with png_warning() in pnggccrd.c
- Removed restriction that do_invert_mono only operate on 1-bit opaque files
-
-version 1.2.0 [September 1, 2001]
- Changed a png_warning() to png_debug() in pnggccrd.c
- Fixed contrib/gregbook/rpng-x.c, rpng2-x.c to avoid crash with XFreeGC().
-version 1.2.1beta1 [October 19, 2001]
- Revised makefile.std in contrib/pngminus
- Include background_1 in png_struct regardless of gamma support.
- Revised makefile.netbsd and makefile.macosx, added makefile.darwin.
- Revised example.c to provide more details about using row_callback().
-version 1.2.1beta2 [October 25, 2001]
- Added type cast to each NULL appearing in a function call, except for
- WINCE functions.
- Added makefile.so9.
-version 1.2.1beta3 [October 27, 2001]
- Removed type casts from all NULLs.
- Simplified png_create_struct_2().
-version 1.2.1beta4 [November 7, 2001]
- Revised png_create_info_struct() and png_creat_struct_2().
- Added error message if png_write_info() was omitted.
- Type cast NULLs appearing in function calls when _NO_PROTO or
- PNG_TYPECAST_NULL is defined.
-version 1.2.1rc1 [November 24, 2001]
- Type cast NULLs appearing in function calls except when PNG_NO_TYPECAST_NULL
- is defined.
- Changed typecast of "size" argument to png_size_t in pngmem.c calls to
- the user malloc_fn, to agree with the prototype in png.h
- Added a pop/push operation to pnggccrd.c, to preserve Eflag (Maxim Sobolev)
- Updated makefile.sgi to recognize LIBPATH and INCPATH.
- Updated various makefiles so "make clean" does not remove previous major
- version of the shared library.
-version 1.2.1rc2 [December 4, 2001]
- Always allocate 256-entry internal palette, hist, and trans arrays, to
- avoid out-of-bounds memory reference caused by invalid PNG datastreams.
- Added a check for prefix_length > data_length in iCCP chunk handler.
-
-version 1.2.1 [December 7, 2001]
- None.
-version 1.2.2beta1 [February 22, 2002]
- Fixed a bug with reading the length of iCCP profiles (Larry Reeves).
- Revised makefile.linux, makefile.gcmmx, and makefile.sgi to generate
- libpng.a, libpng12.so (not libpng.so.3), and libpng12/png.h
- Revised makefile.darwin to remove "-undefined suppress" option.
- Added checks for gamma and chromaticity values over 21474.83, which exceed
- the limit for PNG unsigned 32-bit integers when encoded.
- Revised calls to png_create_read_struct() and png_create_write_struct()
- for simpler debugging.
- Revised png_zalloc() so zlib handles errors (uses PNG_FLAG_MALLOC_NULL_MEM_OK)
-version 1.2.2beta2 [February 23, 2002]
- Check chunk_length and idat_size for invalid (over PNG_MAX_UINT) lengths.
- Check for invalid image dimensions in png_get_IHDR.
- Added missing "fi;" in the install target of the SGI makefiles.
- Added install-static to all makefiles that make shared libraries.
- Always do gamma compensation when image is partially transparent.
-version 1.2.2beta3 [March 7, 2002]
- Compute background.gray and background_1.gray even when color_type is RGB
- in case image gets reduced to gray later.
- Modified shared-library makefiles to install pkgconfig/libpngNN.pc.
- Export (with PNGAPI) png_zalloc, png_zfree, and png_handle_as_unknown
- Removed unused png_write_destroy_info prototype from png.h
- Eliminated incorrect use of width_mmx from pnggccrd.c in pixel_bytes == 8 case
- Added install-shared target to all makefiles that make shared libraries.
- Stopped a double free of palette, hist, and trans when not using free_me.
- Added makefile.32sunu for Sun Ultra 32 and makefile.64sunu for Sun Ultra 64.
-version 1.2.2beta4 [March 8, 2002]
- Compute background.gray and background_1.gray even when color_type is RGB
- in case image gets reduced to gray later (Jason Summers).
- Relocated a misplaced /bin/rm in the "install-shared" makefile targets
- Added PNG_1_0_X macro which can be used to build a 1.0.x-compatible library.
-version 1.2.2beta5 [March 26, 2002]
- Added missing PNGAPI to several function definitions.
- Check for invalid bit_depth or color_type in png_get_IHDR(), and
- check for missing PLTE or IHDR in png_push_read_chunk() (Matthias Clasen).
- Revised iTXt support to accept NULL for lang and lang_key.
- Compute gamma for color components of background even when color_type is gray.
- Changed "()" to "{}" in scripts/libpng.pc.in.
- Revised makefiles to put png.h and pngconf.h only in $prefix/include/libpngNN
- Revised makefiles to make symlink to libpng.so.NN in addition to libpngNN.so
-version 1.2.2beta6 [March 31, 2002]
-version 1.0.13beta1 [March 31, 2002]
- Prevent png_zalloc() from trying to memset memory that it failed to acquire.
- Add typecasts of PNG_MAX_UINT in pngset_cHRM_fixed() (Matt Holgate).
- Ensure that the right function (user or default) is used to free the
- png_struct after an error in png_create_read_struct_2().
-version 1.2.2rc1 [April 7, 2002]
-version 1.0.13rc1 [April 7, 2002]
- Save the ebx register in pnggccrd.c (Sami Farin)
- Add "mem_ptr = png_ptr->mem_ptr" in png_destroy_write_struct() (Paul Gardner).
- Updated makefiles to put headers in include/libpng and remove old include/*.h.
-
-version 1.2.2 [April 15, 2002]
-version 1.0.13 [April 15, 2002]
- Revised description of png_set_filter() in libpng.3/libpng.txt.
- Revised makefile.netbsd and added makefile.neNNbsd and makefile.freebsd
-version 1.0.13patch01 [April 17, 2002]
-version 1.2.2patch01 [April 17, 2002]
- Changed ${PNGMAJ}.${PNGVER} bug to ${PNGVER} in makefile.sgi and makefile.sggcc
- Fixed VER -> PNGVER typo in makefile.macosx and added install-static to install
- Added install: target to makefile.32sunu and makefile.64sunu
-version 1.0.13patch03 [April 18, 2002]
-version 1.2.2patch03 [April 18, 2002]
- Revised 15 makefiles to link libpng.a to libpngNN.a and the include libpng
- subdirectory to libpngNN subdirectory without the full pathname.
- Moved generation of libpng.pc from "install" to "all" in 15 makefiles.
-version 1.2.3rc1 [April 28, 2002]
- Added install-man target to 15 makefiles (Dimitri Papadopolous-Orfanos).
- Added $(DESTDIR) feature to 24 makefiles (Tim Mooney)
- Fixed bug with $prefix, should be $(prefix) in makefile.hpux.
- Updated cygwin-specific portion of pngconf.h and revised makefile.cygwin
- Added a link from libpngNN.pc to libpng.pc in 15 makefiles.
- Added links from include/libpngNN/*.h to include/*.h in 24 makefiles.
- Revised makefile.darwin to make relative links without full pathname.
- Added setjmp() at the end of png_create_*_struct_2() in case user forgets
- to put one in their application.
- Restored png_zalloc() and png_zfree() prototypes to version 1.2.1 and
- removed them from module definition files.
-version 1.2.3rc2 [May 1, 2002]
- Fixed bug in reporting number of channels in pngget.c and pngset.c,
- that was introduced in version 1.2.2beta5.
- Exported png_zalloc(), png_zfree(), png_default_read(), png_default_write(),
- png_default_flush(), and png_push_fill_buffer() and included them in
- module definition files.
- Added "libpng.pc" dependency to the "install-shared" target in 15 makefiles.
-version 1.2.3rc3 [May 1, 2002]
- Revised prototype for png_default_flush()
- Remove old libpng.pc and libpngNN.pc before installing new ones.
-version 1.2.3rc4 [May 2, 2002]
- Typos in *.def files (png_default_read|write -> png_default_read|write_data)
- In makefiles, changed rm libpng.NN.pc to rm libpngNN.pc
- Added libpng-config and libpngNN-config and modified makefiles to install them.
- Changed $(MANPATH) to $(DESTDIR)$(MANPATH) in makefiles
- Added "Win32 DLL VB" configuration to projects/msvc/libpng.dsp
-version 1.2.3rc5 [May 11, 2002]
- Changed "error" and "message" in prototypes to "error_message" and
- "warning_message" to avoid namespace conflict.
- Revised 15 makefiles to build libpng-config from libpng-config-*.in
- Once more restored png_zalloc and png_zfree to regular nonexported form.
- Restored png_default_read|write_data, png_default_flush, png_read_fill_buffer
- to nonexported form, but with PNGAPI, and removed them from module def files.
-version 1.2.3rc6 [May 14, 2002]
- Removed "PNGAPI" from png_zalloc() and png_zfree() in png.c
- Changed "Gz" to "Gd" in projects/msvc/libpng.dsp and zlib.dsp.
- Removed leftover libpng-config "sed" script from four makefiles.
- Revised libpng-config creating script in 16 makefiles.
-
-version 1.2.3 [May 22, 2002]
- Revised libpng-config target in makefile.cygwin.
- Removed description of png_set_mem_fn() from documentation.
- Revised makefile.freebsd.
- Minor cosmetic changes to 15 makefiles, e.g., $(DI) = $(DESTDIR)/$(INCDIR).
- Revised projects/msvc/README.txt
- Changed -lpng to -lpngNN in LDFLAGS in several makefiles.
-version 1.2.4beta1 [May 24, 2002]
- Added libpng.pc and libpng-config to "all:" target in 16 makefiles.
- Fixed bug in 16 makefiles: $(DESTDIR)/$(LIBPATH) to $(DESTDIR)$(LIBPATH)
- Added missing "\" before closing double quote in makefile.gcmmx.
- Plugged various memory leaks; added png_malloc_warn() and png_set_text_2()
- functions.
-version 1.2.4beta2 [June 25, 2002]
- Plugged memory leak of png_ptr->current_text (Matt Holgate).
- Check for buffer overflow before reading CRC in pngpread.c (Warwick Allison)
- Added -soname to the loader flags in makefile.dec, makefile.sgi, and
- makefile.sggcc.
- Added "test-installed" target to makefile.linux, makefile.gcmmx,
- makefile.sgi, and makefile.sggcc.
-version 1.2.4beta3 [June 28, 2002]
- Plugged memory leak of row_buf in pngtest.c when there is a png_error().
- Detect buffer overflow in pngpread.c when IDAT is corrupted with extra data.
- Added "test-installed" target to makefile.32sunu, makefile.64sunu,
- makefile.beos, makefile.darwin, makefile.dec, makefile.macosx,
- makefile.solaris, makefile.hpux, makefile.hpgcc, and makefile.so9.
-version 1.2.4rc1 and 1.0.14rc1 [July 2, 2002]
- Added "test-installed" target to makefile.cygwin and makefile.sco.
- Revised pnggccrd.c to be able to back out version 1.0.x via PNG_1_0_X macro.
-
-version 1.2.4 and 1.0.14 [July 8, 2002]
- Changed png_warning() to png_error() when width is too large to process.
-version 1.2.4patch01 [July 20, 2002]
- Revised makefile.cygwin to use DLL number 12 instead of 13.
-version 1.2.5beta1 [August 6, 2002]
- Added code to contrib/gregbook/readpng2.c to ignore unused chunks.
- Replaced toucan.png in contrib/gregbook (it has been corrupt since 1.0.11)
- Removed some stray *.o files from contrib/gregbook.
- Changed png_error() to png_warning() about "Too much data" in pngpread.c
- and about "Extra compressed data" in pngrutil.c.
- Prevent png_ptr->pass from exceeding 7 in png_push_finish_row().
- Updated makefile.hpgcc
- Updated png.c and pnggccrd.c handling of return from png_mmx_support()
-version 1.2.5beta2 [August 15, 2002]
- Only issue png_warning() about "Too much data" in pngpread.c when avail_in
- is nonzero.
- Updated makefiles to install a separate libpng.so.3 with its own rpath.
-version 1.2.5rc1 and 1.0.15rc1 [August 24, 2002]
- Revised makefiles to not remove previous minor versions of shared libraries.
-version 1.2.5rc2 and 1.0.15rc2 [September 16, 2002]
- Revised 13 makefiles to remove "-lz" and "-L$(ZLIBLIB)", etc., from shared
- library loader directive.
- Added missing "$OBJSDLL" line to makefile.gcmmx.
- Added missing "; fi" to makefile.32sunu.
-version 1.2.5rc3 and 1.0.15rc3 [September 18, 2002]
- Revised libpng-config script.
-
-version 1.2.5 and 1.0.15 [October 3, 2002]
- Revised makefile.macosx, makefile.darwin, makefile.hpgcc, and makefile.hpux,
- and makefile.aix.
- Relocated two misplaced PNGAPI lines in pngtest.c
-version 1.2.6beta1 [October 22, 2002]
- Commented out warning about uninitialized mmx_support in pnggccrd.c.
- Changed "IBMCPP__" flag to "__IBMCPP__" in pngconf.h.
- Relocated two more misplaced PNGAPI lines in pngtest.c
- Fixed memory overrun bug in png_do_read_filler() with 16-bit datastreams,
- introduced in version 1.0.2.
- Revised makefile.macosx, makefile.dec, makefile.aix, and makefile.32sunu.
-version 1.2.6beta2 [November 1, 2002]
- Added libpng-config "--ldopts" output.
- Added "AR=ar" and "ARFLAGS=rc" and changed "ar rc" to "$(AR) $(ARFLAGS)"
- in makefiles.
-version 1.2.6beta3 [July 18, 2004]
- Reverted makefile changes from version 1.2.6beta2 and some of the changes
- from version 1.2.6beta1; these will be postponed until version 1.2.7.
- Version 1.2.6 is going to be a simple bugfix release.
- Changed the one instance of "ln -sf" to "ln -f -s" in each Sun makefile.
- Fixed potential overrun in pngerror.c by using strncpy instead of memcpy.
- Added "#!/bin/sh" at the top of configure, for recognition of the
- 'x' flag under Cygwin (Cosmin).
- Optimized vacuous tests that silence compiler warnings, in png.c (Cosmin).
- Added support for PNG_USER_CONFIG, in pngconf.h (Cosmin).
- Fixed the special memory handler for Borland C under DOS, in pngmem.c
- (Cosmin).
- Removed some spurious assignments in pngrutil.c (Cosmin).
- Replaced 65536 with 65536L, and 0xffff with 0xffffL, to silence warnings
- on 16-bit platforms (Cosmin).
- Enclosed shift op expressions in parentheses, to silence warnings (Cosmin).
- Used proper type png_fixed_point, to avoid problems on 16-bit platforms,
- in png_handle_sRGB() (Cosmin).
- Added compression_type to png_struct, and optimized the window size
- inside the deflate stream (Cosmin).
- Fixed definition of isnonalpha(), in pngerror.c and pngrutil.c (Cosmin).
- Fixed handling of unknown chunks that come after IDAT (Cosmin).
- Allowed png_error() and png_warning() to work even if png_ptr == NULL
- (Cosmin).
- Replaced row_info->rowbytes with row_bytes in png_write_find_filter()
- (Cosmin).
- Fixed definition of PNG_LIBPNG_VER_DLLNUM (Simon-Pierre).
- Used PNG_LIBPNG_VER and PNG_LIBPNG_VER_STRING instead of the hardcoded
- values in png.c (Simon-Pierre, Cosmin).
- Initialized png_libpng_ver[] with PNG_LIBPNG_VER_STRING (Simon-Pierre).
- Replaced PNG_LIBPNG_VER_MAJOR with PNG_LIBPNG_VER_DLLNUM in png.rc
- (Simon-Pierre).
- Moved the definition of PNG_HEADER_VERSION_STRING near the definitions
- of the other PNG_LIBPNG_VER_... symbols in png.h (Cosmin).
- Relocated #ifndef PNGAPI guards in pngconf.h (Simon-Pierre, Cosmin).
- Updated scripts/makefile.vc(a)win32 (Cosmin).
- Updated the MSVC project (Simon-Pierre, Cosmin).
- Updated the Borland C++ Builder project (Cosmin).
- Avoided access to asm_flags in pngvcrd.c, if PNG_1_0_X is defined (Cosmin).
- Commented out warning about uninitialized mmx_support in pngvcrd.c (Cosmin).
- Removed scripts/makefile.bd32 and scripts/pngdef.pas (Cosmin).
- Added extra guard around inclusion of Turbo C memory headers, in pngconf.h
- (Cosmin).
- Renamed projects/msvc/ to projects/visualc6/, and projects/borland/ to
- projects/cbuilder5/ (Cosmin).
- Moved projects/visualc6/png32ms.def to scripts/pngw32.def,
- and projects/visualc6/png.rc to scripts/pngw32.rc (Cosmin).
- Added projects/visualc6/pngtest.dsp; removed contrib/msvctest/ (Cosmin).
- Changed line endings to DOS style in cbuilder5 and visualc6 files, even
- in the tar.* distributions (Cosmin).
- Updated contrib/visupng/VisualPng.dsp (Cosmin).
- Updated contrib/visupng/cexcept.h to version 2.0.0 (Cosmin).
- Added a separate distribution with "configure" and supporting files (Junichi).
-version 1.2.6beta4 [July 28, 2004]
- Added user ability to change png_size_t via a PNG_SIZE_T macro.
- Added png_sizeof() and png_convert_size() functions.
- Added PNG_SIZE_MAX (maximum value of a png_size_t variable.
- Added check in png_malloc_default() for (size_t)size != (png_uint_32)size
- which would indicate an overflow.
- Changed sPLT failure action from png_error to png_warning and abandon chunk.
- Changed sCAL and iCCP failures from png_error to png_warning and abandon.
- Added png_get_uint_31(png_ptr, buf) function.
- Added PNG_UINT_32_MAX macro.
- Renamed PNG_MAX_UINT to PNG_UINT_31_MAX.
- Made png_zalloc() issue a png_warning and return NULL on potential
- overflow.
- Turn on PNG_NO_ZALLOC_ZERO by default in version 1.2.x
- Revised "clobber list" in pnggccrd.c so it will compile under gcc-3.4.
- Revised Borland portion of png_malloc() to return NULL or issue
- png_error() according to setting of PNG_FLAG_MALLOC_NULL_MEM_OK.
- Added PNG_NO_SEQUENTIAL_READ_SUPPORTED macro to conditionally remove
- sequential read support.
- Added some "#if PNG_WRITE_SUPPORTED" blocks.
- Removed some redundancy with #ifdef/#endif in png_malloc_default().
- Use png_malloc instead of png_zalloc to allocate the pallete.
-version 1.0.16rc1 and 1.2.6rc1 [August 4, 2004]
- Fixed buffer overflow vulnerability in png_handle_tRNS()
- Fixed integer arithmetic overflow vulnerability in png_read_png().
- Fixed some harmless bugs in png_handle_sBIT, etc, that would cause
- duplicate chunk types to go undetected.
- Fixed some timestamps in the -config version
- Rearranged order of processing of color types in png_handle_tRNS().
- Added ROWBYTES macro to calculate rowbytes without integer overflow.
- Updated makefile.darwin and removed makefile.macosx from scripts directory.
- Imposed default one million column, one-million row limits on the image
- dimensions, and added png_set_user_limits() function to override them.
- Revised use of PNG_SET_USER_LIMITS_SUPPORTED macro.
- Fixed wrong cast of returns from png_get_user_width|height_max().
- Changed some "keep the compiler happy" from empty statements to returns,
- Revised libpng.txt to remove 1.2.x stuff from the 1.0.x distribution
-version 1.0.16rc2 and 1.2.6rc2 [August 7, 2004]
- Revised makefile.darwin and makefile.solaris. Removed makefile.macosx.
- Revised pngtest's png_debug_malloc() to use png_malloc() instead of
- png_malloc_default() which is not supposed to be exported.
- Fixed off-by-one error in one of the conversions to PNG_ROWBYTES() in
- pngpread.c. Bug was introduced in 1.2.6rc1.
- Fixed bug in RGB to RGBX transformation introduced in 1.2.6rc1.
- Fixed old bug in RGB to Gray transformation.
- Fixed problem with 64-bit compilers by casting arguments to abs()
- to png_int_32.
- Changed "ln -sf" to "ln -f -s" in three makefiles (solaris, sco, so9).
- Changed "HANDLE_CHUNK_*" to "PNG_HANDLE_CHUNK_*" (Cosmin)
- Added "-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)" to 15 *NIX makefiles.
- Added code to update the row_info->colortype in png_do_read_filler() (MSB).
-version 1.0.16rc3 and 1.2.6rc3 [August 9, 2004]
- Eliminated use of "abs()" in testing cHRM and gAMA values, to avoid
- trouble with some 64-bit compilers. Created PNG_OUT_OF_RANGE() macro.
- Revised documentation of png_set_keep_unknown_chunks().
- Check handle_as_unknown status in pngpread.c, as in pngread.c previously.
- Moved "PNG_HANDLE_CHUNK_*" macros out of PNG_INTERNAL section of png.h
- Added "rim" definitions for CONST4 and CONST6 in pnggccrd.c
-version 1.0.16rc4 and 1.2.6rc4 [August 10, 2004]
- Fixed mistake in pngtest.c introduced in 1.2.6rc2 (declaration of
- "pinfo" was out of place).
-version 1.0.16rc5 and 1.2.6rc5 [August 10, 2004]
- Moved "PNG_HANDLE_CHUNK_*" macros out of PNG_ASSEMBLER_CODE_SUPPORTED
- section of png.h where they were inadvertently placed in version rc3.
-
-version 1.2.6 and 1.0.16 [August 15, 2004]
- Revised pngtest so memory allocation testing is only done when PNG_DEBUG==1.
-version 1.2.7beta1 [August 26, 2004]
- Removed unused pngasmrd.h file.
- Removed references to uu.net for archived files. Added references to
- PNG Spec (second edition) and the PNG ISO/IEC Standard.
- Added "test-dd" target in 15 makefiles, to run pngtest in DESTDIR.
- Fixed bug with "optimized window size" in the IDAT datastream, that
- causes libpng to write PNG files with incorrect zlib header bytes.
-version 1.2.7beta2 [August 28, 2004]
- Fixed bug with sCAL chunk and big-endian machines (David Munro).
- Undid new code added in 1.2.6rc2 to update the color_type in
- png_set_filler().
- Added png_set_add_alpha() that updates color type.
-version 1.0.17rc1 and 1.2.7rc1 [September 4, 2004]
- Revised png_set_strip_filler() to not remove alpha if color_type has alpha.
-
-version 1.2.7 and 1.0.17 [September 12, 2004]
- Added makefile.hp64
- Changed projects/msvc/png32ms.def to scripts/png32ms.def in makefile.cygwin
-version 1.2.8beta1 [November 1, 2004]
- Fixed bug in png_text_compress() that would fail to complete a large block.
- Fixed bug, introduced in libpng-1.2.7, that overruns a buffer during
- strip alpha operation in png_do_strip_filler().
- Added PNG_1_2_X definition in pngconf.h
- Comment out with #ifdef/#endif png_info_init in png.c and png_read_init
- in pngread.c (as of 1.3.0)
-version 1.2.8beta2 [November 2, 2004]
- Reduce color_type to a nonalpha type after strip alpha operation in
- png_do_strip_filler().
-version 1.2.8beta3 [November 3, 2004]
- Revised definitions of PNG_MAX_UINT_32, PNG_MAX_SIZE, and PNG_MAXSUM
-version 1.2.8beta4 [November 12, 2004]
- Fixed (again) definition of PNG_LIBPNG_VER_DLLNUM in png.h (Cosmin).
- Added PNG_LIBPNG_BUILD_PRIVATE in png.h (Cosmin).
- Set png_ptr->zstream.data_type to Z_BINARY, to avoid unnecessary detection
- of data type in deflate (Cosmin).
- Deprecated but continue to support SPECIALBUILD and PRIVATEBUILD in favor of
- PNG_LIBPNG_BUILD_SPECIAL_STRING and PNG_LIBPNG_BUILD_PRIVATE_STRING.
-version 1.2.8beta5 [November 20, 2004]
- Use png_ptr->flags instead of png_ptr->transformations to pass
- PNG_STRIP_ALPHA info to png_do_strip_filler(), to preserve ABI
- compatibility.
- Revised handling of SPECIALBUILD, PRIVATEBUILD,
- PNG_LIBPNG_BUILD_SPECIAL_STRING and PNG_LIBPNG_BUILD_PRIVATE_STRING.
-version 1.2.8rc1 [November 24, 2004]
- Moved handling of BUILD macros from pngconf.h to png.h
- Added definition of PNG_LIBPNG_BASE_TYPE in png.h, inadvertently
- omitted from beta5.
- Revised scripts/pngw32.rc
- Despammed mailing addresses by masking "@" with "at".
- Inadvertently installed a supposedly faster test version of pngrutil.c
-version 1.2.8rc2 [November 26, 2004]
- Added two missing "\" in png.h
- Change tests in pngread.c and pngpread.c to
- if (png_ptr->transformations || (png_ptr->flags&PNG_FLAG_STRIP_ALPHA))
- png_do_read_transformations(png_ptr);
-version 1.2.8rc3 [November 28, 2004]
- Reverted pngrutil.c to version libpng-1.2.8beta5.
- Added scripts/makefile.elf with supporting code in pngconf.h for symbol
- versioning (John Bowler).
-version 1.2.8rc4 [November 29, 2004]
- Added projects/visualc7 (Simon-pierre).
-version 1.2.8rc5 [November 29, 2004]
- Fixed new typo in scripts/pngw32.rc
-
-version 1.2.8 [December 3, 2004]
- Removed projects/visualc7, added projects/visualc71.
-
-version 1.2.9beta1 [February 21, 2006]
-
- Initialized some structure members in pngwutil.c to avoid gcc-4.0.0 complaints
- Revised man page and libpng.txt to make it clear that one should not call
- png_read_end or png_write_end after png_read_png or png_write_png.
- Updated references to png-mng-implement mailing list.
- Fixed an incorrect typecast in pngrutil.c
- Added PNG_NO_READ_SUPPORTED conditional for making a write-only library.
- Added PNG_NO_WRITE_INTERLACING_SUPPORTED conditional.
- Optimized alpha-inversion loops in pngwtran.c
- Moved test for nonzero gamma outside of png_build_gamma_table() in pngrtran.c
- Make sure num_trans is <= 256 before copying data in png_set_tRNS().
- Make sure num_palette is <= 256 before copying data in png_set_PLTE().
- Interchanged order of write_swap_alpha and write_invert_alpha transforms.
- Added parentheses in the definition of PNG_LIBPNG_BUILD_TYPE (Cosmin).
- Optimized zlib window flag (CINFO) in contrib/pngsuite/*.png (Cosmin).
- Updated scripts/makefile.bc32 for Borland C++ 5.6 (Cosmin).
- Exported png_get_uint_32, png_save_uint_32, png_get_uint_16, png_save_uint_16,
- png_get_int_32, png_save_int_32, png_get_uint_31 (Cosmin).
- Added type cast (png_byte) in png_write_sCAL() (Cosmin).
- Fixed scripts/makefile.cygwin (Christian Biesinger, Cosmin).
- Default iTXt support was inadvertently enabled.
-
-version 1.2.9beta2 [February 21, 2006]
-
- Check for png_rgb_to_gray and png_gray_to_rgb read transformations before
- checking for png_read_dither in pngrtran.c
- Revised checking of chromaticity limits to accommodate extended RGB
- colorspace (John Denker).
- Changed line endings in some of the project files to CRLF, even in the
- "Unix" tar distributions (Cosmin).
- Made png_get_int_32 and png_save_int_32 always available (Cosmin).
- Updated scripts/pngos2.def, scripts/pngw32.def and projects/wince/png32ce.def
- with the newly exported functions.
- Eliminated distributions without the "configure" script.
- Updated INSTALL instructions.
-
-version 1.2.9beta3 [February 24, 2006]
-
- Fixed CRCRLF line endings in contrib/visupng/VisualPng.dsp
- Made libpng.pc respect EXEC_PREFIX (D. P. Kreil, J. Bowler)
- Removed reference to pngasmrd.h from Makefile.am
- Renamed CHANGES to ChangeLog.
- Renamed LICENSE to COPYING.
- Renamed ANNOUNCE to NEWS.
- Created AUTHORS file.
-
-version 1.2.9beta4 [March 3, 2006]
-
- Changed definition of PKGCONFIG from $prefix/lib to $libdir in configure.ac
- Reverted to filenames LICENSE and ANNOUNCE; removed AUTHORS and COPYING.
- Removed newline from the end of some error and warning messages.
- Removed test for sqrt() from configure.ac and configure.
- Made swap tables in pngtrans.c PNG_CONST (Carlo Bramix).
- Disabled default iTXt support that was inadvertently enabled in
- libpng-1.2.9beta1.
- Added "OS2" to list of systems that don't need underscores, in pnggccrd.c
- Removed libpng version and date from *.c files.
-
-version 1.2.9beta5 [March 4, 2006]
- Removed trailing blanks from source files.
- Put version and date of latest change in each source file, and changed
- copyright year accordingly.
- More cleanup of configure.ac, Makefile.ac, and associated scripts.
- Restored scripts/makefile.elf which was inadvertently deleted.
-
-version 1.2.9beta6 [March 6, 2006]
- Fixed typo (RELEASE) in configuration files.
-
-version 1.2.9beta7 [March 7, 2006]
- Removed libpng.vers and libpng.sym from libpng12_la_SOURCES in Makefile.am
- Fixed inconsistent #ifdef's around png_sig_bytes() and png_set_sCAL_s()
- in png.h.
- Updated makefile.elf as suggested by debian.
- Made cosmetic changes to some makefiles, adding LN_SF and other macros.
- Made some makefiles accept "exec_prefix".
-
-version 1.2.9beta8 [March 9, 2006]
- Fixed some "#if defined (..." which should be "#if defined(..."
- Bug introduced in libpng-1.2.8.
- Fixed inconsistency in definition of png_default_read_data()
- Restored blank that was lost from makefile.sggcc "clean" target in beta7.
- Revised calculation of "current" and "major" for irix in ltmain.sh
- Changed "mkdir" to "MKDIR_P" in some makefiles.
- Separated PNG_EXPAND and PNG_EXPAND_tRNS.
- Added png_set_expand_gray_1_2_4_to_8() and deprecated
- png_set_gray_1_2_4_to_8() which also expands tRNS to alpha.
-
-version 1.2.9beta9 [March 10, 2006]
- Include "config.h" in pngconf.h when available.
- Added some checks for NULL png_ptr or NULL info_ptr (timeless)
-
-version 1.2.9beta10 [March 20, 2006]
- Removed extra CR from contrib/visualpng/VisualPng.dsw (Cosmin)
- Made pnggccrd.c PIC-compliant (Christian Aichinger).
- Added makefile.mingw (Wolfgang Glas).
- Revised pngconf.h MMX checking.
-
-version 1.2.9beta11 [March 22, 2006]
- Fixed out-of-order declaration in pngwrite.c that was introduced in beta9
- Simplified some makefiles by using LIBSO, LIBSOMAJ, and LIBSOVER macros.
-
-version 1.2.9rc1 [March 31, 2006]
- Defined PNG_USER_PRIVATEBUILD when including "pngusr.h" (Cosmin).
- Removed nonsensical assertion check from pngtest.c (Cosmin).
-
-version 1.2.9 [April 14, 2006]
- Revised makefile.beos and added "none" selector in ltmain.sh
-
-version 1.2.10beta1 [April 15, 2006]
- Renamed "config.h" to "png_conf.h" and revised Makefile.am to add
- -DPNG_BUILDING_LIBPNG to compile directive, and modified pngconf.h
- to include png_conf.h only when PNG_BUILDING_LIBPNG is defined.
-
-version 1.2.10beta2 [April 15, 2006]
- Manually updated Makefile.in and configure. Changed png_conf.h.in
- back to config.h.
-
-version 1.2.10beta3 [April 15, 2006]
- Change png_conf.h back to config.h in pngconf.h.
-
-version 1.2.10beta4 [April 16, 2006]
- Change PNG_BUILDING_LIBPNG to PNG_CONFIGURE_LIBPNG in config/Makefile*.
-
-version 1.2.10beta5 [April 16, 2006]
- Added a configure check for compiling assembler code in pnggccrd.c
-
-version 1.2.10beta6 [April 17, 2006]
- Revised the configure check for pnggccrd.c
- Moved -DPNG_CONFIGURE_LIBPNG into @LIBPNG_DEFINES@
- Added @LIBPNG_DEFINES@ to arguments when building libpng.sym
-
-version 1.2.10beta7 [April 18, 2006]
- Change "exec_prefix=$prefix" to "exec_prefix=$(prefix)" in makefiles.
-
-version 1.2.10rc1 [April 19, 2006]
- Ensure pngconf.h doesn't define both PNG_USE_PNGGCCRD and PNG_USE_PNGVCRD
- Fixed "LN_FS" typo in makefile.sco and makefile.solaris.
-
-version 1.2.10rc2 [April 20, 2006]
- Added a backslash between -DPNG_CONFIGURE_LIBPNG and -DPNG_NO_ASSEMBLER_CODE
- in configure.ac and configure
- Made the configure warning about versioned symbols less arrogant.
-
-version 1.2.10rc3 [April 21, 2006]
- Added a note in libpng.txt that png_set_sig_bytes(8) can be used when
- writing an embedded PNG without the 8-byte signature.
- Revised makefiles and configure to avoid making links to libpng.so.*
-
-version 1.2.10 [April 23, 2006]
- Reverted configure to "rc2" state.
-
-version 1.2.11beta1 [May 31, 2006]
- scripts/libpng.pc.in contained "configure" style version info and would
- not work with makefiles.
- The shared-library makefiles were linking to libpng.so.0 instead of
- libpng.so.3 compatibility as the library.
-
-version 1.2.11beta2 [June 2, 2006]
- Increased sprintf buffer from 50 to 52 chars in pngrutil.c to avoid
- buffer overflow.
- Fixed bug in example.c (png_set_palette_rgb -> png_set_palette_to_rgb)
-
-version 1.2.11beta3 [June 5, 2006]
- Prepended "#! /bin/sh" to ltmail.sh and contrib/pngminus/*.sh (Cosmin).
- Removed the accidental leftover Makefile.in~ (Cosmin).
- Avoided potential buffer overflow and optimized buffer in
- png_write_sCAL(), png_write_sCAL_s() (Cosmin).
- Removed the include directories and libraries from CFLAGS and LDFLAGS
- in scripts/makefile.gcc (Nelson A. de Oliveira, Cosmin).
-
-version 1.2.11beta4 [June 6, 2006]
- Allow zero-length IDAT chunks after the entire zlib datastream, but not
- after another intervening chunk type.
-
-version 1.0.19rc1, 1.2.11rc1 [June 13, 2006]
- Deleted extraneous square brackets from [config.h] in configure.ac
-
-version 1.0.19rc2, 1.2.11rc2 [June 14, 2006]
- Added prototypes for PNG_INCH_CONVERSIONS functions to png.h
- Revised INSTALL and autogen.sh
- Fixed typo in several makefiles (-W1 should be -Wl)
- Added typedef for png_int_32 and png_uint_32 on 64-bit systems.
-
-version 1.0.19rc3, 1.2.11rc3 [June 15, 2006]
- Removed the new typedefs for 64-bit systems (delay until version 1.4.0)
- Added one zero element to png_gamma_shift[] array in pngrtran.c to avoid
- reading out of bounds.
-
-version 1.0.19rc4, 1.2.11rc4 [June 15, 2006]
- Really removed the new typedefs for 64-bit systems.
-
-version 1.0.19rc5, 1.2.11rc5 [June 22, 2006]
- Removed png_sig_bytes entry from scripts/pngw32.def
-
-version 1.0.19, 1.2.11 [June 26, 2006]
- None.
-
-version 1.0.20, 1.2.12 [June 27, 2006]
- Really increased sprintf buffer from 50 to 52 chars in pngrutil.c to avoid
- buffer overflow.
-
-version 1.2.13beta1 [October 2, 2006]
- Removed AC_FUNC_MALLOC from configure.ac
- Work around Intel-Mac compiler bug by setting PNG_NO_MMX_CODE in pngconf.h
- Change "logical" to "bitwise" throughout documentation.
- Detect and fix attempt to write wrong iCCP profile length.
-
-version 1.0.21, 1.2.13 [November 14, 2006]
- Fix potential buffer overflow in sPLT chunk handler.
- Fix Makefile.am to not try to link to noexistent files.
- Check all exported functions for NULL png_ptr.
-
-version 1.2.14beta1 [November 17, 2006]
- Relocated three misplaced tests for NULL png_ptr.
- Built Makefile.in with automake-1.9.6 instead of 1.9.2.
- Build configure with autoconf-2.60 instead of 2.59
-
-version 1.2.14beta2 [November 17, 2006]
- Added some typecasts in png_zalloc().
-
-version 1.2.14rc1 [November 20, 2006]
- Changed "strtod" to "png_strtod" in pngrutil.c
-
-version 1.0.22, 1.2.14 [November 27, 2006]
- Added missing "$(srcdir)" in Makefile.am and Makefile.in
-
-version 1.2.15beta1 [December 3, 2006]
- Generated configure with autoconf-2.61 instead of 2.60
- Revised configure.ac to update libpng.pc and libpng-config.
-
-version 1.2.15beta2 [December 3, 2006]
- Always export MMX asm functions, just stubs if not building pnggccrd.c
-
-version 1.2.15beta3 [December 4, 2006]
- Add "png_bytep" typecast to profile while calculating length in pngwutil.c
-
-version 1.2.15beta4 [December 7, 2006]
- Added scripts/CMakeLists.txt
- Changed PNG_NO_ASSEMBLER_CODE to PNG_NO_MMX_CODE in scripts, like 1.4.0beta
-
-version 1.2.15beta5 [December 7, 2006]
- Changed some instances of PNG_ASSEMBLER_* to PNG_MMX_* in pnggccrd.c
- Revised scripts/CMakeLists.txt
-
-version 1.2.15beta6 [December 13, 2006]
- Revised scripts/CMakeLists.txt and configure.ac
-
-version 1.2.15rc1 [December 18, 2006]
- Revised scripts/CMakeLists.txt
-
-version 1.2.15rc2 [December 21, 2006]
- Added conditional #undef jmpbuf in pngtest.c to undo #define in AIX headers.
- Added scripts/makefile.nommx
-
-version 1.2.15rc3 [December 25, 2006]
- Fixed shared library numbering error that was introduced in 1.2.15beta6.
-
-version 1.2.15rc4 [December 27, 2006]
- Fixed handling of rgb_to_gray when png_ptr->color.gray isn't set.
-
-version 1.2.15rc5 [December 31, 2006]
- Revised handling of rgb_to_gray.
-
-version 1.0.23, 1.2.15 [January 5, 2007]
- Added some (unsigned long) typecasts in pngtest.c to avoid printing errors.
-
-version 1.2.16beta1 [January 6, 2007]
- Fix bugs in makefile.nommx
-
-version 1.2.16beta2 [January 16, 2007]
- Revised scripts/CMakeLists.txt
-
-version 1.0.24, 1.2.16 [January 31, 2007]
- No changes.
-
-version 1.2.17beta1 [March 6, 2007]
- Revised scripts/CMakeLists.txt to install both shared and static libraries.
- Deleted a redundant line from pngset.c.
-
-version 1.2.17beta2 [April 26, 2007]
- Relocated misplaced test for png_ptr == NULL in pngpread.c
- Change "==" to "&" for testing PNG_RGB_TO_GRAY_ERR & PNG_RGB_TO_GRAY_WARN
- flags.
- Changed remaining instances of PNG_ASSEMBLER_* to PNG_MMX_*
- Added pngerror() when write_IHDR fails in deflateInit2().
- Added "const" to some array declarations.
- Mention examples of libpng usage in the libpng*.txt and libpng.3 documents.
-
-version 1.2.17rc1 [May 4, 2007]
- No changes.
-
-version 1.2.17rc2 [May 8, 2007]
- Moved several PNG_HAVE_* macros out of PNG_INTERNAL because applications
- calling set_unknown_chunk_location() need them.
- Changed transformation flag from PNG_EXPAND_tRNS to PNG_EXPAND in
- png_set_expand_gray_1_2_4_to_8().
- Added png_ptr->unknown_chunk to hold working unknown chunk data, so it
- can be free'ed in case of error. Revised unknown chunk handling in
- pngrutil.c and pngpread.c to use this structure.
-
-version 1.2.17rc3 [May 8, 2007]
- Revised symbol-handling in configure script.
-
-version 1.2.17rc4 [May 10, 2007]
- Revised unknown chunk handling to avoid storing unknown critical chunks.
-
-version 1.0.25 [May 15, 2007]
-version 1.2.17 [May 15, 2007]
- Added "png_ptr->num_trans=0" before error return in png_handle_tRNS,
- to eliminate a vulnerability (CVE-2007-2445, CERT VU#684664)
-
-version 1.0.26 [May 15, 2007]
-version 1.2.18 [May 15, 2007]
- Reverted the libpng-1.2.17rc3 change to symbol-handling in configure script
-
-version 1.2.19beta1 [May 18, 2007]
- Changed "const static" to "static PNG_CONST" everywhere, mostly undoing
- change of libpng-1.2.17beta2. Changed other "const" to "PNG_CONST"
- Changed some handling of unused parameters, to avoid compiler warnings.
- "if (unused == NULL) return;" becomes "unused = unused".
-
-version 1.2.19beta2 [May 18, 2007]
- Only use the valid bits of tRNS value in png_do_expand() (Brian Cartier)
-
-version 1.2.19beta3 [May 19, 2007]
- Add some "png_byte" typecasts in png_check_keyword() and write new_key
- instead of key in zTXt chunk (Kevin Ryde).
-
-version 1.2.19beta4 [May 21, 2007]
- Add png_snprintf() function and use it in place of sprint() for improved
- defense against buffer overflows.
-
-version 1.2.19beta5 [May 21, 2007]
- Fixed png_handle_tRNS() to only use the valid bits of tRNS value.
- Changed handling of more unused parameters, to avoid compiler warnings.
- Removed some PNG_CONST in pngwutil.c to avoid compiler warnings.
-
-version 1.2.19beta6 [May 22, 2007]
- Added some #ifdef PNG_MMX_CODE_SUPPORTED where needed in pngvcrd.c
- Added a special "_MSC_VER" case that defines png_snprintf to _snprintf
-
-version 1.2.19beta7 [May 22, 2007]
- Squelched png_squelch_warnings() in pnggccrd.c and added
- an #ifdef PNG_MMX_CODE_SUPPORTED/#endif block around the declarations
- that caused the warnings that png_squelch_warnings was squelching.
-
-version 1.2.19beta8 [May 22, 2007]
- Removed __MMX__ from test in pngconf.h.
-
-version 1.2.19beta9 [May 23, 2007]
- Made png_squelch_warnings() available via PNG_SQUELCH_WARNINGS macro.
- Revised png_squelch_warnings() so it might work.
- Updated makefile.sgcc and makefile.solaris; added makefile.solaris-x86.
-
-version 1.2.19beta10 [May 24, 2007]
- Resquelched png_squelch_warnings(), use "__attribute__((used))" instead.
-
-version 1.2.19beta11 [May 28, 2007]
- Return 0 from png_get_sPLT() and png_get_unknown_chunks() if png_ptr is NULL;
- changed three remaining instances of png_strcpy() to png_strncpy() (David
- Hill).
- Make test for NULL row_buf at the beginning of png_do_read_transformations
- unconditional.
-
-version 1.2.19beta12 [May 28, 2007]
- Revised pnggccrd.c.
-
-version 1.2.19beta13 [June 14, 2007]
- Prefer PNG_USE_PNGVCRD when _MSC_VER is defined in pngconf.h
-
-version 1.2.19beta14 [June 16, 2007]
- Fix bug with handling of 16-bit transparency, introduced in 1.2.19beta2
-
-version 1.2.19beta15 [June 17, 2007]
- Revised pnggccrd.c.
-
-version 1.2.19beta16 [June 18, 2007]
- Revised pnggccrd.c again.
- Updated contrib/gregbook.
- Changed '#include "pnggccrd.c"' to 'include "$srcdir/pnggccrd.c"'
- in configure.ac
-
-version 1.2.19beta17 [June 19, 2007]
- Revised many of the makefiles, to set -DPNG_NO_MMX_CODE where needed
- and to not use -O3 unless -DPNG_NO_MMX_CODE is also set.
-
-version 1.2.19beta18 [June 23, 2007]
- Replaced some C++ style comments with C style comments in pnggccrd.c.
- Copied optimized C code from pnggccrd.c to pngrutil.c, removed dependency
- on pnggccrd.o from many makefiles.
- Added sl and dylib to list of extensions be installed by Makefile.am
-
-version 1.2.19beta19 [June 28, 2007]
- Fixed testing PNG_RGB_TO_GRAY_ERR & PNG_RGB_TO_GRAY_WARN in pngrtran.c
- More cleanup of pnggccrd.c and pngvcrd.c
-
-version 1.2.19beta20 [June 29, 2007]
- Rebuilt Makefile.in and configure using libtool-1.5.24.
- Fixed typo in pnggccrd.c
-
-version 1.2.19beta21 [June 30, 2007]
- More revision of pnggccrd.c
- Added "test" target to Makefile.in and Makefile.am
-
-version 1.2.19beta22 [July 3, 2007]
- Added info about pngrutil/pnggccrd/pngvcrd to png_get_header_version()
- Fix type definition of dummy_value_a, b in pnggccrd.c
-
-version 1.2.19beta23 [July 10, 2007]
- Revert change to type definition of dummy_value_a, b in pnggccrd.c
- Make sure __PIC__ is defined in pnggccrd.c when PIC is defined.
- Require gcc-4.1 or better to use PNG_HAVE_MMX_FILTER_ROW on x86_64 platforms
-
-version 1.2.19beta24 [July 14, 2007]
- Added PNG_NO_READ_FILTER, PNG_NO_WRITE_FILTER, PNG_NO_WARNING macros.
- Added contrib/pngminim to demonstrate building minimal encoder and decoder
-
-version 1.2.19beta25 [July 15, 2007]
- Removed the new PNG_NO_READ_FILTER macro since it would make the library
- unable to read valid PNG files, and filtering is at the heart of the
- PNG format.
-
-version 1.2.19beta26 [July 16, 2007]
- Changed "png_free(str)" to "png_free(png_ptr,str)" in pngrutil.c WinCE
- code (Yves Piguet). This bug was introduced in libpng-1.2.14.
- Updated scripts/CMakeLists.txt
- Relocated a misplaced #endif in pnggccrd.c
-
-version 1.2.19beta27 [July 17, 2007]
- Fixed incorrect stride and number of bytes copied (was 4 instead of
- 6 bytes) in the cleanup loop of pnggccrd.c and pngvcrd.c for handling
- the end of 48-bit interlaced rows (Glenn R-P).
-
-version 1.2.19beta28 [July 19, 2007]
- Removed requirement for gcc-4.1 or better to use PNG_HAVE_MMX_FILTER_ROW
- on x86_64 platforms
- Added png_warning() in pngrutil.c for short iCCP, iTXt, sPLT, or zTXT chunks.
- Revised pngtest.c so warnings are displayed regardless of PNG_NO_STDIO.
-
-version 1.2.19beta29 [July 20, 2007]
- Fix typo in pnggccrd.c (%%eax should be %%ax in secondloop48)
-
-version 1.2.19beta30 [July 26, 2007]
- Revised pnggccrd.c
-
-version 1.2.19beta31 [July 27, 2007]
- Fix typos in pnggccrd.c
-
-version 1.0.27rc1 and 1.2.19rc1 [July 31, 2007]
- Disable PNG_MMX_CODE_SUPPORTED when PNG_ASSEMBLER_CODE_SUPPORTED is off.
- Enable PNG_MMX_READ_FILTER_* by default, except when gcc-3.x is being
- used (they were inadvertently disabled in libpng-1.2.19beta23).
- Fix some debugging statements in pnggccrd.c and pngrutil.c
- Added information about disabling the MMX code in libpng documentation.
-
-version 1.0.27rc2 and 1.2.19rc2 [August 4, 2007]
- Removed some "#if 0" blocks.
- Made a global struct local in pngvcrd.c to make it thread safe.
- Issue a png_error() if application attempts to transform a row tht
- has not been initialized.
-
-version 1.0.27rc3 and 1.2.19rc3 [August 9, 2007]
- Slightly revised pngvcrd.c
-
-version 1.0.27rc4 and 1.2.19rc4 [August 9, 2007]
- Revised pnggccrd.c debugging change of rc1, which was broken.
- Revised scripts/CMakeLists.txt
- Change default to PNG_NO_GLOBAL_ARRAYS for MSVC.
- Turn off PNG_FLAG_ROW_INIT flag when setting transforms that expand pixels.
-
-version 1.0.27rc5 and 1.2.19rc5 [August 10, 2007]
- Fix typo (missing '"') in pnggccrd.c
- Revise handling of png_strtod in recent versions of WINCE
-
-version 1.0.27rc6 and 1.2.19rc6 [August 15, 2007]
- Fix typo (missing ',') in contrib/gregbook/readpng2.c
- Undid row initialization error exit added to rc2 and rc4.
-
-version 1.0.27 and 1.2.19 [August 18, 2007]
- Conditionally restored row initialization error exit.
-
-version 1.2.20beta01 [August 19, 2007]
- Fixed problem with compiling pnggccrd.c on Intel-Apple platforms.
- Changed png_malloc() to png_malloc_warn() in png_set_sPLT().
- Added PNG_NO_ERROR_TEXT feature, with demo in contrib/pngminim
- Removed define PNG_WARN_UNINITIALIZED_ROW 1 /* 0: warning; 1: error */
- because it caused some trouble.
-
-version 1.2.20beta02 [August 20, 2007]
- Avoid compiling pnggccrd.c on Intel-Apple platforms.
-
-version 1.2.20beta03 [August 20, 2007]
- Added "/D PNG_NO_MMX_CODE" to the non-mmx builds of projects/visualc6
- and visualc71.
-
-version 1.2.20beta04 [August 21, 2007]
- Revised pngvcrd.c for improved efficiency (Steve Snyder).
-
-version 1.2.20rc1 [August 23, 2007]
- Revised pngconf.h to set PNG_NO_MMX_CODE for gcc-3.x compilers.
-
-version 1.2.20rc2 [August 27, 2007]
- Revised scripts/CMakeLists.txt
- Revised #ifdefs to ensure one and only one of pnggccrd.c, pngvcrd.c,
- or part of pngrutil.c is selected.
-
-version 1.2.20rc3 [August 30, 2007]
- Remove a little more code in pngwutil.c when PNG_NO_WRITE_FILTER is selected.
- Added /D _CRT_SECURE_NO_WARNINGS to visual6c and visualc71 projects.
- Compile png_mmx_support() in png.c even when PNG_NO_MMX_CODE is defined.
- Restored a "superfluous" #ifdef that was removed from 1.2.20rc2 pnggccrd.c,
- breaking the png_mmx_support() function.
-
-version 1.2.20rc4 [September 1, 2007]
- Removed Intel contributions (MMX, Optimized C).
-
-version 1.2.20rc5 [September 2, 2007]
- Restored configure and Makefile.in to rc3 and put a snippet of code in
- pnggccrd.c, to ensure configure makes the same PNG_NO_MMX_CODE selection
-
-version 1.2.20rc6 [September 2, 2007]
- Fixed bugs in scripts/CMakeLists.txt
- Removed pngvcrd.c references from msvc projects.
-
-version 1.0.28 and 1.2.20 [September 8, 2007]
- Removed "(NO READ SUPPORT)" from png_get_header_version() string.
-
-version 1.2.21beta1 [September 14, 2007]
- Fixed various mistakes reported by George Cook and Jeff Phillips:
- logical vs bitwise NOT in pngrtran.c, bug introduced in 1.2.19rc2
- 16-bit cheap transparency expansion, bug introduced in 1.2.19beta2
- errors with sizeof(unknown_chunk.name), bugs introduced in 1.2.19beta11
- <= compare with unsigned var in pngset.c, should be ==.
-
-version 1.2.21beta2 [September 18, 2007]
- Removed some extraneous typecasts.
-
-version 1.2.21rc1 [September 25, 2007]
- Fixed potential out-of-bounds reads in png_handle_pCAL() and
- png_handle_ztXt() ("flayer" results reported by Tavis Ormandy).
-
-version 1.2.21rc2 [September 26, 2007]
- Fixed potential out-of-bounds reads in png_handle_sCAL(),
- png_handle_iTXt(), and png_push_read_tEXt().
- Remove some PNG_CONST declarations from pngwutil.c to avoid compiler warnings
- Revised makefiles to update paths in libpng.pc properly.
-
-version 1.2.21rc3 [September 27, 2007]
- Revised makefiles to update "Libs" in libpng.pc properly.
-
-version 1.0.29 and 1.2.21rc3 [October 4, 2007]
- No changes.
-
-version 1.2.22beta1 [October 4, 2007]
- Again, fixed logical vs bitwise NOT in pngrtran.c, bug introduced
- in 1.2.19rc2
-
-version 1.2.22beta2 [October 5, 2007]
- Fixed string length error in pngset.c (caused crashes while decoding iCCP)
- Add terminating NULL after each instance of png_strncpy().
-
-version 1.2.22beta3 [October 6, 2007]
- Fix two off-by-one terminating NULL after png_strncpy().
-
-version 1.2.22beta4 [October 7, 2007]
- Changed some 0 to '\0'.
-
-version 1.0.30rc1 and 1.2.22rc1 [October 8, 2007]
- No changes.
-
-version 1.0.30 and 1.2.22 [October 13, 2007]
- No changes.
-
-version 1.2.23beta01 [October 15, 2007]
- Reduced number of invocations of png_strlen() in pngset.c.
- Changed [azAZ09_] to [_abcde...89] in Makefile.am for better localization.
-
-version 1.2.23beta02 [October 16, 2007]
- Eliminated png_strncpy() and png_strcpy() (Pierre Poissinger)
- Changed $AN to $(AN) in Makefile.am.
-
-version 1.2.23beta03 [October 16, 2007]
- Fixed off-by-one error in pngset.c
- Restore statement to set last character of buffer to \0 in pngerror.c
-
-version 1.2.23beta04 [October 23, 2007]
- Reject attempt to set all-zero cHRM values.
-
-version 1.2.23beta05 [October 26, 2007]
- Add missing quotes in projects/visualc6, lost in version 1.2.20rc3
-
-version 1.2.23rc01 [November 2, 2007]
- No changes.
-
-version 1.2.23 [November 6, 2007]
- No changes.
-
-version 1.2.24beta01 [November 19, 2007]
- Moved misplaced test for malloc failure in png_set_sPLT(). This bug was
- introduced in libpng-1.2.20beta01.
- Ifdef out avg_row etc from png.h and pngwrite.c when PNG_NO_WRITE_FILTER
- Do not use png_ptr->free_fn and png_ptr->mem_fn in png_destroy_read_struct()
- when png_ptr is NULL (Marshall Clow).
- Updated handling of symbol prefixes in Makefile.am and configure.ac (Mike
- Frysinger).
-
-version 1.2.24beta02 [November 30, 2007]
- Removed a useless test and fixed incorrect test in png_set_cHRM_fixed()
- (David Hill).
-
-version 1.2.24rc01 [December 7, 2007]
- No changes.
-
-version 1.2.24 [December 14, 2007]
- Make sure not to redefine _BSD_SOURCE in pngconf.h
- Revised gather.sh and makefile.std in contrib/pngminim to avoid compiling
- unused files.
-
-version 1.2.25beta01 [January 7, 2008]
- Fixed bug with unknown chunk handling, introduced in version 1.2.17rc2
-
-version 1.2.25beta02 [January 10, 2008]
- Prevent gamma from being applied twice.
-
-version 1.2.25rc01 [January 17, 2008]
- No changes.
-
-version 1.2.25beta03 [January 22, 2008]
- Fixed some continue-after-malloc-failure errors in pngset.c (David Hill)
- Check for info_ptr == NULL in png_read_info() and png_process_data().
- Check for possible use of NULL user_png_ver[] in png_create_read_struct().
- Change "if (swidth == NULL)" to "if (sheight == NULL)" in png_handle_sCAL
- (bug introduced in libpng-1.2.4/1.0.13).
- Return from png_destroy_read_struct() if png_ptr_ptr is NULL.
- Fix overflow of "msg" in png_decompress_chunk().
-
-version 1.2.25beta04 [January 26, 2008]
- Work around Coverity bug report by slightly refactoring
- png_read_push_finish_row()
-
-version 1.2.25beta05 [January 31, 2008]
- Added libpng-1.2.25beta05.tar.lzma to distribution. Get the lzma codec
- from <http://tukaani.org/lzma>.
- Added lp1225b05.7z to distribution. Get the 7-zip decoder from
- from <http://www.7-zip.org>.
- Fixed some broken links in the README file.
-
-version 1.2.25beta06 [February 6, 2008]
- Refactored png_read_push_finish_row() again, trying to satisfy Coverity.
- Fixed potential NULL dereference of png_ptr in png_destroy_write_struct();
- clarified potential NULL dereference of png_ptr in png_destroy_read_struct();
- fixed potential NULL dereference of info_ptr in png_handle_bKGD();
- fixed potential NULL dereference of user_png_ver[] in
- png_create_write_struct_2(). (Coverity)
-
-version 1.2.25rc02 [February 10, 2008]
- Reset png_ptr->pass in png_read_push_finish_row() before break.
- Changed "pass" from png_byte to int.
-
-version 1.2.25 and 1.0.31 [February 18, 2008]
- No changes.
-
-version 1.2.26beta01 [February 21, 2008]
- Added missing "(" in pngmem.c. Bug introduced in libpng-1.2.2/1.0.13
-
-version 1.2.26beta02 [March 12, 2008]
- Refined error message returned from deflateInit2 in pngwutil.c
- Check IHDR length in png_push_read_chunk() before saving it.
-
-version 1.2.26beta03 [March 16, 2008]
- Revised contrib/gregbook to handle premature end-of-file and file
- read errors correctly.
-
-version 1.2.26beta04 [March 18, 2008]
- Free png_ptr->big_row_buf and png_ptr->prev_row before allocating
- new copies in png_read_start_row(). Bug introduced in libpng-1.2.22.
-
-version 1.2.26beta05 [March 19, 2008]
- Removed extra png_free() added in libpng-1.2.26beta04.
-
-version 1.2.26beta06 [March 19, 2008]
- Avoid reallocating big_row_buf and prev_row when the size does not increase.
-
-version 1.2.26rc01 [March 26, 2008]
- Ifdef out some code that is unused when interlacing is not supported.
-
-versions 1.0.32 and 1.2.26 [April 2, 2008]
- No changes.
-
-version 1.2.27beta01 [April 12, 2008]
- Fixed bug (introduced in libpng-1.0.5h) with handling zero-length
- unknown chunks.
- Added more information about png_set_keep_unknown_chunks() to the
- documentation.
- Reject tRNS chunk with out-of-range samples instead of masking off
- the invalid high bits as done in since libpng-1.2.19beta5.
-
-version 1.2.27beta02 [April 13, 2008]
- Revised documentation about unknown chunk and user chunk handling.
- Keep tRNS chunk with out-of-range samples and issue a png_warning().
-
-version 1.2.27beta03 [April 14, 2008]
- Added check for NULL ptr in TURBOC version of png_free_default().
- Removed several unnecessary checks for NULL before calling png_free().
- Revised png_set_tRNS() so that calling it twice removes and invalidates
- the previous call.
- Revised pngtest to check for out-of-range tRNS samples.
-
-version 1.2.27beta04 [April 18, 2008]
- Added AC_LIBTOOL_WIN32_DLL to configure.ac
- Rebuilt Makefile.in, aclocal.m4, and configure with autoconf-2.62
-
-version 1.2.27beta05 [April 19, 2008]
- Added MAINTAINERCLEANFILES variable to Makefile.am
-
-version 1.2.27beta06 [April 21, 2008]
- Avoid changing color_type from GRAY to RGB by
- png_set_expand_gray_1_2_4_to_8().
-
-version 1.2.27rc01 [April 23, 2008]
- Fix broken URL for rfc2083 in png.5 and libpng-*.txt
-
-version 1.0.33 and 1.2.27 [April 30, 2008]
- No changes.
-
-version 1.0.34 and 1.2.28 [April 30, 2008]
- Rebuilt Makefile.in, aclocal.m4, and configure with autoconf-2.61
- due to backward incompatibilities.
- Removed a stray object file from contrib/gregbook
-
-version 1.2.29beta01 [May 1, 2008]
- Removed some stray *.diff and *.orig files
-
-version 1.2.29beta02 [May 1, 2008]
- Reverted Makefile.in, aclocal.m4, and configure to the libpng-1.2.26
- versions.
-
-version 1.2.29beta03 [May 2, 2008]
- Added --force to autogen libtoolize options and --force-missing to
- automake options.
- Changed $(ECHO) to echo in Makefile.am and Makefile.in
- Updated all configure files to autoconf-2.62
- Comment out pnggcrd.c code with #ifdef/#endif if using MSC_VER
-
-version 1.2.29rc01 [May 4, 2008]
- No changes.
-
-version 1.0.35 and 1.2.29 [May 8, 2008]
- No changes.
-
-version 1.0.37 [May 9, 2008]
- Updated Makefile.in and configure (omitted version 1.0.36).
-
-version 1.2.30beta01 [May 29, 2008]
- Updated libpng.pc-configure.in and libpng-config.in per debian bug reports.
-
-version 1.2.30beta02 [June 25, 2008]
- Restored png_flush(png_ptr) at the end of png_write_end(), that was
- removed from libpng-1.0.9beta03.
-
-version 1.2.30beta03 [July 6, 2008]
- Merged some cosmetic whitespace changes from libpng-1.4.0beta19.
- Inline call of png_get_uint_32() in png_get_uint_31(), as in 1.4.0beta19.
- Added demo of decoding vpAg and sTER chunks to pngtest.c, from 1.4.0beta19.
- Changed PNGMAJ from 0 to 12 in makefile.darwin, which does not like 0.
- Added new private function png_read_chunk_header() from 1.4.0beta19.
- Merge reading of chunk length and chunk type into a single 8-byte read.
- Merge writing of chunk length and chunk type into a single 8-byte write.
-
-version 1.2.30beta04 [July 10, 2008]
- Merged more cosmetic whitespace changes from libpng-1.4.0beta19.
-
-version 1.0.38rc01, 1.2.30rc01 [July 18, 2008]
- No changes.
-
-version 1.0.38rc02, 1.2.30rc02 [July 21, 2008]
- Moved local array "chunkdata" from pngrutil.c to the png_struct, so
- it will be freed by png_read_destroy() in case of a read error (Kurt
- Christensen).
-
-version 1.0.38rc03, 1.2.30rc03 [July 21, 2008]
- Changed "purpose" and "buffer" to png_ptr->chunkdata to avoid memory leaking.
-
-version 1.0.38rc04, 1.2.30rc04 [July 22, 2008]
- Changed "chunkdata = NULL" to "png_ptr->chunkdata = NULL" several places in
- png_decompress_chunk().
-
-version 1.0.38rc05, 1.2.30rc05 [July 25, 2008]
- Changed all remaining "chunkdata" to "png_ptr->chunkdata" in
- png_decompress_chunk() and remove chunkdata from parameter list.
- Put a call to png_check_chunk_name() in png_read_chunk_header().
- Revised png_check_chunk_name() to reject a name with a lowercase 3rd byte.
- Removed two calls to png_check_chunk_name() occuring later in the process.
-
-version 1.0.38rc06, 1.2.30rc06 [July 29, 2008]
- Added a call to png_check_chunk_name() in pngpread.c
- Reverted png_check_chunk_name() to accept a name with a lowercase 3rd byte.
-
-version 1.0.38r07, 1.2.30r07 [August 2, 2008]
- Changed "-Wall" to "-W -Wall" in the CFLAGS in all makefiles (Cosmin Truta)
- Declared png_ptr "volatile" in pngread.c and pngwrite.c to avoid warnings.
- Added code in pngset.c to quiet compiler warnings.
- Updated contrib/visupng/cexcept.h to version 2.0.1
- Relocated a misplaced "#endif /* PNG_NO_WRITE_FILTER */" in pngwutil.c
-
-version 1.0.38r08, 1.2.30r08 [August 2, 2008]
- Enclose "volatile" declarations in #ifdef PNG_SETJMP_SUPPORTED (Cosmin).
-
-version 1.0.38, 1.2.30 [August 14, 2008]
- No changes.
-
-version 1.2.31rc01 [August 19, 2008]
- Removed extra crc check at the end of png_handle_cHRM(). Bug introduced
- in libpng-1.2.30beta03 (Heiko Nitzsche).
-
-version 1.2.31rc02 [August 19, 2008]
- Added PNG_WRITE_FLUSH_SUPPORTED block around new png_flush() call.
-
-version 1.2.31rc03 [August 19, 2008]
- Added PNG_WRITE_FLUSH_AFTER_IEND_SUPPORTED block, off by default, around
- new png_flush().
-
-version 1.0.39, 1.2.31 [August 21, 2008]
- No changes.
-
-version 1.2.32beta01 [September 6, 2008]
- Shortened tIME_string to 29 bytes in pngtest.c (bug introduced in
- libpng-1.2.22).
- Fixed off-by-one error introduced in png_push_read_zTXt() function in
- libpng-1.2.30beta04/pngpread.c (Harald van Dijk)
- These bugs have been given the vulnerability id CVE-2008-3964.
-
-version 1.0.40, 1.2.32 [September 18, 2008]
- No changes.
-
-version 1.2.33beta01 [October 6, 2008]
- Revised makefile.darwin to fix shared library numbering.
- Change png_set_gray_1_2_4_to_8() to png_set_expand_gray_1_2_4_to_8()
- in example.c (debian bug report)
-
-version 1.2.33rc01 [October 15, 2008]
- No changes.
-
-version 1.0.41rc01, version 1.2.33rc02 [October 23, 2008]
- Changed remaining "key" to "png_ptr->chunkdata" in png_handle_tEXt()
- to avoid memory leak after memory failure while reading tEXt chunk.`
-
-version 1.2.33 [October 31, 2008]
- No changes.
-
-version 1.2.34beta01 [November 27, 2008]
- Revised png_warning() to write its message on standard output by default
- when warning_fn is NULL. This was the behavior prior to libpng-1.2.9beta9.
- Fixed string vs pointer-to-string error in png_check_keyword().
- Added png_check_cHRM_fixed() in png.c and moved checking from pngget.c,
- pngrutil.c, and pngwrite.c, and eliminated floating point cHRM checking.
- Added check for zero-area RGB cHRM triangle in png_check_cHRM_fixed().
- In png_check_cHRM_fixed(), ensure white_y is > 0, and removed redundant
- check for all-zero coordinates that is detected by the triangle check.
- Revised png_warning() to write its message on standard output by default
- when warning_fn is NULL.
-
-version 1.2.34beta02 [November 28, 2008]
- Corrected off-by-one error in bKGD validity check in png_write_bKGD()
- and in png_handle_bKGD().
-
-version 1.2.34beta03 [December 1, 2008]
- Revised bKGD validity check to use >= x instead of > x + 1
- Merged with png_debug from libpng-1.4.0 to remove newlines.
-
-version 1.2.34beta04 [December 2, 2008]
- More merging with png_debug from libpng-1.4.0 to remove newlines.
-
-version 1.2.34beta05 [December 5, 2008]
- Removed redundant check for key==NULL before calling png_check_keyword()
- to ensure that new_key gets initialized and removed extra warning
- (Arvan Pritchard).
-
-version 1.2.34beta06 [December 9, 2008]
- In png_write_png(), respect the placement of the filler bytes in an earlier
- call to png_set_filler() (Jim Barry).
-
-version 1.2.34beta07 [December 9, 2008]
- Undid previous change and added PNG_TRANSFORM_STRIP_FILLER_BEFORE and
- PNG_TRANSFORM_STRIP_FILLER_AFTER conditionals and deprecated
- PNG_TRANSFORM_STRIP_FILLER (Jim Barry).
-
-version 1.0.42rc01, 1.2.34rc01 [December 11, 2008]
- No changes.
-
-version 1.0.42, 1.2.34 [December 18, 2008]
- No changes.
-
-version 1.2.35beta01 [February 4, 2009]
- Zero out some arrays of pointers after png_malloc(). (Tavis Ormandy)
-
-version 1.2.35beta02 [February 4, 2009]
- Zero out more arrays of pointers after png_malloc().
-
-version 1.2.35beta03 [February 5, 2009]
- Use png_memset() instead of a loop to intialize pointers. We realize
- this will not work on platforms where the NULL pointer is not all zeroes.
-
-version 1.2.35rc01 [February 11, 2009]
- No changes.
-
-version 1.2.35rc02 [February 12, 2009]
- Fix typo in new png_memset call in pngset.c (png_color should be png_charp)
-
-version 1.0.43 and 1.2.35 [February 14, 2009]
- No changes.
-
-version 1.2.36beta01 [February 28, 2009]
- Revised comments in png_set_read_fn() and png_set_write_fn().
- Revised order of #ifdef's and indentation in png_debug definitions of png.h
- bug introduced in libpng-1.2.34.
-
-version 1.2.36beta02 [March 21, 2009]
- Use png_memset() after png_malloc() of big_row_buf when reading an
- interlaced file, to avoid a possible UMR.
- Undid recent revision of PNG_NO_STDIO version of png_write_flush(). Users
- having trouble with fflush() can build with PNG_NO_WRITE_FLUSH defined.
- Revised libpng*.txt documentation about use of png_write_flush().
- Removed fflush() from pngtest.c.
- Added "#define PNG_NO_WRITE_FLUSH" to contrib/pngminim/encoder/pngusr.h
-
-version 1.2.36beta03 [March 27, 2009]
- Relocated misplaced PNG_1_0_X define in png.h that caused the prototype
- for png_set_strip_error_numbers() to be omitted from PNG_NO_ASSEMBLER_CODE
- builds. This bug was introduced in libpng-1.2.15beta4.
- Added a section on differences between 1.0.x and 1.2.x to libpng.3/libpng.txt
-
-version 1.2.36beta04 [April 5, 2009]
- Fixed potential memory leak of "new_name" in png_write_iCCP() (Ralph Giles)
-
-version 1.2.36beta05 [April 24, 2009]
- Added "ifndef PNG_SKIP_SETJMP_CHECK" block in pngconf.h to allow
- application code writers to bypass the check for multiple inclusion
- of setjmp.h when they know that it is safe to ignore the situation.
- Made some cosmetic changes to whitespace in pngtest output.
- Renamed "user_chunk_data" to "my_user_chunk_data" in pngtest.c to suppress
- "shadowed declaration" warning from gcc-4.3.3.
- Renamed "gamma" to "png_gamma" in pngset.c to avoid "shadowed declaration"
- warning about a global "gamma" variable in math.h on some platforms.
-
-version 1.2.36rc01 [April 30, 2009]
- No changes.
-
-version 1.0.44 and 1.2.36 [May 7, 2009]
- No changes.
-
-version 1.2.37beta01 [May 14, 2009]
- Fixed inconsistency in pngrutil.c, introduced in libpng-1.2.36. The
- memset() was using "png_ptr->rowbytes" instead of "row_bytes", which
- the corresponding png_malloc() uses (Joe Drew).
- Clarified usage of sig_bit versus sig_bit_p in example.c (Vincent Torri)
- Updated some of the makefiles in the scripts directory (merged with
- those in libpng-1.4.0beta57).
-
-version 1.2.37beta02 [May 19, 2009]
- Fixed typo in libpng documentation (FILTER_AVE should be FILTER_AVG)
- Relocated misplaced #endif in pngwrite.c, sCAL chunk handler.
- Conditionally compile png_read_finish_row() which is not used by
- progressive readers.
- Added contrib/pngminim/preader to demonstrate building minimal progressive
- decoder, based on contrib/gregbook with embedded libpng and zlib.
-
-version 1.2.37beta03 [May 20, 2009]
- In contrib/pngminim/*, renamed "makefile.std" to "makefile", since there
- is only one makefile in those directories, and revised the README files
- accordingly.
- Reformated sources in libpng style (3-space indentation, comment format)
-
-version 1.2.37rc01 [May 27, 2009]
- No changes.
-
-versions 1.2.37 and 1.0.45 [June 4, 2009]
- Reformatted several remaining "else statement;" and "if () statement;" into
- two lines.
- Added "#define PNG_NO_WRITE_SWAP" to contrib/pngminim/encoder/pngusr.h
- and "define PNG_NO_READ_SWAP" to decoder/pngusr.h and preader/pngusr.h
- Added sections about the git repository and our coding style to the
- documentation (merged from libpng-1.4.0beta62)
- Added a section to the libpng documentation about using png_get_io_ptr()
- in configure scripts to detect the presence of libpng.
-
-version 1.2.38beta01 [June 17, 2009]
- Revised libpng*.txt and libpng.3 to mention calling png_set_IHDR()
- multiple times and to specify the sample order in the tRNS chunk,
- because the ISO PNG specification has a typo in the tRNS table.
- Changed several PNG_UNKNOWN_CHUNK_SUPPORTED to
- PNG_HANDLE_AS_UNKNOWN_SUPPORTED, to make the png_set_keep mechanism
- available for ignoring known chunks even when not saving unknown chunks.
- Adopted preference for consistent use of "#ifdef" and "#ifndef" versus
- "#if defined()" and "if !defined()" where possible.
- Added PNG_NO_HANDLE_AS_UNKNOWN in the PNG_LEGACY_SUPPORTED block of
- pngconf.h, and moved the various unknown chunk macro definitions
- outside of the PNG_READ|WRITE_ANCILLARY_CHUNK_SUPPORTED blocks.
-
-version 1.0.46 [June 18, 2009]
- Removed some editing cruft from scripts/libpng.pc.in and some makefiles.
-
-version 1.2.38rc01 [June 24, 2009]
- No changes.
-
-version 1.2.38rc02 [June 29, 2009]
- Added a reference to the libpng license in each source file.
-
-version 1.2.38rc03 [July 11, 2009]
- Revised references to the libpng license in pngconf.h and contrib/visupng
- source files.
- Rebuilt configure scripts with autoconf-2.63.
-
-version 1.0.47 and 1.2.38 [July 16, 2009]
- No changes.
-
-version 1.2.39beta01 [July 25, 2009]
- Added a prototype for png_64bit_product() in png.c
-
-version 1.2.39beta02 [July 27, 2009]
- Avoid a possible NULL dereference in debug build, in png_set_text_2().
- (bug introduced in libpng-0.95, discovered by Evan Rouault)
-
-version 1.2.39beta03 [July 29, 2009]
- Relocated new png_64_bit_product() prototype into png.h
- Expanded the information about prototypes in the libpng style section of
- the documentation.
- Rebuilt configure scripts with autoconf-2.64.
-
-version 1.2.39beta04 [August 1, 2009]
- Replaced *.tar.lzma with *.txz in distribution. Get the xz codec
- from <http://tukaani.org/xz>.
-
-version 1.2.39beta05 [August 1, 2009]
- Reject attempt to write iCCP chunk with negative embedded profile length
- (JD Chen)
-
-version 1.2.39c01 [August 6, 2009]
- No changes.
-
-version 1.2.39 and 1.0.48 [August 13, 2009]
- No changes.
-
-version 1.2.40beta01 [August 20, 2009]
- Removed an extra png_debug() recently added to png_write_find_filter().
- Fixed incorrect #ifdef in pngset.c regarding unknown chunk support.
-
-version 1.2.40rc01 [September 2, 2009]
- Various bugfixes and improvements to CMakeLists.txt (Philip Lowman)
-
-version 1.2.40 and 1.0.49 [September 10, 2009]
- No changes.
-
-Send comments/corrections/commendations to png-mng-implement at lists.sf.net
-(subscription required; visit
-https://lists.sourceforge.net/lists/listinfo/png-mng-implement
-to subscribe)
-or to glennrp at users.sourceforge.net
-
-Glenn R-P
-*/
diff --git a/src/3rdparty/libpng/INSTALL b/src/3rdparty/libpng/INSTALL
deleted file mode 100644
index 2986ae3..0000000
--- a/src/3rdparty/libpng/INSTALL
+++ /dev/null
@@ -1,199 +0,0 @@
-
-Installing libpng version 1.2.40 - September 10, 2009
-
-On Unix/Linux and similar systems, you can simply type
-
- ./configure [--prefix=/path]
- make check
- make install
-
-and ignore the rest of this document.
-
-If configure does not work on your system and you have a reasonably
-up-to-date set of tools, running ./autogen.sh before running ./configure
-may fix the problem. You can also run the individual commands in
-autogen.sh with the --force option, if supported by your version of
-the tools. If you run 'libtoolize --force', though, this will replace
-the distributed, patched, version of ltmain.sh with an unpatched version
-and your shared library builds may fail to produce libraries with the
-correct version numbers.
-
-Instead, you can use one of the custom-built makefiles in the
-"scripts" directory
-
- cp scripts/makefile.system makefile
- make test
- make install
-
-Or you can use one of the "projects" in the "projects" directory.
-
-If you want to use "cmake" (see www.cmake.org), copy CMakeLists.txt
-from the "scripts" directory to this directory and type
-
- cmake . [-DPNG_MMX=YES] -DCMAKE_INSTALL_PREFIX=/path
- make
- make install
-
-Before installing libpng, you must first install zlib, if it
-is not already on your system. zlib can usually be found
-wherever you got libpng. zlib can be placed in another directory,
-at the same level as libpng.
-
-If your system already has a preinstalled zlib you will still need
-to have access to the zlib.h and zconf.h include files that
-correspond to the version of zlib that's installed.
-
-You can rename the directories that you downloaded (they
-might be called "libpng-1.2.40" or "lpng109" and "zlib-1.2.1"
-or "zlib121") so that you have directories called "zlib" and "libpng".
-
-Your directory structure should look like this:
-
- .. (the parent directory)
- libpng (this directory)
- INSTALL (this file)
- README
- *.h
- *.c
- contrib
- gregbook
- pngminus
- pngsuite
- visupng
- projects
- beos
- c5builder (Borland)
- visualc6 (msvc)
- netware.txt
- wince.txt
- scripts
- makefile.*
- pngtest.png
- etc.
- zlib
- README
- *.h
- *.c
- contrib
- etc.
-
-If the line endings in the files look funny, you may wish to get the other
-distribution of libpng. It is available in both tar.gz (UNIX style line
-endings) and zip (DOS style line endings) formats.
-
-If you are building libpng with MSVC, you can enter the
-libpng projects\visualc6 directory and follow the instructions in
-projects\visualc6\README.txt.
-
-You can build libpng for WindowsCE by downloading and installing
-the projects\wince directory as instructed in the projects\wince.txt file, and
-then following the instructions in the README* files. Similarly, you can
-build libpng for Netware or Beos as instructed in projects\netware.txt
-or projects\beos.
-
-Else enter the zlib directory and follow the instructions in zlib/README,
-then come back here and run "configure" or choose the appropriate
-makefile.sys in the scripts directory.
-
-The files that are presently available in the scripts directory
-include
-
- CMakeLists.txt => "cmake" script
- makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
- makefile.elf => Linux/ELF makefile symbol versioning,
- gcc, creates libpng12.so.0.1.2.40)
- makefile.linux => Linux/ELF makefile
- (gcc, creates libpng12.so.0.1.2.40)
- makefile.gcc => Generic makefile (gcc, creates static libpng.a)
- makefile.knr => Archaic UNIX Makefile that converts files with
- ansi2knr (Requires ansi2knr.c from
- ftp://ftp.cs.wisc.edu/ghost)
- makefile.aix => AIX/gcc makefile
- makefile.cygwin => Cygwin/gcc makefile
- makefile.darwin => Darwin makefile, can use on MacosX
- makefile.dec => DEC Alpha UNIX makefile
- makefile.freebsd => FreeBSD makefile
- makefile.hpgcc => HPUX makefile using gcc
- makefile.hpux => HPUX (10.20 and 11.00) makefile
- makefile.hp64 => HPUX (10.20 and 11.00) makefile, 64-bit
- makefile.ibmc => IBM C/C++ version 3.x for Win32 and OS/2 (static)
- makefile.intel => Intel C/C++ version 4.0 and later
- libpng.icc => Project file for IBM VisualAge/C++ version 4.0 or later
- makefile.netbsd => NetBSD/cc makefile, uses PNGGCCRD, makes libpng.so.
- makefile.ne12bsd => NetBSD/cc makefile, uses PNGGCCRD,
- makes libpng12.so
- makefile.openbsd => OpenBSD makefile
- makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
- makefile.sggcc => Silicon Graphics (gcc,
- creates libpng12.so.0.1.2.40)
- makefile.sunos => Sun makefile
- makefile.solaris => Solaris 2.X makefile (gcc,
- creates libpng12.so.0.1.2.40)
- makefile.solaris-x86 => Solaris/intelMMX 2.X makefile (gcc,
- creates libpng12.so.0.1.2.40)
- makefile.so9 => Solaris 9 makefile (gcc,
- creates libpng12.so.0.1.2.40)
- makefile.32sunu => Sun Ultra 32-bit makefile
- makefile.64sunu => Sun Ultra 64-bit makefile
- makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
- makefile.mips => MIPS makefile
- makefile.acorn => Acorn makefile
- makefile.amiga => Amiga makefile
- smakefile.ppc => AMIGA smakefile for SAS C V6.58/7.00 PPC compiler
- (Requires SCOPTIONS, copied from scripts/SCOPTIONS.ppc)
- makefile.atari => Atari makefile
- makefile.beos => BEOS makefile for X86
- makefile.bor => Borland makefile (uses bcc)
- makefile.bc32 => 32-bit Borland C++ (all modules compiled in C mode)
- makefile.tc3 => Turbo C 3.0 makefile
- makefile.dj2 => DJGPP 2 makefile
- makefile.msc => Microsoft C makefile
- makefile.vcwin32 => makefile for Microsoft Visual C++ 4.0 and later
- makefile.os2 => OS/2 Makefile (gcc and emx, requires pngos2.def)
- pngos2.def => OS/2 module definition file used by makefile.os2
- makefile.watcom => Watcom 10a+ Makefile, 32-bit flat memory model
- makevms.com => VMS build script
- descrip.mms => VMS makefile for MMS or MMK
- SCOPTIONS.ppc => Used with smakefile.ppc
-
-Copy the file (or files) that you need from the
-scripts directory into this directory, for example
-
- MSDOS example: copy scripts\makefile.msc makefile
- UNIX example: cp scripts/makefile.std makefile
-
-Read the makefile to see if you need to change any source or
-target directories to match your preferences.
-
-Then read pngconf.h to see if you want to make any configuration
-changes.
-
-Then just run "make" which will create the libpng library in
-this directory and "make test" which will run a quick test that reads
-the "pngtest.png" file and writes a "pngout.png" file that should be
-identical to it. Look for "9782 zero samples" in the output of the
-test. For more confidence, you can run another test by typing
-"pngtest pngnow.png" and looking for "289 zero samples" in the output.
-Also, you can run "pngtest -m contrib/pngsuite/*.png" and compare
-your output with the result shown in contrib/pngsuite/README.
-
-Most of the makefiles will allow you to run "make install" to
-put the library in its final resting place (if you want to
-do that, run "make install" in the zlib directory first if necessary).
-Some also allow you to run "make test-installed" after you have
-run "make install".
-
-If you encounter a compiler error message complaining about the
-lines
- __png.h__ already includes setjmp.h;
- __dont__ include it again.;
-This means you have compiled another module that includes setjmp.h,
-which is hazardous because the two modules might not include exactly
-the same setjmp.h. If you are sure that you know what you are doing
-and that they are exactly the same, then you can comment out or
-delete the two lines. Better yet, use the cexcept interface
-instead, as demonstrated in contrib/visupng of the libpng distribution.
-
-Further information can be found in the README and libpng.txt
-files, in the individual makefiles, in png.h, and the manual pages
-libpng.3 and png.5.
diff --git a/src/3rdparty/libpng/KNOWNBUG b/src/3rdparty/libpng/KNOWNBUG
deleted file mode 100644
index 5e0c96f..0000000
--- a/src/3rdparty/libpng/KNOWNBUG
+++ /dev/null
@@ -1,22 +0,0 @@
-
-Known bugs in libpng version 1.2.40
-
-1. February 23, 2006: The custom makefiles don't build libpng with -lz.
-
- STATUS: This is a subject of debate. The change will probably be made
- as a part of a major overhaul of the makefiles in libpng version 1.4.0.
-
-2. February 24, 2006: The Makefile generated by the "configure" script
- fails to install symbolic links
- libpng12.so => libpng12.so.0.1.2.9betaN
- that are generated by the custom makefiles.
-
-3. September 4, 2007: There is a report that pngtest crashes on MacOS 10.
-
- STATUS: workarounds are
- 1) Compile without optimization (crashes are observed with
- -arch i386 and -O2 or -O3, using gcc-4.0.1).
- 2) Compile pngtest.c with PNG_DEBUG defined (the bug goes away if
- you try to look at it).
- 3) Ignore the crash. The library itself seems to be OK.
-
diff --git a/src/3rdparty/libpng/LICENSE b/src/3rdparty/libpng/LICENSE
deleted file mode 100644
index 93dd04a..0000000
--- a/src/3rdparty/libpng/LICENSE
+++ /dev/null
@@ -1,111 +0,0 @@
-
-This copy of the libpng notices is provided for your convenience. In case of
-any discrepancy between this copy and the notices in the file png.h that is
-included in the libpng distribution, the latter shall prevail.
-
-COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
-
-If you modify libpng you may insert additional notices immediately following
-this sentence.
-
-This code is released under the libpng license.
-
-libpng versions 1.2.6, August 15, 2004, through 1.2.40, September 10, 2009, are
-Copyright (c) 2004, 2006-2009 Glenn Randers-Pehrson, and are
-distributed according to the same disclaimer and license as libpng-1.2.5
-with the following individual added to the list of Contributing Authors
-
- Cosmin Truta
-
-libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are
-Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
-distributed according to the same disclaimer and license as libpng-1.0.6
-with the following individuals added to the list of Contributing Authors
-
- Simon-Pierre Cadieux
- Eric S. Raymond
- Gilles Vollant
-
-and with the following additions to the disclaimer:
-
- There is no warranty against interference with your enjoyment of the
- library or against infringement. There is no warranty that our
- efforts or the library will fulfill any of your particular purposes
- or needs. This library is provided with all faults, and the entire
- risk of satisfactory quality, performance, accuracy, and effort is with
- the user.
-
-libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
-Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are
-distributed according to the same disclaimer and license as libpng-0.96,
-with the following individuals added to the list of Contributing Authors:
-
- Tom Lane
- Glenn Randers-Pehrson
- Willem van Schaik
-
-libpng versions 0.89, June 1996, through 0.96, May 1997, are
-Copyright (c) 1996, 1997 Andreas Dilger
-Distributed according to the same disclaimer and license as libpng-0.88,
-with the following individuals added to the list of Contributing Authors:
-
- John Bowler
- Kevin Bracey
- Sam Bushell
- Magnus Holmgren
- Greg Roelofs
- Tom Tanner
-
-libpng versions 0.5, May 1995, through 0.88, January 1996, are
-Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
-
-For the purposes of this copyright and license, "Contributing Authors"
-is defined as the following set of individuals:
-
- Andreas Dilger
- Dave Martindale
- Guy Eric Schalnat
- Paul Schmidt
- Tim Wegner
-
-The PNG Reference Library is supplied "AS IS". The Contributing Authors
-and Group 42, Inc. disclaim all warranties, expressed or implied,
-including, without limitation, the warranties of merchantability and of
-fitness for any purpose. The Contributing Authors and Group 42, Inc.
-assume no liability for direct, indirect, incidental, special, exemplary,
-or consequential damages, which may result from the use of the PNG
-Reference Library, even if advised of the possibility of such damage.
-
-Permission is hereby granted to use, copy, modify, and distribute this
-source code, or portions hereof, for any purpose, without fee, subject
-to the following restrictions:
-
-1. The origin of this source code must not be misrepresented.
-
-2. Altered versions must be plainly marked as such and must not
- be misrepresented as being the original source.
-
-3. This Copyright notice may not be removed or altered from any
- source or altered source distribution.
-
-The Contributing Authors and Group 42, Inc. specifically permit, without
-fee, and encourage the use of this source code as a component to
-supporting the PNG file format in commercial products. If you use this
-source code in a product, acknowledgment is not required but would be
-appreciated.
-
-
-A "png_get_copyright" function is available, for convenient use in "about"
-boxes and the like:
-
- printf("%s",png_get_copyright(NULL));
-
-Also, the PNG logo (in PNG format, of course) is supplied in the
-files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
-
-Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a
-certification mark of the Open Source Initiative.
-
-Glenn Randers-Pehrson
-glennrp at users.sourceforge.net
-September 10, 2009
diff --git a/src/3rdparty/libpng/README b/src/3rdparty/libpng/README
deleted file mode 100644
index 171b65a..0000000
--- a/src/3rdparty/libpng/README
+++ /dev/null
@@ -1,267 +0,0 @@
-README for libpng version 1.2.40 - September 10, 2009 (shared library 12.0)
-See the note about version numbers near the top of png.h
-
-See INSTALL for instructions on how to install libpng.
-
-Libpng comes in several distribution formats. Get libpng-*.tar.gz,
-libpng-*.tar.lzma, or libpng-*.tar.bz2 if you want UNIX-style line
-endings in the text files, or lpng*.7z or lpng*.zip if you want DOS-style
-line endings. You can get UNIX-style line endings from the *.zip file
-by using "unzip -a" but there seems to be no simple way to recover
-UNIX-style line endings from the *.7z file. The *.tar.lzma file is
-recommended for *NIX users instead.
-
-Version 0.89 was the first official release of libpng. Don't let the
-fact that it's the first release fool you. The libpng library has been in
-extensive use and testing since mid-1995. By late 1997 it had
-finally gotten to the stage where there hadn't been significant
-changes to the API in some time, and people have a bad feeling about
-libraries with versions < 1.0. Version 1.0.0 was released in
-March 1998.
-
-****
-Note that some of the changes to the png_info structure render this
-version of the library binary incompatible with libpng-0.89 or
-earlier versions if you are using a shared library. The type of the
-"filler" parameter for png_set_filler() has changed from png_byte to
-png_uint_32, which will affect shared-library applications that use
-this function.
-
-To avoid problems with changes to the internals of png_info_struct,
-new APIs have been made available in 0.95 to avoid direct application
-access to info_ptr. These functions are the png_set_<chunk> and
-png_get_<chunk> functions. These functions should be used when
-accessing/storing the info_struct data, rather than manipulating it
-directly, to avoid such problems in the future.
-
-It is important to note that the APIs do not make current programs
-that access the info struct directly incompatible with the new
-library. However, it is strongly suggested that new programs use
-the new APIs (as shown in example.c and pngtest.c), and older programs
-be converted to the new format, to facilitate upgrades in the future.
-****
-
-Additions since 0.90 include the ability to compile libpng as a
-Windows DLL, and new APIs for accessing data in the info struct.
-Experimental functions include the ability to set weighting and cost
-factors for row filter selection, direct reads of integers from buffers
-on big-endian processors that support misaligned data access, faster
-methods of doing alpha composition, and more accurate 16->8 bit color
-conversion.
-
-The additions since 0.89 include the ability to read from a PNG stream
-which has had some (or all) of the signature bytes read by the calling
-application. This also allows the reading of embedded PNG streams that
-do not have the PNG file signature. As well, it is now possible to set
-the library action on the detection of chunk CRC errors. It is possible
-to set different actions based on whether the CRC error occurred in a
-critical or an ancillary chunk.
-
-The changes made to the library, and bugs fixed are based on discussions
-on the png-mng-implement mailing list
-and not on material submitted privately to Guy, Andreas, or Glenn. They will
-forward any good suggestions to the list.
-
-For a detailed description on using libpng, read libpng.txt. For
-examples of libpng in a program, see example.c and pngtest.c. For usage
-information and restrictions (what little they are) on libpng, see
-png.h. For a description on using zlib (the compression library used by
-libpng) and zlib's restrictions, see zlib.h
-
-I have included a general makefile, as well as several machine and
-compiler specific ones, but you may have to modify one for your own needs.
-
-You should use zlib 1.0.4 or later to run this, but it MAY work with
-versions as old as zlib 0.95. Even so, there are bugs in older zlib
-versions which can cause the output of invalid compression streams for
-some images. You will definitely need zlib 1.0.4 or later if you are
-taking advantage of the MS-DOS "far" structure allocation for the small
-and medium memory models. You should also note that zlib is a
-compression library that is useful for more things than just PNG files.
-You can use zlib as a drop-in replacement for fread() and fwrite() if
-you are so inclined.
-
-zlib should be available at the same place that libpng is, or at
-ftp://ftp.simplesystems.org/pub/png/src/
-
-You may also want a copy of the PNG specification. It is available
-as an RFC, a W3C Recommendation, and an ISO/IEC Standard. You can find
-these at http://www.libpng.org/pub/png/pngdocs.html
-
-This code is currently being archived at libpng.sf.net in the
-[DOWNLOAD] area, and on CompuServe, Lib 20 (PNG SUPPORT)
-at GO GRAPHSUP. If you can't find it in any of those places,
-e-mail me, and I'll help you find it.
-
-If you have any code changes, requests, problems, etc., please e-mail
-them to me. Also, I'd appreciate any make files or project files,
-and any modifications you needed to make to get libpng to compile,
-along with a #define variable to tell what compiler/system you are on.
-If you needed to add transformations to libpng, or wish libpng would
-provide the image in a different way, drop me a note (and code, if
-possible), so I can consider supporting the transformation.
-Finally, if you get any warning messages when compiling libpng
-(note: not zlib), and they are easy to fix, I'd appreciate the
-fix. Please mention "libpng" somewhere in the subject line. Thanks.
-
-This release was created and will be supported by myself (of course
-based in a large way on Guy's and Andreas' earlier work), and the PNG group.
-
-Send comments/corrections/commendations to png-mng-implement at lists.sf.net
-(subscription required; visit
-https://lists.sourceforge.net/lists/listinfo/png-mng-implement
-to subscribe) or to glennrp at users.sourceforge.net
-
-You can't reach Guy, the original libpng author, at the addresses
-given in previous versions of this document. He and Andreas will read mail
-addressed to the png-mng-implement list, however.
-
-Please do not send general questions about PNG. Send them to
-the (png-mng-misc at lists.sourceforge.net, subscription required, visit
-https://lists.sourceforge.net/lists/listinfo/png-mng-implement to subscribe)
-On the other hand,
-please do not send libpng questions to that address, send them to me
-or to the png-mng-implement list. I'll
-get them in the end anyway. If you have a question about something
-in the PNG specification that is related to using libpng, send it
-to me. Send me any questions that start with "I was using libpng,
-and ...". If in doubt, send questions to me. I'll bounce them
-to others, if necessary.
-
-Please do not send suggestions on how to change PNG. We have
-been discussing PNG for twelve years now, and it is official and
-finished. If you have suggestions for libpng, however, I'll
-gladly listen. Even if your suggestion is not used immediately,
-it may be used later.
-
-Files in this distribution:
-
- ANNOUNCE => Announcement of this version, with recent changes
- CHANGES => Description of changes between libpng versions
- KNOWNBUG => List of known bugs and deficiencies
- LICENSE => License to use and redistribute libpng
- README => This file
- TODO => Things not implemented in the current library
- Y2KINFO => Statement of Y2K compliance
- example.c => Example code for using libpng functions
- libpng-*-*-diff.txt => Diff from previous release
- libpng.3 => manual page for libpng (includes libpng.txt)
- libpng.txt => Description of libpng and its functions
- libpngpf.3 => manual page for libpng's private functions
- png.5 => manual page for the PNG format
- png.c => Basic interface functions common to library
- png.h => Library function and interface declarations
- pngconf.h => System specific library configuration
- pngerror.c => Error/warning message I/O functions
- pngget.c => Functions for retrieving info from struct
- pngmem.c => Memory handling functions
- pngbar.png => PNG logo, 88x31
- pngnow.png => PNG logo, 98x31
- pngpread.c => Progressive reading functions
- pngread.c => Read data/helper high-level functions
- pngrio.c => Lowest-level data read I/O functions
- pngrtran.c => Read data transformation functions
- pngrutil.c => Read data utility functions
- pngset.c => Functions for storing data into the info_struct
- pngtest.c => Library test program
- pngtest.png => Library test sample image
- pngtrans.c => Common data transformation functions
- pngwio.c => Lowest-level write I/O functions
- pngwrite.c => High-level write functions
- pngwtran.c => Write data transformations
- pngwutil.c => Write utility functions
- contrib => Contributions
- gregbook => source code for PNG reading and writing, from
- Greg Roelofs' "PNG: The Definitive Guide",
- O'Reilly, 1999
- msvctest => Builds and runs pngtest using a MSVC workspace
- pngminus => Simple pnm2png and png2pnm programs
- pngsuite => Test images
- visupng => Contains a MSVC workspace for VisualPng
- projects => Contains project files and workspaces for building DLL
- beos => Contains a Beos workspace for building libpng
- c5builder => Contains a Borland workspace for building libpng
- and zlib
- visualc6 => Contains a Microsoft Visual C++ (MSVC) workspace
- for building libpng and zlib
- netware.txt => Contains instructions for downloading a set of
- project files for building libpng and zlib on
- Netware.
- wince.txt => Contains instructions for downloading a Microsoft
- Visual C++ (Windows CD Toolkit) workspace for
- building libpng and zlib on WindowsCE
- scripts => Directory containing scripts for building libpng:
- descrip.mms => VMS makefile for MMS or MMK
- makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
- makefile.elf => Linux/ELF makefile symbol versioning,
- gcc, creates libpng12.so.0.1.2.40)
- makefile.linux => Linux/ELF makefile
- (gcc, creates libpng12.so.0.1.2.40)
- makefile.gcmmx => Linux/ELF makefile
- (gcc, creates libpng12.so.0.1.2.40,
- uses assembler code tuned for Intel MMX platform)
- makefile.gcc => Generic makefile (gcc, creates static libpng.a)
- makefile.knr => Archaic UNIX Makefile that converts files with
- ansi2knr (Requires ansi2knr.c from
- ftp://ftp.cs.wisc.edu/ghost)
- makefile.aix => AIX makefile
- makefile.cygwin => Cygwin/gcc makefile
- makefile.darwin => Darwin makefile
- makefile.dec => DEC Alpha UNIX makefile
- makefile.freebsd => FreeBSD makefile
- makefile.hpgcc => HPUX makefile using gcc
- makefile.hpux => HPUX (10.20 and 11.00) makefile
- makefile.hp64 => HPUX (10.20 and 11.00) makefile, 64 bit
- makefile.ibmc => IBM C/C++ version 3.x for Win32 and OS/2 (static)
- makefile.intel => Intel C/C++ version 4.0 and later
- libpng.icc => Project file, IBM VisualAge/C++ 4.0 or later
- makefile.netbsd => NetBSD/cc makefile, PNGGCCRD, makes libpng.so.
- makefile.ne12bsd => NetBSD/cc makefile, PNGGCCRD, makes libpng12.so
- makefile.openbsd => OpenBSD makefile
- makefile.sgi => Silicon Graphics IRIX (cc, creates static lib)
- makefile.sggcc => Silicon Graphics
- (gcc, creates libpng12.so.0.1.2.40)
- makefile.sunos => Sun makefile
- makefile.solaris => Solaris 2.X makefile
- (gcc, creates libpng12.so.0.1.2.40)
- makefile.so9 => Solaris 9 makefile
- (gcc, creates libpng12.so.0.1.2.40)
- makefile.32sunu => Sun Ultra 32-bit makefile
- makefile.64sunu => Sun Ultra 64-bit makefile
- makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
- makefile.mips => MIPS makefile
- makefile.acorn => Acorn makefile
- makefile.amiga => Amiga makefile
- smakefile.ppc => AMIGA smakefile for SAS C V6.58/7.00 PPC
- compiler (Requires SCOPTIONS, copied from
- scripts/SCOPTIONS.ppc)
- makefile.atari => Atari makefile
- makefile.beos => BEOS makefile for X86
- makefile.bor => Borland makefile (uses bcc)
- makefile.bc32 => 32-bit Borland C++ (all modules compiled in C mode)
- makefile.tc3 => Turbo C 3.0 makefile
- makefile.dj2 => DJGPP 2 makefile
- makefile.msc => Microsoft C makefile
- makefile.vcawin32=> makefile for Microsoft Visual C++ 5.0 and
- later (uses assembler code tuned for Intel MMX
- platform)
- makefile.vcwin32 => makefile for Microsoft Visual C++ 4.0 and
- later (does not use assembler code)
- makefile.os2 => OS/2 Makefile (gcc and emx, requires pngos2.def)
- pngos2.def => OS/2 module definition file used by makefile.os2
- makefile.watcom => Watcom 10a+ Makefile, 32-bit flat memory model
- makevms.com => VMS build script
- SCOPTIONS.ppc => Used with smakefile.ppc
-
-Good luck, and happy coding.
-
--Glenn Randers-Pehrson (current maintainer)
- Internet: glennrp at users.sourceforge.net
-
--Andreas Eric Dilger (former maintainer, 1996-1997)
- Internet: adilger at enel.ucalgary.ca
- Web: http://members.shaw.ca/adilger/
-
--Guy Eric Schalnat (original author and former maintainer, 1995-1996)
- (formerly of Group 42, Inc)
- Internet: gschal at infinet.com
diff --git a/src/3rdparty/libpng/TODO b/src/3rdparty/libpng/TODO
deleted file mode 100644
index face765..0000000
--- a/src/3rdparty/libpng/TODO
+++ /dev/null
@@ -1,25 +0,0 @@
-TODO - list of things to do for libpng:
-
-Final bug fixes.
-Improve API by hiding the png_struct and png_info structs.
-Finish work on the no-floating-point version (including gamma compensation)
-Better C++ wrapper/full C++ implementation?
-Fix problem with C++ and EXTERN "C".
-cHRM transformation.
-Improve setjmp/longjmp usage or remove it in favor of returning error codes.
-Add "grayscale->palette" transformation and "palette->grayscale" detection.
-Improved dithering.
-Multi-lingual error and warning message support.
-Complete sRGB transformation (presently it simply uses gamma=0.45455).
-Man pages for function calls.
-Better documentation.
-Better filter selection
- (counting huffman bits/precompression? filter inertia? filter costs?).
-Histogram creation.
-Text conversion between different code pages (Latin-1 -> Mac and DOS).
-Should we always malloc 2^bit_depth PLTE/tRNS/hIST entries for safety?
-Build gamma tables using fixed point (and do away with floating point entirely).
-Use greater precision when changing to linear gamma for compositing against
- background and doing rgb-to-gray transformation.
-Investigate pre-incremented loop counters and other loop constructions.
-Add interpolated method of handling interlacing.
diff --git a/src/3rdparty/libpng/Y2KINFO b/src/3rdparty/libpng/Y2KINFO
deleted file mode 100644
index e31bb7f..0000000
--- a/src/3rdparty/libpng/Y2KINFO
+++ /dev/null
@@ -1,55 +0,0 @@
- Y2K compliance in libpng:
- =========================
-
- September 10, 2009
-
- Since the PNG Development group is an ad-hoc body, we can't make
- an official declaration.
-
- This is your unofficial assurance that libpng from version 0.71 and
- upward through 1.2.40 are Y2K compliant. It is my belief that earlier
- versions were also Y2K compliant.
-
- Libpng only has three year fields. One is a 2-byte unsigned integer
- that will hold years up to 65535. The other two hold the date in text
- format, and will hold years up to 9999.
-
- The integer is
- "png_uint_16 year" in png_time_struct.
-
- The strings are
- "png_charp time_buffer" in png_struct and
- "near_time_buffer", which is a local character string in png.c.
-
- There are seven time-related functions:
-
- png_convert_to_rfc_1123() in png.c
- (formerly png_convert_to_rfc_1152() in error)
- png_convert_from_struct_tm() in pngwrite.c, called in pngwrite.c
- png_convert_from_time_t() in pngwrite.c
- png_get_tIME() in pngget.c
- png_handle_tIME() in pngrutil.c, called in pngread.c
- png_set_tIME() in pngset.c
- png_write_tIME() in pngwutil.c, called in pngwrite.c
-
- All appear to handle dates properly in a Y2K environment. The
- png_convert_from_time_t() function calls gmtime() to convert from system
- clock time, which returns (year - 1900), which we properly convert to
- the full 4-digit year. There is a possibility that applications using
- libpng are not passing 4-digit years into the png_convert_to_rfc_1123()
- function, or that they are incorrectly passing only a 2-digit year
- instead of "year - 1900" into the png_convert_from_struct_tm() function,
- but this is not under our control. The libpng documentation has always
- stated that it works with 4-digit years, and the APIs have been
- documented as such.
-
- The tIME chunk itself is also Y2K compliant. It uses a 2-byte unsigned
- integer to hold the year, and can hold years as large as 65535.
-
- zlib, upon which libpng depends, is also Y2K compliant. It contains
- no date-related code.
-
-
- Glenn Randers-Pehrson
- libpng maintainer
- PNG Development Group
diff --git a/src/3rdparty/libpng/configure b/src/3rdparty/libpng/configure
deleted file mode 100755
index 4871efc..0000000
--- a/src/3rdparty/libpng/configure
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-echo "
- There is no \"configure\" script in this distribution of
- libpng-1.2.40.
-
- Instead, please copy the appropriate makefile for your system from the
- \"scripts\" directory. Read the INSTALL file for more details.
-
- Update, July 2004: you can get a \"configure\" based distribution
- from the libpng distribution sites. Download the file
- libpng-1.2.40.tar.gz, libpng-1.2.40.tar.lzma, or libpng-1.2.40.tar.bz2
-"
-
diff --git a/src/3rdparty/libpng/example.c b/src/3rdparty/libpng/example.c
deleted file mode 100644
index dcf38de..0000000
--- a/src/3rdparty/libpng/example.c
+++ /dev/null
@@ -1,835 +0,0 @@
-
-#if 0 /* in case someone actually tries to compile this */
-
-/* example.c - an example of using libpng
- * Last changed in libpng 1.2.37 [June 4, 2009]
- * This file has been placed in the public domain by the authors.
- * Maintained 1998-2009 Glenn Randers-Pehrson
- * Maintained 1996, 1997 Andreas Dilger)
- * Written 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
- */
-
-/* This is an example of how to use libpng to read and write PNG files.
- * The file libpng.txt is much more verbose then this. If you have not
- * read it, do so first. This was designed to be a starting point of an
- * implementation. This is not officially part of libpng, is hereby placed
- * in the public domain, and therefore does not require a copyright notice.
- *
- * This file does not currently compile, because it is missing certain
- * parts, like allocating memory to hold an image. You will have to
- * supply these parts to get it to compile. For an example of a minimal
- * working PNG reader/writer, see pngtest.c, included in this distribution;
- * see also the programs in the contrib directory.
- */
-
-#include "png.h"
-
- /* The png_jmpbuf() macro, used in error handling, became available in
- * libpng version 1.0.6. If you want to be able to run your code with older
- * versions of libpng, you must define the macro yourself (but only if it
- * is not already defined by libpng!).
- */
-
-#ifndef png_jmpbuf
-# define png_jmpbuf(png_ptr) ((png_ptr)->jmpbuf)
-#endif
-
-/* Check to see if a file is a PNG file using png_sig_cmp(). png_sig_cmp()
- * returns zero if the image is a PNG and nonzero if it isn't a PNG.
- *
- * The function check_if_png() shown here, but not used, returns nonzero (true)
- * if the file can be opened and is a PNG, 0 (false) otherwise.
- *
- * If this call is successful, and you are going to keep the file open,
- * you should call png_set_sig_bytes(png_ptr, PNG_BYTES_TO_CHECK); once
- * you have created the png_ptr, so that libpng knows your application
- * has read that many bytes from the start of the file. Make sure you
- * don't call png_set_sig_bytes() with more than 8 bytes read or give it
- * an incorrect number of bytes read, or you will either have read too
- * many bytes (your fault), or you are telling libpng to read the wrong
- * number of magic bytes (also your fault).
- *
- * Many applications already read the first 2 or 4 bytes from the start
- * of the image to determine the file type, so it would be easiest just
- * to pass the bytes to png_sig_cmp() or even skip that if you know
- * you have a PNG file, and call png_set_sig_bytes().
- */
-#define PNG_BYTES_TO_CHECK 4
-int check_if_png(char *file_name, FILE **fp)
-{
- char buf[PNG_BYTES_TO_CHECK];
-
- /* Open the prospective PNG file. */
- if ((*fp = fopen(file_name, "rb")) == NULL)
- return 0;
-
- /* Read in some of the signature bytes */
- if (fread(buf, 1, PNG_BYTES_TO_CHECK, *fp) != PNG_BYTES_TO_CHECK)
- return 0;
-
- /* Compare the first PNG_BYTES_TO_CHECK bytes of the signature.
- Return nonzero (true) if they match */
-
- return(!png_sig_cmp(buf, (png_size_t)0, PNG_BYTES_TO_CHECK));
-}
-
-/* Read a PNG file. You may want to return an error code if the read
- * fails (depending upon the failure). There are two "prototypes" given
- * here - one where we are given the filename, and we need to open the
- * file, and the other where we are given an open file (possibly with
- * some or all of the magic bytes read - see comments above).
- */
-#ifdef open_file /* prototype 1 */
-void read_png(char *file_name) /* We need to open the file */
-{
- png_structp png_ptr;
- png_infop info_ptr;
- unsigned int sig_read = 0;
- png_uint_32 width, height;
- int bit_depth, color_type, interlace_type;
- FILE *fp;
-
- if ((fp = fopen(file_name, "rb")) == NULL)
- return (ERROR);
-
-#else no_open_file /* prototype 2 */
-void read_png(FILE *fp, unsigned int sig_read) /* File is already open */
-{
- png_structp png_ptr;
- png_infop info_ptr;
- png_uint_32 width, height;
- int bit_depth, color_type, interlace_type;
-#endif no_open_file /* Only use one prototype! */
-
- /* Create and initialize the png_struct with the desired error handler
- * functions. If you want to use the default stderr and longjump method,
- * you can supply NULL for the last three parameters. We also supply the
- * the compiler header file version, so that we know if the application
- * was compiled with a compatible version of the library. REQUIRED
- */
- png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING,
- png_voidp user_error_ptr, user_error_fn, user_warning_fn);
-
- if (png_ptr == NULL)
- {
- fclose(fp);
- return (ERROR);
- }
-
- /* Allocate/initialize the memory for image information. REQUIRED. */
- info_ptr = png_create_info_struct(png_ptr);
- if (info_ptr == NULL)
- {
- fclose(fp);
- png_destroy_read_struct(&png_ptr, png_infopp_NULL, png_infopp_NULL);
- return (ERROR);
- }
-
- /* Set error handling if you are using the setjmp/longjmp method (this is
- * the normal method of doing things with libpng). REQUIRED unless you
- * set up your own error handlers in the png_create_read_struct() earlier.
- */
-
- if (setjmp(png_jmpbuf(png_ptr)))
- {
- /* Free all of the memory associated with the png_ptr and info_ptr */
- png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
- fclose(fp);
- /* If we get here, we had a problem reading the file */
- return (ERROR);
- }
-
- /* One of the following I/O initialization methods is REQUIRED */
-#ifdef streams /* PNG file I/O method 1 */
- /* Set up the input control if you are using standard C streams */
- png_init_io(png_ptr, fp);
-
-#else no_streams /* PNG file I/O method 2 */
- /* If you are using replacement read functions, instead of calling
- * png_init_io() here you would call:
- */
- png_set_read_fn(png_ptr, (void *)user_io_ptr, user_read_fn);
- /* where user_io_ptr is a structure you want available to the callbacks */
-#endif no_streams /* Use only one I/O method! */
-
- /* If we have already read some of the signature */
- png_set_sig_bytes(png_ptr, sig_read);
-
-#ifdef hilevel
- /*
- * If you have enough memory to read in the entire image at once,
- * and you need to specify only transforms that can be controlled
- * with one of the PNG_TRANSFORM_* bits (this presently excludes
- * dithering, filling, setting background, and doing gamma
- * adjustment), then you can read the entire image (including
- * pixels) into the info structure with this call:
- */
- png_read_png(png_ptr, info_ptr, png_transforms, png_voidp_NULL);
-
-#else
- /* OK, you're doing it the hard way, with the lower-level functions */
-
- /* The call to png_read_info() gives us all of the information from the
- * PNG file before the first IDAT (image data chunk). REQUIRED
- */
- png_read_info(png_ptr, info_ptr);
-
- png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type,
- &interlace_type, int_p_NULL, int_p_NULL);
-
- /* Set up the data transformations you want. Note that these are all
- * optional. Only call them if you want/need them. Many of the
- * transformations only work on specific types of images, and many
- * are mutually exclusive.
- */
-
- /* Tell libpng to strip 16 bit/color files down to 8 bits/color */
- png_set_strip_16(png_ptr);
-
- /* Strip alpha bytes from the input data without combining with the
- * background (not recommended).
- */
- png_set_strip_alpha(png_ptr);
-
- /* Extract multiple pixels with bit depths of 1, 2, and 4 from a single
- * byte into separate bytes (useful for paletted and grayscale images).
- */
- png_set_packing(png_ptr);
-
- /* Change the order of packed pixels to least significant bit first
- * (not useful if you are using png_set_packing). */
- png_set_packswap(png_ptr);
-
- /* Expand paletted colors into true RGB triplets */
- if (color_type == PNG_COLOR_TYPE_PALETTE)
- png_set_palette_to_rgb(png_ptr);
-
- /* Expand grayscale images to the full 8 bits from 1, 2, or 4 bits/pixel */
- if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8)
- png_set_expand_gray_1_2_4_to_8(png_ptr);
-
- /* Expand paletted or RGB images with transparency to full alpha channels
- * so the data will be available as RGBA quartets.
- */
- if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS))
- png_set_tRNS_to_alpha(png_ptr);
-
- /* Set the background color to draw transparent and alpha images over.
- * It is possible to set the red, green, and blue components directly
- * for paletted images instead of supplying a palette index. Note that
- * even if the PNG file supplies a background, you are not required to
- * use it - you should use the (solid) application background if it has one.
- */
-
- png_color_16 my_background, *image_background;
-
- if (png_get_bKGD(png_ptr, info_ptr, &image_background))
- png_set_background(png_ptr, image_background,
- PNG_BACKGROUND_GAMMA_FILE, 1, 1.0);
- else
- png_set_background(png_ptr, &my_background,
- PNG_BACKGROUND_GAMMA_SCREEN, 0, 1.0);
-
- /* Some suggestions as to how to get a screen gamma value
- *
- * Note that screen gamma is the display_exponent, which includes
- * the CRT_exponent and any correction for viewing conditions
- */
- if (/* We have a user-defined screen gamma value */)
- {
- screen_gamma = user-defined screen_gamma;
- }
- /* This is one way that applications share the same screen gamma value */
- else if ((gamma_str = getenv("SCREEN_GAMMA")) != NULL)
- {
- screen_gamma = atof(gamma_str);
- }
- /* If we don't have another value */
- else
- {
- screen_gamma = 2.2; /* A good guess for a PC monitor in a dimly
- lit room */
- screen_gamma = 1.7 or 1.0; /* A good guess for Mac systems */
- }
-
- /* Tell libpng to handle the gamma conversion for you. The final call
- * is a good guess for PC generated images, but it should be configurable
- * by the user at run time by the user. It is strongly suggested that
- * your application support gamma correction.
- */
-
- int intent;
-
- if (png_get_sRGB(png_ptr, info_ptr, &intent))
- png_set_gamma(png_ptr, screen_gamma, 0.45455);
- else
- {
- double image_gamma;
- if (png_get_gAMA(png_ptr, info_ptr, &image_gamma))
- png_set_gamma(png_ptr, screen_gamma, image_gamma);
- else
- png_set_gamma(png_ptr, screen_gamma, 0.45455);
- }
-
- /* Dither RGB files down to 8 bit palette or reduce palettes
- * to the number of colors available on your screen.
- */
- if (color_type & PNG_COLOR_MASK_COLOR)
- {
- int num_palette;
- png_colorp palette;
-
- /* This reduces the image to the application supplied palette */
- if (/* We have our own palette */)
- {
- /* An array of colors to which the image should be dithered */
- png_color std_color_cube[MAX_SCREEN_COLORS];
-
- png_set_dither(png_ptr, std_color_cube, MAX_SCREEN_COLORS,
- MAX_SCREEN_COLORS, png_uint_16p_NULL, 0);
- }
- /* This reduces the image to the palette supplied in the file */
- else if (png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette))
- {
- png_uint_16p histogram = NULL;
-
- png_get_hIST(png_ptr, info_ptr, &histogram);
-
- png_set_dither(png_ptr, palette, num_palette,
- max_screen_colors, histogram, 0);
- }
- }
-
- /* Invert monochrome files to have 0 as white and 1 as black */
- png_set_invert_mono(png_ptr);
-
- /* If you want to shift the pixel values from the range [0,255] or
- * [0,65535] to the original [0,7] or [0,31], or whatever range the
- * colors were originally in:
- */
- if (png_get_valid(png_ptr, info_ptr, PNG_INFO_sBIT))
- {
- png_color_8p sig_bit_p;
-
- png_get_sBIT(png_ptr, info_ptr, &sig_bit_p);
- png_set_shift(png_ptr, sig_bit_p);
- }
-
- /* Flip the RGB pixels to BGR (or RGBA to BGRA) */
- if (color_type & PNG_COLOR_MASK_COLOR)
- png_set_bgr(png_ptr);
-
- /* Swap the RGBA or GA data to ARGB or AG (or BGRA to ABGR) */
- png_set_swap_alpha(png_ptr);
-
- /* Swap bytes of 16 bit files to least significant byte first */
- png_set_swap(png_ptr);
-
- /* Add filler (or alpha) byte (before/after each RGB triplet) */
- png_set_filler(png_ptr, 0xff, PNG_FILLER_AFTER);
-
- /* Turn on interlace handling. REQUIRED if you are not using
- * png_read_image(). To see how to handle interlacing passes,
- * see the png_read_row() method below:
- */
- number_passes = png_set_interlace_handling(png_ptr);
-
- /* Optional call to gamma correct and add the background to the palette
- * and update info structure. REQUIRED if you are expecting libpng to
- * update the palette for you (ie you selected such a transform above).
- */
- png_read_update_info(png_ptr, info_ptr);
-
- /* Allocate the memory to hold the image using the fields of info_ptr. */
-
- /* The easiest way to read the image: */
- png_bytep row_pointers[height];
-
- /* Clear the pointer array */
- for (row = 0; row < height; row++)
- row_pointers[row] = NULL;
-
- for (row = 0; row < height; row++)
- row_pointers[row] = png_malloc(png_ptr, png_get_rowbytes(png_ptr,
- info_ptr));
-
- /* Now it's time to read the image. One of these methods is REQUIRED */
-#ifdef entire /* Read the entire image in one go */
- png_read_image(png_ptr, row_pointers);
-
-#else no_entire /* Read the image one or more scanlines at a time */
- /* The other way to read images - deal with interlacing: */
-
- for (pass = 0; pass < number_passes; pass++)
- {
-#ifdef single /* Read the image a single row at a time */
- for (y = 0; y < height; y++)
- {
- png_read_rows(png_ptr, &row_pointers[y], png_bytepp_NULL, 1);
- }
-
-#else no_single /* Read the image several rows at a time */
- for (y = 0; y < height; y += number_of_rows)
- {
-#ifdef sparkle /* Read the image using the "sparkle" effect. */
- png_read_rows(png_ptr, &row_pointers[y], png_bytepp_NULL,
- number_of_rows);
-#else no_sparkle /* Read the image using the "rectangle" effect */
- png_read_rows(png_ptr, png_bytepp_NULL, &row_pointers[y],
- number_of_rows);
-#endif no_sparkle /* Use only one of these two methods */
- }
-
- /* If you want to display the image after every pass, do so here */
-#endif no_single /* Use only one of these two methods */
- }
-#endif no_entire /* Use only one of these two methods */
-
- /* Read rest of file, and get additional chunks in info_ptr - REQUIRED */
- png_read_end(png_ptr, info_ptr);
-#endif hilevel
-
- /* At this point you have read the entire image */
-
- /* Clean up after the read, and free any memory allocated - REQUIRED */
- png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
-
- /* Close the file */
- fclose(fp);
-
- /* That's it */
- return (OK);
-}
-
-/* Progressively read a file */
-
-int
-initialize_png_reader(png_structp *png_ptr, png_infop *info_ptr)
-{
- /* Create and initialize the png_struct with the desired error handler
- * functions. If you want to use the default stderr and longjump method,
- * you can supply NULL for the last three parameters. We also check that
- * the library version is compatible in case we are using dynamically
- * linked libraries.
- */
- *png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING,
- png_voidp user_error_ptr, user_error_fn, user_warning_fn);
-
- if (*png_ptr == NULL)
- {
- *info_ptr = NULL;
- return (ERROR);
- }
-
- *info_ptr = png_create_info_struct(png_ptr);
-
- if (*info_ptr == NULL)
- {
- png_destroy_read_struct(png_ptr, info_ptr, png_infopp_NULL);
- return (ERROR);
- }
-
- if (setjmp(png_jmpbuf((*png_ptr))))
- {
- png_destroy_read_struct(png_ptr, info_ptr, png_infopp_NULL);
- return (ERROR);
- }
-
- /* This one's new. You will need to provide all three
- * function callbacks, even if you aren't using them all.
- * If you aren't using all functions, you can specify NULL
- * parameters. Even when all three functions are NULL,
- * you need to call png_set_progressive_read_fn().
- * These functions shouldn't be dependent on global or
- * static variables if you are decoding several images
- * simultaneously. You should store stream specific data
- * in a separate struct, given as the second parameter,
- * and retrieve the pointer from inside the callbacks using
- * the function png_get_progressive_ptr(png_ptr).
- */
- png_set_progressive_read_fn(*png_ptr, (void *)stream_data,
- info_callback, row_callback, end_callback);
-
- return (OK);
-}
-
-int
-process_data(png_structp *png_ptr, png_infop *info_ptr,
- png_bytep buffer, png_uint_32 length)
-{
- if (setjmp(png_jmpbuf((*png_ptr))))
- {
- /* Free the png_ptr and info_ptr memory on error */
- png_destroy_read_struct(png_ptr, info_ptr, png_infopp_NULL);
- return (ERROR);
- }
-
- /* This one's new also. Simply give it chunks of data as
- * they arrive from the data stream (in order, of course).
- * On segmented machines, don't give it any more than 64K.
- * The library seems to run fine with sizes of 4K, although
- * you can give it much less if necessary (I assume you can
- * give it chunks of 1 byte, but I haven't tried with less
- * than 256 bytes yet). When this function returns, you may
- * want to display any rows that were generated in the row
- * callback, if you aren't already displaying them there.
- */
- png_process_data(*png_ptr, *info_ptr, buffer, length);
- return (OK);
-}
-
-info_callback(png_structp png_ptr, png_infop info)
-{
- /* Do any setup here, including setting any of the transformations
- * mentioned in the Reading PNG files section. For now, you _must_
- * call either png_start_read_image() or png_read_update_info()
- * after all the transformations are set (even if you don't set
- * any). You may start getting rows before png_process_data()
- * returns, so this is your last chance to prepare for that.
- */
-}
-
-row_callback(png_structp png_ptr, png_bytep new_row,
- png_uint_32 row_num, int pass)
-{
- /*
- * This function is called for every row in the image. If the
- * image is interlaced, and you turned on the interlace handler,
- * this function will be called for every row in every pass.
- *
- * In this function you will receive a pointer to new row data from
- * libpng called new_row that is to replace a corresponding row (of
- * the same data format) in a buffer allocated by your application.
- *
- * The new row data pointer "new_row" may be NULL, indicating there is
- * no new data to be replaced (in cases of interlace loading).
- *
- * If new_row is not NULL then you need to call
- * png_progressive_combine_row() to replace the corresponding row as
- * shown below:
- */
-
- /* Check if row_num is in bounds. */
- if ((row_num >= 0) && (row_num < height))
- {
- /* Get pointer to corresponding row in our
- * PNG read buffer.
- */
- png_bytep old_row = ((png_bytep *)our_data)[row_num];
-
- /* If both rows are allocated then copy the new row
- * data to the corresponding row data.
- */
- if ((old_row != NULL) && (new_row != NULL))
- png_progressive_combine_row(png_ptr, old_row, new_row);
- }
- /*
- * The rows and passes are called in order, so you don't really
- * need the row_num and pass, but I'm supplying them because it
- * may make your life easier.
- *
- * For the non-NULL rows of interlaced images, you must call
- * png_progressive_combine_row() passing in the new row and the
- * old row, as demonstrated above. You can call this function for
- * NULL rows (it will just return) and for non-interlaced images
- * (it just does the png_memcpy for you) if it will make the code
- * easier. Thus, you can just do this for all cases:
- */
-
- png_progressive_combine_row(png_ptr, old_row, new_row);
-
- /* where old_row is what was displayed for previous rows. Note
- * that the first pass (pass == 0 really) will completely cover
- * the old row, so the rows do not have to be initialized. After
- * the first pass (and only for interlaced images), you will have
- * to pass the current row as new_row, and the function will combine
- * the old row and the new row.
- */
-}
-
-end_callback(png_structp png_ptr, png_infop info)
-{
- /* This function is called when the whole image has been read,
- * including any chunks after the image (up to and including
- * the IEND). You will usually have the same info chunk as you
- * had in the header, although some data may have been added
- * to the comments and time fields.
- *
- * Most people won't do much here, perhaps setting a flag that
- * marks the image as finished.
- */
-}
-
-/* Write a png file */
-void write_png(char *file_name /* , ... other image information ... */)
-{
- FILE *fp;
- png_structp png_ptr;
- png_infop info_ptr;
- png_colorp palette;
-
- /* Open the file */
- fp = fopen(file_name, "wb");
- if (fp == NULL)
- return (ERROR);
-
- /* Create and initialize the png_struct with the desired error handler
- * functions. If you want to use the default stderr and longjump method,
- * you can supply NULL for the last three parameters. We also check that
- * the library version is compatible with the one used at compile time,
- * in case we are using dynamically linked libraries. REQUIRED.
- */
- png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING,
- png_voidp user_error_ptr, user_error_fn, user_warning_fn);
-
- if (png_ptr == NULL)
- {
- fclose(fp);
- return (ERROR);
- }
-
- /* Allocate/initialize the image information data. REQUIRED */
- info_ptr = png_create_info_struct(png_ptr);
- if (info_ptr == NULL)
- {
- fclose(fp);
- png_destroy_write_struct(&png_ptr, png_infopp_NULL);
- return (ERROR);
- }
-
- /* Set error handling. REQUIRED if you aren't supplying your own
- * error handling functions in the png_create_write_struct() call.
- */
- if (setjmp(png_jmpbuf(png_ptr)))
- {
- /* If we get here, we had a problem writing the file */
- fclose(fp);
- png_destroy_write_struct(&png_ptr, &info_ptr);
- return (ERROR);
- }
-
- /* One of the following I/O initialization functions is REQUIRED */
-
-#ifdef streams /* I/O initialization method 1 */
- /* Set up the output control if you are using standard C streams */
- png_init_io(png_ptr, fp);
-
-#else no_streams /* I/O initialization method 2 */
- /* If you are using replacement write functions, instead of calling
- * png_init_io() here you would call
- */
- png_set_write_fn(png_ptr, (void *)user_io_ptr, user_write_fn,
- user_IO_flush_function);
- /* where user_io_ptr is a structure you want available to the callbacks */
-#endif no_streams /* Only use one initialization method */
-
-#ifdef hilevel
- /* This is the easy way. Use it if you already have all the
- * image info living in the structure. You could "|" many
- * PNG_TRANSFORM flags into the png_transforms integer here.
- */
- png_write_png(png_ptr, info_ptr, png_transforms, png_voidp_NULL);
-
-#else
- /* This is the hard way */
-
- /* Set the image information here. Width and height are up to 2^31,
- * bit_depth is one of 1, 2, 4, 8, or 16, but valid values also depend on
- * the color_type selected. color_type is one of PNG_COLOR_TYPE_GRAY,
- * PNG_COLOR_TYPE_GRAY_ALPHA, PNG_COLOR_TYPE_PALETTE, PNG_COLOR_TYPE_RGB,
- * or PNG_COLOR_TYPE_RGB_ALPHA. interlace is either PNG_INTERLACE_NONE or
- * PNG_INTERLACE_ADAM7, and the compression_type and filter_type MUST
- * currently be PNG_COMPRESSION_TYPE_BASE and PNG_FILTER_TYPE_BASE. REQUIRED
- */
- png_set_IHDR(png_ptr, info_ptr, width, height, bit_depth, PNG_COLOR_TYPE_???,
- PNG_INTERLACE_????, PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE);
-
- /* Set the palette if there is one. REQUIRED for indexed-color images */
- palette = (png_colorp)png_malloc(png_ptr, PNG_MAX_PALETTE_LENGTH
- * png_sizeof(png_color));
- /* ... Set palette colors ... */
- png_set_PLTE(png_ptr, info_ptr, palette, PNG_MAX_PALETTE_LENGTH);
- /* You must not free palette here, because png_set_PLTE only makes a link to
- * the palette that you malloced. Wait until you are about to destroy
- * the png structure.
- */
-
- /* Optional significant bit (sBIT) chunk */
- png_color_8 sig_bit;
- /* If we are dealing with a grayscale image then */
- sig_bit.gray = true_bit_depth;
- /* Otherwise, if we are dealing with a color image then */
- sig_bit.red = true_red_bit_depth;
- sig_bit.green = true_green_bit_depth;
- sig_bit.blue = true_blue_bit_depth;
- /* If the image has an alpha channel then */
- sig_bit.alpha = true_alpha_bit_depth;
- png_set_sBIT(png_ptr, info_ptr, &sig_bit);
-
-
- /* Optional gamma chunk is strongly suggested if you have any guess
- * as to the correct gamma of the image.
- */
- png_set_gAMA(png_ptr, info_ptr, gamma);
-
- /* Optionally write comments into the image */
- text_ptr[0].key = "Title";
- text_ptr[0].text = "Mona Lisa";
- text_ptr[0].compression = PNG_TEXT_COMPRESSION_NONE;
- text_ptr[1].key = "Author";
- text_ptr[1].text = "Leonardo DaVinci";
- text_ptr[1].compression = PNG_TEXT_COMPRESSION_NONE;
- text_ptr[2].key = "Description";
- text_ptr[2].text = "<long text>";
- text_ptr[2].compression = PNG_TEXT_COMPRESSION_zTXt;
-#ifdef PNG_iTXt_SUPPORTED
- text_ptr[0].lang = NULL;
- text_ptr[1].lang = NULL;
- text_ptr[2].lang = NULL;
-#endif
- png_set_text(png_ptr, info_ptr, text_ptr, 3);
-
- /* Other optional chunks like cHRM, bKGD, tRNS, tIME, oFFs, pHYs */
-
- /* Note that if sRGB is present the gAMA and cHRM chunks must be ignored
- * on read and, if your application chooses to write them, they must
- * be written in accordance with the sRGB profile
- */
-
- /* Write the file header information. REQUIRED */
- png_write_info(png_ptr, info_ptr);
-
- /* If you want, you can write the info in two steps, in case you need to
- * write your private chunk ahead of PLTE:
- *
- * png_write_info_before_PLTE(write_ptr, write_info_ptr);
- * write_my_chunk();
- * png_write_info(png_ptr, info_ptr);
- *
- * However, given the level of known- and unknown-chunk support in 1.2.0
- * and up, this should no longer be necessary.
- */
-
- /* Once we write out the header, the compression type on the text
- * chunks gets changed to PNG_TEXT_COMPRESSION_NONE_WR or
- * PNG_TEXT_COMPRESSION_zTXt_WR, so it doesn't get written out again
- * at the end.
- */
-
- /* Set up the transformations you want. Note that these are
- * all optional. Only call them if you want them.
- */
-
- /* Invert monochrome pixels */
- png_set_invert_mono(png_ptr);
-
- /* Shift the pixels up to a legal bit depth and fill in
- * as appropriate to correctly scale the image.
- */
- png_set_shift(png_ptr, &sig_bit);
-
- /* Pack pixels into bytes */
- png_set_packing(png_ptr);
-
- /* Swap location of alpha bytes from ARGB to RGBA */
- png_set_swap_alpha(png_ptr);
-
- /* Get rid of filler (OR ALPHA) bytes, pack XRGB/RGBX/ARGB/RGBA into
- * RGB (4 channels -> 3 channels). The second parameter is not used.
- */
- png_set_filler(png_ptr, 0, PNG_FILLER_BEFORE);
-
- /* Flip BGR pixels to RGB */
- png_set_bgr(png_ptr);
-
- /* Swap bytes of 16-bit files to most significant byte first */
- png_set_swap(png_ptr);
-
- /* Swap bits of 1, 2, 4 bit packed pixel formats */
- png_set_packswap(png_ptr);
-
- /* Turn on interlace handling if you are not using png_write_image() */
- if (interlacing)
- number_passes = png_set_interlace_handling(png_ptr);
- else
- number_passes = 1;
-
- /* The easiest way to write the image (you may have a different memory
- * layout, however, so choose what fits your needs best). You need to
- * use the first method if you aren't handling interlacing yourself.
- */
- png_uint_32 k, height, width;
- png_byte image[height][width*bytes_per_pixel];
- png_bytep row_pointers[height];
-
- if (height > PNG_UINT_32_MAX/png_sizeof(png_bytep))
- png_error (png_ptr, "Image is too tall to process in memory");
-
- for (k = 0; k < height; k++)
- row_pointers[k] = image + k*width*bytes_per_pixel;
-
- /* One of the following output methods is REQUIRED */
-
-#ifdef entire /* Write out the entire image data in one call */
- png_write_image(png_ptr, row_pointers);
-
- /* The other way to write the image - deal with interlacing */
-
-#else no_entire /* Write out the image data by one or more scanlines */
-
- /* The number of passes is either 1 for non-interlaced images,
- * or 7 for interlaced images.
- */
- for (pass = 0; pass < number_passes; pass++)
- {
- /* Write a few rows at a time. */
- png_write_rows(png_ptr, &row_pointers[first_row], number_of_rows);
-
- /* If you are only writing one row at a time, this works */
- for (y = 0; y < height; y++)
- png_write_rows(png_ptr, &row_pointers[y], 1);
- }
-#endif no_entire /* Use only one output method */
-
- /* You can write optional chunks like tEXt, zTXt, and tIME at the end
- * as well. Shouldn't be necessary in 1.2.0 and up as all the public
- * chunks are supported and you can use png_set_unknown_chunks() to
- * register unknown chunks into the info structure to be written out.
- */
-
- /* It is REQUIRED to call this to finish writing the rest of the file */
- png_write_end(png_ptr, info_ptr);
-#endif hilevel
-
- /* If you png_malloced a palette, free it here (don't free info_ptr->palette,
- * as recommended in versions 1.0.5m and earlier of this example; if
- * libpng mallocs info_ptr->palette, libpng will free it). If you
- * allocated it with malloc() instead of png_malloc(), use free() instead
- * of png_free().
- */
- png_free(png_ptr, palette);
- palette = NULL;
-
- /* Similarly, if you png_malloced any data that you passed in with
- * png_set_something(), such as a hist or trans array, free it here,
- * when you can be sure that libpng is through with it.
- */
- png_free(png_ptr, trans);
- trans = NULL;
- /* Whenever you use png_free() it is a good idea to set the pointer to
- * NULL in case your application inadvertently tries to png_free() it
- * again. When png_free() sees a NULL it returns without action, thus
- * avoiding the double-free security problem.
- */
-
- /* Clean up after the write, and free any memory allocated */
- png_destroy_write_struct(&png_ptr, &info_ptr);
-
- /* Close the file */
- fclose(fp);
-
- /* That's it */
- return (OK);
-}
-
-#endif /* if 0 */
diff --git a/src/3rdparty/libpng/libpng-1.2.40.txt b/src/3rdparty/libpng/libpng-1.2.40.txt
deleted file mode 100644