You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1022 lines
58 KiB
1022 lines
58 KiB
14 years ago
|
|
||
|
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 tranformations
|
||
|
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 consistant
|
||
|
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 neccesarily 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 infomation 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 accomodate ansi2knr.
|
||
|
Removed all global arrays (according to PNG_NO_GLOBAL_ARRAYS macro), to
|
||
|
accomodate 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".
|
||
|
#ifdef out all the new declarations 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]
|
||
|
Added a pop/push operation to pngvcrd.c, to preserve Eflag.
|
||
|
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 12, 2001]
|
||
|
None.
|
||
|
|
||
|
Send comments/corrections/commendations to
|
||
|
png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
|
||
|
|
||
|
Glenn R-P
|