提交 db3b88da 编写于 作者: G Glenn Randers-Pehrson

Imported from libpng-1.2.1rc2.tar

上级 ae498dcf
Libpng 1.2.1rc1 - November 24, 2001
Libpng 1.2.1rc2 - December 4, 2001
This is not intended to be a public release. It will be replaced
within a few weeks by a public version or by another test version.
......@@ -31,6 +31,11 @@ version 1.2.1rc1 [November 24, 2001]
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.
Send comments/corrections/commendations to
png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
......
......@@ -1007,6 +1007,11 @@ version 1.2.1rc1 [November 24, 2001]
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.
Send comments/corrections/commendations to
png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
......
Installing libpng version 1.2.1rc1 - November 24, 2001
Installing libpng version 1.2.1rc2 - December 4, 2001
Before installing libpng, you must first install zlib. zlib
can usually be found wherever you got libpng. zlib can be
......@@ -10,7 +10,7 @@ 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.1rc1" or "lpng109" and "zlib-1.1.3"
might be called "libpng-1.2.1rc2" or "lpng109" and "zlib-1.1.3"
or "zlib113") so that you have directories called "zlib" and "libpng".
Your directory structure should look like this:
......@@ -64,8 +64,8 @@ The files that are presently available in the scripts directory
include
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
makefile.linux => Linux/ELF makefile (gcc, creates libpng.so.3.1.2.1rc1)
makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng.so.3.1.2.1rc1,
makefile.linux => Linux/ELF makefile (gcc, creates libpng.so.3.1.2.1rc2)
makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng.so.3.1.2.1rc2,
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
......@@ -83,10 +83,10 @@ include
makefile.macosx => MACOS X Makefile
makefile.netbsd => NetBSD/cc makefile, uses PNGGCCRD
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.3.1.2.1rc1)
makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.3.1.2.1rc2)
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile (gcc, creates libpng.so.3.1.2.1rc1)
makefile.so9 => Solaris 9 makefile (gcc, creates libpng.so.3.1.2.1rc1)
makefile.solaris => Solaris 2.X makefile (gcc, creates libpng.so.3.1.2.1rc2)
makefile.so9 => Solaris 9 makefile (gcc, creates libpng.so.3.1.2.1rc2)
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
makefile.mips => MIPS makefile
makefile.acorn => Acorn makefile
......
Known bugs in libpng version 1.2.1rc1
Known bugs in libpng version 1.2.1rc2
1. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when
reading interlaced PNG files, when assembler code is enabled.
......
......@@ -8,7 +8,7 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
If you modify libpng you may insert additional notices immediately following
this sentence.
libpng versions 1.0.7, July 1, 2000, through 1.2.1rc1, November 24, 2001, are
libpng versions 1.0.7, July 1, 2000, through 1.2.1rc2, December 4, 2001, are
Copyright (c) 2000 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
......@@ -99,4 +99,4 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
randeg@alum.rpi.edu
November 24, 2001
December 4, 2001
README for libpng 1.2.1rc1 - November 24, 2001 (shared library 2.1)
README for libpng 1.2.1rc2 - December 4, 2001 (shared library 2.1)
See the note about version numbers near the top of png.h
See INSTALL for instructions on how to install libpng.
......@@ -187,9 +187,9 @@ Files in this distribution:
descrip.mms => VMS makefile for MMS or MMK
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
makefile.linux => Linux/ELF makefile
(gcc, creates libpng.so.3.1.2.1rc1)
(gcc, creates libpng.so.3.1.2.1rc2)
makefile.gcmmx => Linux/ELF makefile (gcc, creates
libpng.so.3.1.2.1rc1, uses assembler code
libpng.so.3.1.2.1rc2, 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
......@@ -207,12 +207,12 @@ Files in this distribution:
makefile.macosx => MACOS X Makefile
makefile.netbsd => NetBSD/cc makefile, uses PNGGCCRD
makefile.sgi => Silicon Graphics IRIX (cc, creates static lib)
makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.3.1.2.1rc1)
makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.3.1.2.1rc2)
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile
(gcc, creates libpng.so.3.1.2.1rc1)
(gcc, creates libpng.so.3.1.2.1rc2)
makefile.so9 => Solaris 9 makefile
(gcc, creates libpng.so.3.1.2.1rc1)
(gcc, creates libpng.so.3.1.2.1rc2)
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
makefile.mips => MIPS makefile
makefile.acorn => Acorn makefile
......
Y2K compliance in libpng:
=========================
November 24, 2001
December 4, 2001
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.1rc1 are Y2K compliant. It is my belief that earlier
upward through 1.2.1rc2 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
......
echo "
There is no \"configure\" script for Libpng-1.2.1rc1. Instead, please
There is no \"configure\" script for Libpng-1.2.1rc2. Instead, please
copy the appropriate makefile for your system from the \"scripts\"
directory. Read the INSTALL file for more details.
"
......
.TH LIBPNG 3 "November 24, 2001"
.TH LIBPNG 3 "December 4, 2001"
.SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.1rc1
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.1rc2
.SH SYNOPSIS
\fI\fB
......@@ -787,7 +787,7 @@ Following is a copy of the libpng.txt file that accompanies libpng.
.SH LIBPNG.TXT
libpng.txt - A description on how to use and modify libpng
libpng version 1.2.1rc1 - November 24, 2001
libpng version 1.2.1rc2 - December 4, 2001
Updated and distributed by Glenn Randers-Pehrson
<randeg@alum.rpi.edu>
Copyright (c) 1998-2001 Glenn Randers-Pehrson
......@@ -3635,13 +3635,13 @@ application:
.SH IX. Y2K Compliance in libpng
November 24, 2001
December 4, 2001
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.1rc1 are Y2K compliant. It is my belief that earlier
upward through 1.2.1rc2 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
......@@ -3762,7 +3762,8 @@ the first widely used release:
1.2.0rc1 3 10200 3.1.2.0rc1
1.2.0 3 10200 3.1.2.0
1.2.1beta-4 3 10201 3.1.2.1beta1-4
1.2.1rc1 3 10201 3.1.2.1rc1
1.2.1rc1-2 3 10201 3.1.2.1rc1-2
1.2.1 3 10201 3.1.2.1
Henceforth the source version will match the shared-library minor
and patch numbers; the shared-library major version number will be
......@@ -3820,7 +3821,7 @@ possible without all of you.
Thanks to Frank J. T. Wojcik for helping with the documentation.
Libpng version 1.2.1rc1 - November 24, 2001:
Libpng version 1.2.1rc2 - December 4, 2001:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (randeg@alum.rpi.edu).
......@@ -3837,7 +3838,7 @@ included in the libpng distribution, the latter shall prevail.)
If you modify libpng you may insert additional notices immediately following
this sentence.
libpng versions 1.0.7, July 1, 2000, through 1.2.1rc1, November 24, 2001, are
libpng versions 1.0.7, July 1, 2000, through 1.2.1rc2, December 4, 2001, are
Copyright (c) 2000-2001 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
......@@ -3929,7 +3930,7 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
randeg@alum.rpi.edu
November 24, 2001
December 4, 2001
.\" end of man page
libpng.txt - A description on how to use and modify libpng
libpng version 1.2.1rc1 - November 24, 2001
libpng version 1.2.1rc2 - December 4, 2001
Updated and distributed by Glenn Randers-Pehrson
<randeg@alum.rpi.edu>
Copyright (c) 1998-2001 Glenn Randers-Pehrson
......@@ -2848,13 +2848,13 @@ application:
IX. Y2K Compliance in libpng
November 24, 2001
December 4, 2001
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.1rc1 are Y2K compliant. It is my belief that earlier
upward through 1.2.1rc2 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
......
.TH LIBPNGPF 3 "November 24, 2001"
.TH LIBPNGPF 3 "December 4, 2001"
.SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.1rc1
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.1rc2
(private functions)
.SH SYNOPSIS
\fB#include <png.h>\fP
......
.TH PNG 5 "November 24, 2001"
.TH PNG 5 "December 4, 2001"
.SH NAME
png \- Portable Network Graphics (PNG) format
.SH DESCRIPTION
......
/* png.c - location for general purpose libpng functions
*
* libpng version 1.2.1rc1 - November 24, 2001
* libpng version 1.2.1rc2 - December 4, 2001
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
......@@ -13,14 +13,14 @@
#include "png.h"
/* Generate a compiler error if there is an old png.h in the search path. */
typedef version_1_2_1rc1 Your_png_h_is_not_version_1_2_1rc1;
typedef version_1_2_1rc2 Your_png_h_is_not_version_1_2_1rc2;
/* Version information for C files. This had better match the version
* string defined in png.h. */
#ifdef PNG_USE_GLOBAL_ARRAYS
/* png_libpng_ver was changed to a function in version 1.0.5c */
const char png_libpng_ver[18] = "1.2.1rc1";
const char png_libpng_ver[18] = "1.2.1rc2";
/* png_sig was changed to a function in version 1.0.5c */
/* Place to hold the signature string for a PNG file. */
......@@ -645,7 +645,7 @@ png_charp PNGAPI
png_get_copyright(png_structp png_ptr)
{
if (png_ptr != NULL || png_ptr == NULL) /* silence compiler warning */
return ((png_charp) "\n libpng version 1.2.1rc1 - November 24, 2001\n\
return ((png_charp) "\n libpng version 1.2.1rc2 - December 4, 2001\n\
Copyright (c) 1998-2001 Glenn Randers-Pehrson\n\
Copyright (c) 1996, 1997 Andreas Dilger\n\
Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.\n");
......@@ -663,8 +663,8 @@ png_get_libpng_ver(png_structp png_ptr)
{
/* Version of *.c files used when building libpng */
if(png_ptr != NULL) /* silence compiler warning about unused png_ptr */
return((png_charp) "1.2.1rc1");
return((png_charp) "1.2.1rc1");
return((png_charp) "1.2.1rc2");
return((png_charp) "1.2.1rc2");
}
png_charp PNGAPI
......
/* png.h - header file for PNG reference library
*
* libpng version 1.2.1rc1 - November 24, 2001
* libpng version 1.2.1rc2 - December 4, 2001
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
......@@ -9,7 +9,7 @@
* Authors and maintainers:
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
* libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
* libpng versions 0.97, January 1998, through 1.2.1rc1 - November 24, 2001: Glenn
* libpng versions 0.97, January 1998, through 1.2.1rc2 - December 4, 2001: Glenn
* See also "Contributing Authors", below.
*
* Note about libpng version numbers:
......@@ -79,7 +79,8 @@
* 1.2.0rc1 3 10200 3.1.2.0rc1
* 1.2.0 3 10200 3.1.2.0
* 1.2.1beta1-4 3 10201 3.1.2.1beta1-4
* 1.2.1rc1 3 10201 3.1.2.1rc1
* 1.2.1rc1-2 3 10201 3.1.2.1rc1-2
* 1.2.1 3 10201 3.1.2.1
*
* Henceforth the source version will match the shared-library major
* and minor numbers; the shared-library major version number will be
......@@ -109,7 +110,7 @@
* If you modify libpng you may insert additional notices immediately following
* this sentence.
*
* libpng versions 1.0.7, July 1, 2000, through 1.2.1rc1, November 24, 2001, are
* libpng versions 1.0.7, July 1, 2000, through 1.2.1rc2, December 4, 2001, are
* Copyright (c) 2000, 2001 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
......@@ -214,13 +215,13 @@
* Y2K compliance in libpng:
* =========================
*
* November 24, 2001
* December 4, 2001
*
* 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.1rc1 are Y2K compliant. It is my belief that earlier
* upward through 1.2.1rc2 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
......@@ -276,7 +277,7 @@
*/
/* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.2.1rc1"
#define PNG_LIBPNG_VER_STRING "1.2.1rc2"
#define PNG_LIBPNG_VER_SONUM 3
#define PNG_LIBPNG_VER_DLLNUM %DLLNUM%
......@@ -288,7 +289,7 @@
/* This should match the numeric part of the final component of
* PNG_LIBPNG_VER_STRING, omitting any leading zero: */
#define PNG_LIBPNG_VER_BUILD 1
#define PNG_LIBPNG_VER_BUILD 2
#define PNG_LIBPNG_BUILD_ALPHA 1
#define PNG_LIBPNG_BUILD_BETA 2
......@@ -1252,9 +1253,9 @@ struct png_struct_def
/* This prevents a compiler error in png_get_copyright() in png.c if png.c
and png.h are both at version 1.2.1rc1
and png.h are both at version 1.2.1rc2
*/
typedef png_structp version_1_2_1rc1;
typedef png_structp version_1_2_1rc2;
typedef png_struct FAR * FAR * png_structpp;
......@@ -2371,7 +2372,7 @@ extern PNG_EXPORT(void,png_set_strip_error_numbers) PNGARG((png_structp
/* Maintainer: Put new public prototypes here ^, in libpng.3, and project defs */
#define PNG_HEADER_VERSION_STRING \
" libpng version 1.2.1rc1 - November 24, 2001 (header)\n"
" libpng version 1.2.1rc2 - December 4, 2001 (header)\n"
#ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED
/* With these routines we avoid an integer divide, which will be slower on
......
/* pngasmrd.h - assembler version of utilities to read a PNG file
*
* libpng 1.2.1rc1 - November 24, 2001
* libpng 1.2.1rc2 - December 4, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 2001 Glenn Randers-Pehrson
*
......
/* pngconf.h - machine configurable file for libpng
*
* libpng 1.2.1rc1 - November 24, 2001
* libpng 1.2.1rc2 - December 4, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
......
/* pngerror.c - stub functions for i/o and memory allocation
*
* libpng 1.2.1rc1 - November 24, 2001
* libpng 1.2.1rc2 - December 4, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
......
......@@ -6,7 +6,7 @@
* and http://www.intel.com/drg/pentiumII/appnotes/923/923.htm
* for Intel's performance analysis of the MMX vs. non-MMX code.
*
* libpng version 1.2.1rc1 - November 24, 2001
* libpng version 1.2.1rc2 - December 4, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* Copyright (c) 1998, Intel Corporation
......
/* pngget.c - retrieval of values from info struct
*
* libpng 1.2.1rc1 - November 24, 2001
* libpng 1.2.1rc2 - December 4, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
......
/* pngmem.c - stub functions for memory allocation
*
* libpng 1.2.1rc1 - November 24, 2001
* libpng 1.2.1rc2 - December 4, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
......
/* pngpread.c - read a png file in push mode
*
* libpng 1.2.1rc1 - November 24, 2001
* libpng 1.2.1rc2 - December 4, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
......
/* pngread.c - read a PNG file
*
* libpng 1.2.1rc1 - November 24, 2001
* libpng 1.2.1rc2 - December 4, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
......@@ -767,7 +767,7 @@ png_read_row(png_structp png_ptr, png_bytep row, png_bytep dsp_row)
* not called png_set_interlace_handling(), the display_row buffer will
* be ignored, so pass NULL to it.
*
* [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.1rc1
* [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.1rc2
*/
void PNGAPI
......@@ -816,7 +816,7 @@ png_read_rows(png_structp png_ptr, png_bytepp row,
* only call this function once. If you desire to have an image for
* each pass of a interlaced image, use png_read_rows() instead.
*
* [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.1rc1
* [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.1rc2
*/
void PNGAPI
png_read_image(png_structp png_ptr, png_bytepp image)
......
/* pngrio.c - functions for data input
*
* libpng 1.2.1rc1 - November 24, 2001
* libpng 1.2.1rc2 - December 4, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
......
/* pngrtran.c - transforms the data in a row for PNG readers
*
* libpng 1.2.1rc1 - November 24, 2001
* libpng 1.2.1rc2 - December 4, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
......
/* pngrutil.c - utilities to read a PNG file
*
* libpng 1.2.1rc1 - November 24, 2001
* libpng 1.2.1rc2 - December 4, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
......@@ -1029,7 +1029,7 @@ png_handle_iCCP(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
profile_length = data_length - prefix_length;
if ( profile_length < 4)
if ( prefix_length > data_length || profile_length < 4)
{
png_free(png_ptr, chunkdata);
png_warning(png_ptr, "Profile size field missing from iCCP chunk");
......
/* pngset.c - storage of image information into info struct
*
* libpng 1.2.1rc1 - November 24, 2001
* libpng 1.2.1rc2 - December 4, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
......@@ -152,8 +152,9 @@ png_set_hIST(png_structp png_ptr, png_infop info_ptr, png_uint_16p hist)
#ifdef PNG_FREE_ME_SUPPORTED
png_free_data(png_ptr, info_ptr, PNG_FREE_HIST, 0);
#endif
/* Changed from info->num_palette to 256 in version 1.2.1 */
png_ptr->hist = (png_uint_16p)png_malloc(png_ptr,
(png_uint_32)(info_ptr->num_palette * sizeof (png_uint_16)));
(png_uint_32)(256 * sizeof (png_uint_16)));
for (i = 0; i < info_ptr->num_palette; i++)
png_ptr->hist[i] = hist[i];
......@@ -410,7 +411,9 @@ png_set_PLTE(png_structp png_ptr, png_infop info_ptr,
#ifdef PNG_FREE_ME_SUPPORTED
png_free_data(png_ptr, info_ptr, PNG_FREE_PLTE, 0);
#endif
png_ptr->palette = (png_colorp)png_zalloc(png_ptr, (uInt)num_palette,
/* Changed in libpng-1.2.1 to allocate 256 instead of num_palette entries,
in case of an invalid PNG file that has too-large sample values. */
png_ptr->palette = (png_colorp)png_zalloc(png_ptr, (uInt)256,
sizeof (png_color));
png_memcpy(png_ptr->palette, palette, num_palette * sizeof (png_color));
info_ptr->palette = png_ptr->palette;
......@@ -740,8 +743,9 @@ png_set_tRNS(png_structp png_ptr, png_infop info_ptr,
#ifdef PNG_FREE_ME_SUPPORTED
png_free_data(png_ptr, info_ptr, PNG_FREE_TRNS, 0);
#endif
/* Changed from num_trans to 256 in version 1.2.1 */
png_ptr->trans = info_ptr->trans = (png_bytep)png_malloc(png_ptr,
(png_uint_32)num_trans);
(png_uint_32)256);
png_memcpy(info_ptr->trans, trans, (png_size_t)num_trans);
#ifdef PNG_FREE_ME_SUPPORTED
info_ptr->free_me |= PNG_FREE_TRNS;
......
/* pngtest.c - a simple test program to test libpng
*
* libpng 1.2.1rc1 - November 24, 2001
* libpng 1.2.1rc2 - December 4, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
......@@ -1512,4 +1512,4 @@ main(int argc, char *argv[])
}
/* Generate a compiler error if there is an old png.h in the search path. */
typedef version_1_2_1rc1 your_png_h_is_not_version_1_2_1rc1;
typedef version_1_2_1rc2 your_png_h_is_not_version_1_2_1rc2;
/* pngtrans.c - transforms the data in a row (used by both readers and writers)
*
* libpng 1.2.1rc1 - November 24, 2001
* libpng 1.2.1rc2 - December 4, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
......
......@@ -2,7 +2,7 @@
*
* For Intel x86 CPU and Microsoft Visual C++ compiler
*
* libpng 1.2.1rc1 - November 24, 2001
* libpng version 1.2.1rc2 - December 4, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* Copyright (c) 1998, Intel Corporation
......@@ -39,6 +39,7 @@ png_mmx_support(void)
push ebx //CPUID will trash these
push ecx
push edx
pushfd //Save Eflag to stack
pop eax //Get Eflag from stack into eax
mov ecx, eax //Make another copy of Eflag in ecx
......@@ -48,6 +49,8 @@ png_mmx_support(void)
popfd //Restored modified value back to Eflag reg
pushfd //Save Eflag to stack
pop eax //Get Eflag from stack
push ecx // save original Eflag to stack
popfd // restore original Eflag
xor eax, ecx //Compare the new Eflag with the original Eflag
jz NOT_SUPPORTED //If the same, CPUID instruction is not supported,
//skip following instructions and jump to
......
/* pngwio.c - functions for data output
*
* libpng 1.2.1rc1 - November 24, 2001
* libpng 1.2.1rc2 - December 4, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
......
/* pngwrite.c - general routines to write a PNG file
*
* libpng 1.2.1rc1 - November 24, 2001
* libpng 1.2.1rc2 - December 4, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
......
/* pngwtran.c - transforms the data in a row for PNG writers
*
* libpng 1.2.1rc1 - November 24, 2001
* libpng 1.2.1rc2 - December 4, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
......
/* pngwutil.c - utilities to write a PNG file
*
* libpng 1.2.1rc1 - November 24, 2001
* libpng 1.2.1rc2 - December 4, 2001
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2001 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
......
Microsoft Developer Studio Build File, Format Version 6.00 for
libpng 1.2.1rc1 (November 24, 2001) and zlib
libpng 1.2.1rc2 (December 4, 2001) and zlib
Copyright (C) 2000 Simon-Pierre Cadieux
For conditions of distribution and use, see copyright notice in png.h
......
......@@ -6,7 +6,7 @@ LIBRARY
DESCRIPTION "PNG image compression library for Windows"
EXPORTS
;Version 1.2.1rc1
;Version 1.2.1rc2
png_build_grayscale_palette @1
png_check_sig @2
png_chunk_error @3
......
A set of project files is available for Netware. Get
libpng-1.2.1rc1-project-netware.zip from a libpng distribution
libpng-1.2.1rc2-project-netware.zip from a libpng distribution
site such as http://libpng.sourceforge.net
Put the zip file in this directory (projects) and then run
"unzip -a libpng-1.2.1rc1-project-netware.zip"
"unzip -a libpng-1.2.1rc2-project-netware.zip"
A set of project files is available for WinCE. Get
libpng-1.2.1rc1-project-wince.zip from a libpng distribution
libpng-1.2.1rc2-project-wince.zip from a libpng distribution
site such as http://libpng.sourceforge.net
Put the zip file in this directory (projects) and then run
"unzip -a libpng-1.2.1rc1-project-wince.zip"
"unzip -a libpng-1.2.1rc2-project-wince.zip"
......@@ -18,7 +18,7 @@ RM = rm -f
# read libpng.txt or png.h to see why PNGMAJ is 3. You should not
# have to change it.
PNGMAJ = 3
PNGMIN = 1.2.1rc1
PNGMIN = 1.2.1rc2
PNGVER = $(PNGMAJ).$(PNGMIN)
prefix=/usr/local
......
......@@ -13,7 +13,7 @@ ZLIBINC=/usr/local/include
# read libpng.txt or png.h to see why PNGMAJ is 3. You should not
# have to change it.
PNGMAJ = 3
PNGMIN = 1.2.1rc1
PNGMIN = 1.2.1rc2
PNGVER = $(PNGMAJ).$(PNGMIN)
ALIGN=
......
......@@ -39,7 +39,7 @@ CFLAGS=-I$(ZLIBINC) -Wall -O3 $(ALIGN) -funroll-loops \
# have to change it.
PNGMAJ = 3
#PNGDLL = $3
PNGMIN = 1.2.1rc1
PNGMIN = 1.2.1rc2
PNGMIN_BASE = 1.2.1
PNGVER = $(PNGMAJ).$(PNGMIN)
......
......@@ -24,7 +24,7 @@ RANLIB=ranlib
# read libpng.txt or png.h to see why PNGMAJ is 3. You should not
# have to change it.
PNGMAJ = 3
PNGMIN = 1.2.1rc1
PNGMIN = 1.2.1rc2
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
......
......@@ -17,7 +17,7 @@ ZLIBINC=../zlib
# read libpng.txt or png.h to see why PNGMAJ is 3. You should not
# have to change it.
PNGMAJ = 3
PNGMIN = 1.2.1rc1
PNGMIN = 1.2.1rc2
PNGVER = $(PNGMAJ).$(PNGMIN)
CC=cc
......
......@@ -55,7 +55,7 @@ RANLIB=ranlib
# read libpng.txt or png.h to see why PNGMAJ is 3. You should not
# have to change it.
PNGMAJ = 3
PNGMIN = 1.2.1rc1
PNGMIN = 1.2.1rc2
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
......
......@@ -34,7 +34,7 @@ RANLIB=ranlib
# read libpng.txt or png.h to see why PNGMAJ is 3. You should not
# have to change it.
PNGMAJ = 3
PNGMIN = 1.2.1rc1
PNGMIN = 1.2.1rc2
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
......
......@@ -19,7 +19,7 @@ RANLIB=ranlib
# read libpng.txt or png.h to see why PNGMAJ is 3. You should not
# have to change it.
PNGMAJ = 3
PNGMIN = 1.2.1rc1
PNGMIN = 1.2.1rc2
PNGVER = $(PNGMAJ).$(PNGMIN)
# where make install puts libpng.a and png.h
......
......@@ -34,7 +34,7 @@ RANLIB=ranlib
# read libpng.txt or png.h to see why PNGMAJ is 3. You should not
# have to change it.
PNGMAJ = 3
PNGMIN = 1.2.1rc1
PNGMIN = 1.2.1rc2
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
......
......@@ -19,7 +19,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz
LDSHARED=cc -lz -dynamiclib -compatibility_version $(VER) -current_version $(VER)
PNGMAJ = 3
PNGMIN = 1.2.1rc1
PNGMIN = 1.2.1rc2
VER = $(PNGMAJ).$(PNGMIN)
SHAREDLIB=libpng
SHAREDLIB_POSTFIX=dylib
......
......@@ -11,7 +11,7 @@ INCSDIR=${LOCALBASE}/include
LIB=png
SHLIB_MAJOR= 3
SHLIB_MINOR= 1.2.1rc1
SHLIB_MINOR= 1.2.1rc2
SRCS= pnggccrd.c png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
pngwtran.c pngmem.c pngerror.c pngpread.c
......
......@@ -25,7 +25,7 @@ RANLIB=echo
# read libpng.txt or png.h to see why PNGMAJ is 3. You should not
# have to change it.
PNGMAJ = 3
PNGMIN = 1.2.1rc1
PNGMIN = 1.2.1rc2
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
......
......@@ -22,7 +22,7 @@ CFLAGS=$(ABI) -I$(ZLIBINC) -O2 $(WARNMORE) -fPIC -mabi=n32
LDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm
LDSHARED=CC $(ABI) -shared
VER=1.2.1rc1
VER=1.2.1rc2
# See "man dso" for info about shared objects
SONUM=3
LIBS=libpng.so.$(SONUM).$(VER)
......
......@@ -27,7 +27,7 @@ CFLAGS=$(ABI) -I$(ZLIBINC) -O $(WARNMORE) -DPNG_USE_PNGGCCRD -DPNG_NO_ASSEMBLER_
LDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm
LDSHARED=cc $(ABI) -shared
VER=1.2.1rc1
VER=1.2.1rc2
# See "man dso" for info about shared objects
SONUM=3
SHAREDLIB=libpng.so
......
......@@ -35,7 +35,7 @@ RANLIB=echo
# read libpng.txt or png.h to see why PNGMAJ is 3. You should not
# have to change it.
PNGMAJ = 3
PNGMIN = 1.2.1rc1
PNGMIN = 1.2.1rc2
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
......
......@@ -31,7 +31,7 @@ RANLIB=echo
# read libpng.txt or png.h to see why PNGMAJ is 3. You should not
# have to change it.
PNGMAJ = 3
PNGMIN = 1.2.1rc1
PNGMIN = 1.2.1rc2
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
......
......@@ -7,7 +7,7 @@ unit pngdef;
interface
const
PNG_LIBPNG_VER_STRING = '1.2.1rc1';
PNG_LIBPNG_VER_STRING = '1.2.1rc2';
PNG_LIBPNG_VER = 10201;
type
......
......@@ -2,7 +2,7 @@
; PNG.LIB module definition file for OS/2
;----------------------------------------
; Version 1.2.1rc1
; Version 1.2.1rc2
LIBRARY PNG
DESCRIPTION "PNG image compression library for OS/2"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册