[devel] Revise libpng*.txt

about calling png_set_IHDR() multiple times and about the order
of color samples in the tRNS chunk.
This commit is contained in:
Glenn Randers-Pehrson 2009-06-08 08:31:59 -05:00
parent 7aa1834c95
commit 9dcde09ac8
2 changed files with 22 additions and 17 deletions

21
CHANGES
View File

@ -1180,7 +1180,7 @@ version 1.2.4beta3 [June 28, 2002]
Plugged memory leak of row_buf in pngtest.c when there is a png_error(). 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. Detect buffer overflow in pngpread.c when IDAT is corrupted with extra data.
Added "test-installed" target to makefile.32sunu, makefile.64sunu, Added "test-installed" target to makefile.32sunu, makefile.64sunu,
makefile.beos, makefile.darwin, makefile.dec, makefile.macosx, makefile.beos, makefile.darwin, makefile.dec, makefile.macosx,
makefile.solaris, makefile.hpux, makefile.hpgcc, and makefile.so9. makefile.solaris, makefile.hpux, makefile.hpgcc, and makefile.so9.
version 1.2.4rc1 and 1.0.14rc1 [July 2, 2002] version 1.2.4rc1 and 1.0.14rc1 [July 2, 2002]
Added "test-installed" target to makefile.cygwin and makefile.sco. Added "test-installed" target to makefile.cygwin and makefile.sco.
@ -1388,7 +1388,7 @@ version 1.2.8beta5 [November 20, 2004]
Use png_ptr->flags instead of png_ptr->transformations to pass Use png_ptr->flags instead of png_ptr->transformations to pass
PNG_STRIP_ALPHA info to png_do_strip_filler(), to preserve ABI PNG_STRIP_ALPHA info to png_do_strip_filler(), to preserve ABI
compatibility. compatibility.
Revised handling of SPECIALBUILD, PRIVATEBUILD, Revised handling of SPECIALBUILD, PRIVATEBUILD,
PNG_LIBPNG_BUILD_SPECIAL_STRING and PNG_LIBPNG_BUILD_PRIVATE_STRING. PNG_LIBPNG_BUILD_SPECIAL_STRING and PNG_LIBPNG_BUILD_PRIVATE_STRING.
version 1.2.8rc1 [November 24, 2004] version 1.2.8rc1 [November 24, 2004]
Moved handling of BUILD macros from pngconf.h to png.h Moved handling of BUILD macros from pngconf.h to png.h
@ -1686,14 +1686,14 @@ version 1.2.16beta1 [January 6, 2007]
version 1.2.16beta2 [January 16, 2007] version 1.2.16beta2 [January 16, 2007]
Revised scripts/CMakeLists.txt Revised scripts/CMakeLists.txt
version 1.2.16 [January 31, 2007] version 1.2.16 [January 31, 2007]
No changes. No changes.
version 1.2.17beta1 [March 6, 2007] version 1.2.17beta1 [March 6, 2007]
Revised scripts/CMakeLists.txt to install both shared and static libraries. Revised scripts/CMakeLists.txt to install both shared and static libraries.
Deleted a redundant line from pngset.c. Deleted a redundant line from pngset.c.
version 1.2.17beta2 [April 26, 2007] version 1.2.17beta2 [April 26, 2007]
Relocated misplaced test for png_ptr == NULL in pngpread.c Relocated misplaced test for png_ptr == NULL in pngpread.c
Change "==" to "&" for testing PNG_RGB_TO_GRAY_ERR & PNG_RGB_TO_GRAY_WARN Change "==" to "&" for testing PNG_RGB_TO_GRAY_ERR & PNG_RGB_TO_GRAY_WARN
@ -1714,7 +1714,7 @@ version 1.2.17rc2 [May 8, 2007]
Added png_ptr->unknown_chunk to hold working unknown chunk data, so it 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 can be free'ed in case of error. Revised unknown chunk handling in
pngrutil.c and pngpread.c to use this structure. pngrutil.c and pngpread.c to use this structure.
version 1.2.17rc3 [May 8, 2007] version 1.2.17rc3 [May 8, 2007]
Revised symbol-handling in configure script. Revised symbol-handling in configure script.
@ -2147,10 +2147,13 @@ version 1.4.0beta62 [June 2, 2009]
Added "#define PNG_NO_WRITE_SWAP" to contrib/pngminim/encoder/pngusr.h 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 and "define PNG_NO_READ_SWAP" to decoder/pngusr.h and preader/pngusr.h
Reformatted several remaining "else statement" into two lines. Reformatted several remaining "else statement" into two lines.
Added a section about using png_get_io_ptr() in configure scripts to detect Added a section to the libpng documentation about using png_get_io_ptr()
the presence of libpng. in configure scripts to detect the presence of libpng.
version 1.4.0beta63 [June 5, 2009] version 1.4.0beta63 [June 8, 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.
version 1.4.0betaN [future] version 1.4.0betaN [future]
Build shared libraries with -lz and sometimes -lm. Build shared libraries with -lz and sometimes -lm.

View File

@ -1,6 +1,6 @@
libpng.txt - A description on how to use and modify libpng libpng.txt - A description on how to use and modify libpng
libpng version 1.4.0beta63 - June 5, 2009 libpng version 1.4.0beta63 - June 8, 2009
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net> <glennrp at users.sourceforge.net>
Copyright (c) 1998-2009 Glenn Randers-Pehrson Copyright (c) 1998-2009 Glenn Randers-Pehrson
@ -9,7 +9,7 @@ libpng.txt - A description on how to use and modify libpng
Based on: Based on:
libpng versions 0.97, January 1998, through 1.4.0beta63 - June 5, 2009 libpng versions 0.97, January 1998, through 1.4.0beta63 - June 8, 2009
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2009 Glenn Randers-Pehrson Copyright (c) 1998-2009 Glenn Randers-Pehrson
@ -1839,8 +1839,9 @@ other png_set_*() functions, which might require access to some of
the IHDR settings. The remaining png_set_*() functions can be called the IHDR settings. The remaining png_set_*() functions can be called
in any order. in any order.
If you wish, you can reset the compression_type, interlace_type, If you wish, you can reset the compression_type, interlace_type, or
or filter_method later. filter_method later by calling png_set_IHDR() again; if you do this, the
width, height, bit_depth, and color_type must be the same in each call.
png_set_PLTE(png_ptr, info_ptr, palette, png_set_PLTE(png_ptr, info_ptr, palette,
num_palette); num_palette);
@ -1903,8 +1904,9 @@ or filter_method later.
trans_color); trans_color);
trans - array of transparent entries for trans - array of transparent entries for
palette (PNG_INFO_tRNS) palette (PNG_INFO_tRNS)
trans_color - graylevel or color sample values of trans_color - graylevel or color sample values
the single transparent color for (in order red, green, blue) of the
single transparent color for
non-paletted images (PNG_INFO_tRNS) non-paletted images (PNG_INFO_tRNS)
num_trans - number of transparent entries num_trans - number of transparent entries
(PNG_INFO_tRNS) (PNG_INFO_tRNS)
@ -3117,7 +3119,7 @@ We don't use C++ style ("//") comments. We have, however,
used them in the past in some now-abandoned MMX assembler used them in the past in some now-abandoned MMX assembler
code. code.
Functions and their curly brackets are not indented, and Functions and their curly braces are not indented, and
exported functions are marked with PNGAPI: exported functions are marked with PNGAPI:
/* This is a public function that is visible to /* This is a public function that is visible to
@ -3161,7 +3163,7 @@ source.
XIII. Y2K Compliance in libpng XIII. Y2K Compliance in libpng
June 5, 2009 June 8, 2009
Since the PNG Development group is an ad-hoc body, we can't make Since the PNG Development group is an ad-hoc body, we can't make
an official declaration. an official declaration.