From 9dcde09ac83720d4ff4a1807ba678b527aeda195 Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Mon, 8 Jun 2009 08:31:59 -0500 Subject: [PATCH] [devel] Revise libpng*.txt about calling png_set_IHDR() multiple times and about the order of color samples in the tRNS chunk. --- CHANGES | 21 ++++++++++++--------- libpng-1.4.0beta63.txt | 18 ++++++++++-------- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/CHANGES b/CHANGES index e4f28fe59..6498eaa91 100644 --- a/CHANGES +++ b/CHANGES @@ -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(). 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.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. @@ -1388,7 +1388,7 @@ 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, + 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 @@ -1686,14 +1686,14 @@ version 1.2.16beta1 [January 6, 2007] version 1.2.16beta2 [January 16, 2007] Revised scripts/CMakeLists.txt - + version 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 @@ -1714,7 +1714,7 @@ version 1.2.17rc2 [May 8, 2007] 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. @@ -2147,10 +2147,13 @@ version 1.4.0beta62 [June 2, 2009] 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 Reformatted several remaining "else statement" into two lines. - Added a section about using png_get_io_ptr() in configure scripts to detect - the presence of libpng. + Added a section to the libpng documentation about using png_get_io_ptr() + 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] Build shared libraries with -lz and sometimes -lm. diff --git a/libpng-1.4.0beta63.txt b/libpng-1.4.0beta63.txt index 1387dac94..80e6fbe1d 100644 --- a/libpng-1.4.0beta63.txt +++ b/libpng-1.4.0beta63.txt @@ -1,6 +1,6 @@ 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 Copyright (c) 1998-2009 Glenn Randers-Pehrson @@ -9,7 +9,7 @@ libpng.txt - A description on how to use and modify libpng 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 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 in any order. -If you wish, you can reset the compression_type, interlace_type, -or filter_method later. +If you wish, you can reset the compression_type, interlace_type, or +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, num_palette); @@ -1903,8 +1904,9 @@ or filter_method later. trans_color); trans - array of transparent entries for palette (PNG_INFO_tRNS) - trans_color - graylevel or color sample values of - the single transparent color for + trans_color - graylevel or color sample values + (in order red, green, blue) of the + single transparent color for non-paletted images (PNG_INFO_tRNS) num_trans - number of transparent entries (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 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: /* This is a public function that is visible to @@ -3161,7 +3163,7 @@ source. 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 an official declaration. -- GitLab