Imported from libpng-1.2.7beta2.tar

This commit is contained in:
Glenn Randers-Pehrson 2004-08-28 23:30:07 -05:00
parent a4981d4ded
commit 67864af957
56 changed files with 356 additions and 251 deletions

View File

@ -1,5 +1,5 @@
Libpng 1.2.7beta1 - August 26, 2004
Libpng 1.2.7beta2 - August 29, 2004
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.
@ -14,8 +14,14 @@ version 1.2.7beta1 [August 26, 2004]
PNG Spec (second edition) and the PNG ISO/IEC Standard.
Added "test-dd" target in 15 makefiles, to run pngtest in DESTDIR.
Fixed bug with "optimized window size" in the IDAT datastream.
version 1.2.7beta1 [August 29, 2004]
Fixed bug with sCAL chunk and big-endian machines (David Munro).
Undid new code added in 1.2.6rc2 to update the color_type in
png_set_filler().
Added png_set_add_alpha() that updates color type.
Send comments/corrections/commendations to
png-implement@ccrc.wustl.edu or to glennrp@users.sourceforge.net
png-implement@ccrc.wustl.edu (subscription required; write to
majordomo@ccrc.wustl.edu) or to glennrp@users.sourceforge.net
Glenn R-P

View File

@ -1316,6 +1316,7 @@ version 1.0.16rc1 and 1.2.6rc1 [August 4, 2004]
Revised use of PNG_SET_USER_LIMITS_SUPPORTED macro.
Fixed wrong cast of returns from png_get_user_width|height_max().
Changed some "keep the compiler happy" from empty statements to returns,
Revised libpng.txt to remove 1.2.x stuff from the 1.0.x distribution
version 1.0.16rc2 and 1.2.6rc2 [August 7, 2004]
Revised makefile.darwin and makefile.solaris. Removed makefile.macosx.
Revised pngtest's png_debug_malloc() to use png_malloc() instead of
@ -1352,8 +1353,14 @@ version 1.2.7beta1 [August 26, 2004]
PNG Spec (second edition) and the PNG ISO/IEC Standard.
Added "test-dd" target in 15 makefiles, to run pngtest in DESTDIR.
Fixed bug with "optimized window size" in the IDAT datastream.
version 1.2.7beta2 [August 29, 2004]
Fixed bug with sCAL chunk and big-endian machines (David Munro).
Undid new code added in 1.2.6rc2 to update the color_type in
png_set_filler().
Added png_set_add_alpha() that updates color type.
Send comments/corrections/commendations to
png-implement@ccrc.wustl.edu or to glennrp@users.sourceforge.net
png-implement@ccrc.wustl.edu (subscription required; write to
majordomo@ccrc.wustl.edu) or to glennrp@users.sourceforge.net
Glenn R-P

14
INSTALL
View File

@ -1,5 +1,5 @@
Installing libpng version 1.2.7beta1 - August 26, 2004
Installing libpng version 1.2.7beta2 - August 29, 2004
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.7beta1" or "lpng109" and "zlib-1.2.1"
might be called "libpng-1.2.7beta2" or "lpng109" and "zlib-1.2.1"
or "zlib121") so that you have directories called "zlib" and "libpng".
Your directory structure should look like this:
@ -67,9 +67,9 @@ include
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
makefile.linux => Linux/ELF makefile
(gcc, creates libpng12.so.0.1.2.7beta1)
(gcc, creates libpng12.so.0.1.2.7beta2)
makefile.gcmmx => Linux/ELF makefile
(gcc, creates libpng12.so.0.1.2.7beta1,
(gcc, creates libpng12.so.0.1.2.7beta2,
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
@ -91,12 +91,12 @@ include
makefile.openbsd => OpenBSD makefile
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
makefile.sggcc => Silicon Graphics (gcc,
creates libpng12.so.0.1.2.7beta1)
creates libpng12.so.0.1.2.7beta2)
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile (gcc,
creates libpng12.so.0.1.2.7beta1)
creates libpng12.so.0.1.2.7beta2)
makefile.so9 => Solaris 9 makefile (gcc,
creates libpng12.so.0.1.2.7beta1)
creates libpng12.so.0.1.2.7beta2)
makefile.32sunu => Sun Ultra 32-bit makefile
makefile.64sunu => Sun Ultra 64-bit makefile
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc

View File

@ -1,5 +1,5 @@
Known bugs in libpng version 1.2.7beta1
Known bugs in libpng version 1.2.7beta2
1. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when
reading interlaced PNG files, when assembler code is enabled but running

View File

@ -8,7 +8,7 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
If you modify libpng you may insert additional notices immediately following
this sentence.
libpng version 1.2.6, August 26, 2004, is
libpng version 1.2.6, August 29, 2004, is
Copyright (c) 2004 Glenn Randers-Pehrson, and is
distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors
@ -106,4 +106,4 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
glennrp@users.sourceforge.net
August 26, 2004
August 29, 2004

15
README
View File

@ -1,4 +1,4 @@
README for libpng version 1.2.7beta1 - August 26, 2004 (shared library 12.0)
README for libpng version 1.2.7beta2 - August 29, 2004 (shared library 12.0)
See the note about version numbers near the top of png.h
See INSTALL for instructions on how to install libpng.
@ -104,7 +104,8 @@ This release was created and will be supported by myself (of course
based in a large way on Guy's and Andreas' earlier work), and the PNG group.
glennrp@users.sourceforge.net
png-implement@ccrc.wustl.edu
png-implement@ccrc.wustl.edu (subscription required; write to
majordomo@ccrc.wustl.edu)
You can't reach Guy, the original libpng author, at the addresses
given in previous versions of this document. He and Andreas will read mail
@ -186,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 libpng12.so.0.1.2.7beta1)
(gcc, creates libpng12.so.0.1.2.7beta2)
makefile.gcmmx => Linux/ELF makefile
(gcc, creates libpng12.so.0.1.2.7beta1,
(gcc, creates libpng12.so.0.1.2.7beta2,
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
@ -209,12 +210,12 @@ Files in this distribution:
makefile.openbsd => OpenBSD makefile
makefile.sgi => Silicon Graphics IRIX (cc, creates static lib)
makefile.sggcc => Silicon Graphics
(gcc, creates libpng12.so.0.1.2.7beta1)
(gcc, creates libpng12.so.0.1.2.7beta2)
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile
(gcc, creates libpng12.so.0.1.2.7beta1)
(gcc, creates libpng12.so.0.1.2.7beta2)
makefile.so9 => Solaris 9 makefile
(gcc, creates libpng12.so.0.1.2.7beta1)
(gcc, creates libpng12.so.0.1.2.7beta2)
makefile.32sunu => Sun Ultra 32-bit makefile
makefile.64sunu => Sun Ultra 64-bit makefile
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc

View File

@ -1,13 +1,13 @@
Y2K compliance in libpng:
=========================
August 26, 2004
August 29, 2004
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.7beta1 are Y2K compliant. It is my belief that earlier
upward through 1.2.7beta2 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

4
configure vendored
View File

@ -1,13 +1,13 @@
#!/bin/sh
echo "
There is no \"configure\" script in this distribution of
libpng-1.2.7beta1.
libpng-1.2.7beta2.
Instead, please copy the appropriate makefile for your system from the
\"scripts\" directory. Read the INSTALL file for more details.
Update, July 2004: you can get a "configure" based distribution
from the libpng distribution sites. Download the file
libpng-1.2.7beta1-config.tar.gz
libpng-1.2.7beta2-config.tar.gz
"

View File

@ -742,6 +742,9 @@ void write_png(char *file_name /* , ... other image information ... */)
png_byte image[height][width*bytes_per_pixel];
png_bytep row_pointers[height];
if (height > PNG_UINT_32_MAX/png_sizeof(png_bytep))
png_error (png_ptr, "Image is too tall to process in memory");
for (k = 0; k < height; k++)
row_pointers[k] = image + k*width*bytes_per_pixel;

320
libpng.3
View File

@ -1,6 +1,6 @@
.TH LIBPNG 3 "August 26, 2004"
.TH LIBPNG 3 "August 29, 2004"
.SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.7beta1
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.7beta2
.SH SYNOPSIS
\fI\fB
@ -402,6 +402,14 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.2.7beta1
\fI\fB
\fB#if \fI!defined(PNG_1_0_X)
\fBvoid png_set_add_alpha (png_structp \fP\fIpng_ptr\fP\fB, png_uint_32 \fP\fIfiller\fP\fB, int \fIflags\fP\fB);\fP
\fI\fB#endif
\fI\fB
\fBvoid png_set_background (png_structp \fP\fIpng_ptr\fP\fB, png_color_16p \fP\fIbackground_color\fP\fB, int \fP\fIbackground_gamma_code\fP\fB, int \fP\fIneed_expand\fP\fB, double \fIbackground_gamma\fP\fB);\fP
\fI\fB
@ -773,7 +781,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.7beta1 - August 26, 2004
libpng version 1.2.7beta2 - August 29, 2004
Updated and distributed by Glenn Randers-Pehrson
<glennrp@users.sourceforge.net>
Copyright (c) 1998-2004 Glenn Randers-Pehrson
@ -1076,28 +1084,28 @@ To inform libpng about your function, use
png_set_read_status_fn(png_ptr, read_row_callback);
%-%.SS Width and height limits
%-%
%-%The PNG specification allows the width and height of an image to be as
%-%large as 2^31-1 (0x7fffffff), or about 2.147 billion rows and columns.
%-%Since very few applications really need to process such large images,
%-%we have imposed an arbitrary 1-million limit on rows and columns.
%-%Larger images will be rejected immediately with a png_error() call. If
%-%you wish to override this limit, you can use
%-%
%-% png_set_user_limits(png_ptr, width_max, height_max);
%-%
%-%to set your own limits, or use width_max = height_max = 0x7fffffffL
%-%to allow all valid dimensions (libpng may reject some very large images
%-%anyway because of potential buffer overflow conditions).
%-%
%-%You should put this statement after you create the PNG structure and
%-%before calling png_read_info(), png_read_png(), or png_process_data().
%-%If you need to retrieve the limits that are being applied, use
%-%
%-% width_max = png_get_user_width_max(png_ptr);
%-% height_max = png_get_user_height_max(png_ptr);
%-%
.SS Width and height limits
The PNG specification allows the width and height of an image to be as
large as 2^31-1 (0x7fffffff), or about 2.147 billion rows and columns.
Since very few applications really need to process such large images,
we have imposed an arbitrary 1-million limit on rows and columns.
Larger images will be rejected immediately with a png_error() call. If
you wish to override this limit, you can use
png_set_user_limits(png_ptr, width_max, height_max);
to set your own limits, or use width_max = height_max = 0x7fffffffL
to allow all valid dimensions (libpng may reject some very large images
anyway because of potential buffer overflow conditions).
You should put this statement after you create the PNG structure and
before calling png_read_info(), png_read_png(), or png_process_data().
If you need to retrieve the limits that are being applied, use
width_max = png_get_user_width_max(png_ptr);
height_max = png_get_user_height_max(png_ptr);
.SS Unknown-chunk handling
Now you get to set the way the library processes unknown chunks in the
@ -3471,127 +3479,126 @@ When PNG_DEBUG = 1, the macros are defined, but only png_debug statements
having level = 0 will be printed. There aren't any such statements in
this version of libpng, but if you insert some they will be printed.
%-%.SH VI. Runtime optimization
%-%
%-%A new feature in libpng 1.2.0 is the ability to dynamically switch between
%-%standard and optimized versions of some routines. Currently these are
%-%limited to three computationally intensive tasks when reading PNG files:
%-%decoding row filters, expanding interlacing, and combining interlaced or
%-%transparent row data with previous row data. Currently the optimized
%-%versions are available only for x86 (Intel, AMD, etc.) platforms with
%-%MMX support, though this may change in future versions. (For example,
%-%the non-MMX assembler optimizations for zlib might become similarly
%-%runtime-selectable in future releases, in which case libpng could be
%-%extended to support them. Alternatively, the compile-time choice of
%-%floating-point versus integer routines for gamma correction might become
%-%runtime-selectable.)
%-%
%-%Because such optimizations tend to be very platform- and compiler-dependent,
%-%both in how they are written and in how they perform, the new runtime code
%-%in libpng has been written to allow programs to query, enable, and disable
%-%either specific optimizations or all such optimizations. For example, to
%-%enable all possible optimizations (bearing in mind that some "optimizations"
%-%may actually run more slowly in rare cases):
%-%
%-% #if defined(PNG_LIBPNG_VER) && (PNG_LIBPNG_VER >= 10200)
%-% png_uint_32 mask, flags;
%-%
%-% flags = png_get_asm_flags(png_ptr);
%-% mask = png_get_asm_flagmask(PNG_SELECT_READ | PNG_SELECT_WRITE);
%-% png_set_asm_flags(png_ptr, flags | mask);
%-% #endif
%-%
%-%To enable only optimizations relevant to reading PNGs, use PNG_SELECT_READ
%-%by itself when calling png_get_asm_flagmask(); similarly for optimizing
%-%only writing. To disable all optimizations:
%-%
%-% #if defined(PNG_LIBPNG_VER) && (PNG_LIBPNG_VER >= 10200)
%-% flags = png_get_asm_flags(png_ptr);
%-% mask = png_get_asm_flagmask(PNG_SELECT_READ | PNG_SELECT_WRITE);
%-% png_set_asm_flags(png_ptr, flags & ~mask);
%-% #endif
%-%
%-%To enable or disable only MMX-related features, use png_get_mmx_flagmask()
%-%in place of png_get_asm_flagmask(). The mmx version takes one additional
%-%parameter:
%-%
%-% #if defined(PNG_LIBPNG_VER) && (PNG_LIBPNG_VER >= 10200)
%-% int selection = PNG_SELECT_READ | PNG_SELECT_WRITE;
%-% int compilerID;
%-%
%-% mask = png_get_mmx_flagmask(selection, &compilerID);
%-% #endif
%-%
%-%On return, compilerID will indicate which version of the MMX assembler
%-%optimizations was compiled. Currently two flavors exist: Microsoft
%-%Visual C++ (compilerID == 1) and GNU C (a.k.a. gcc/gas, compilerID == 2).
%-%On non-x86 platforms or on systems compiled without MMX optimizations, a
%-%value of -1 is used.
%-%
%-%Note that both png_get_asm_flagmask() and png_get_mmx_flagmask() return
%-%all valid, settable optimization bits for the version of the library that's
%-%currently in use. In the case of shared (dynamically linked) libraries,
%-%this may include optimizations that did not exist at the time the code was
%-%written and compiled. It is also possible, of course, to enable only known,
%-%specific optimizations; for example:
%-%
%-% #if defined(PNG_LIBPNG_VER) && (PNG_LIBPNG_VER >= 10200)
%-% flags = PNG_ASM_FLAG_MMX_READ_COMBINE_ROW \
%-% | PNG_ASM_FLAG_MMX_READ_INTERLACE \
%-% | PNG_ASM_FLAG_MMX_READ_FILTER_SUB \
%-% | PNG_ASM_FLAG_MMX_READ_FILTER_UP \
%-% | PNG_ASM_FLAG_MMX_READ_FILTER_AVG \
%-% | PNG_ASM_FLAG_MMX_READ_FILTER_PAETH ;
%-% png_set_asm_flags(png_ptr, flags);
%-% #endif
%-%
%-%This method would enable only the MMX read-optimizations available at the
%-%time of libpng 1.2.0's release, regardless of whether a later version of
%-%the DLL were actually being used. (Also note that these functions did not
%-%exist in versions older than 1.2.0, so any attempt to run a dynamically
%-%linked app on such an older version would fail.)
%-%
%-%To determine whether the processor supports MMX instructions at all, use
%-%the png_mmx_support() function:
%-%
%-% #if defined(PNG_LIBPNG_VER) && (PNG_LIBPNG_VER >= 10200)
%-% mmxsupport = png_mmx_support();
%-% #endif
%-%
%-%It returns -1 if MMX support is not compiled into libpng, 0 if MMX code
%-%is compiled but MMX is not supported by the processor, or 1 if MMX support
%-%is fully available. Note that png_mmx_support(), png_get_mmx_flagmask(),
%-%and png_get_asm_flagmask() all may be called without allocating and ini-
%-%tializing any PNG structures (for example, as part of a usage screen or
%-%"about" box).
%-%
%-%The following code can be used to prevent an application from using the
%-%thread_unsafe features, even if libpng was built with PNG_THREAD_UNSAFE_OK
%-%defined:
%-%
%-%#if defined(PNG_USE_PNGGCCRD) && defined(PNG_ASSEMBLER_CODE_SUPPORTED) \
%-% && defined(PNG_THREAD_UNSAFE_OK)
%-% /* Disable thread-unsafe features of pnggccrd */
%-% if (png_access_version() >= 10200)
%-% {
%-% png_uint_32 mmx_disable_mask = 0;
%-% png_uint_32 asm_flags;
%-%
%-% mmx_disable_mask |= ( PNG_ASM_FLAG_MMX_READ_COMBINE_ROW \
%-% | PNG_ASM_FLAG_MMX_READ_FILTER_SUB \
%-% | PNG_ASM_FLAG_MMX_READ_FILTER_AVG \
%-% | PNG_ASM_FLAG_MMX_READ_FILTER_PAETH );
%-% asm_flags = png_get_asm_flags(png_ptr);
%-% png_set_asm_flags(png_ptr, asm_flags & ~mmx_disable_mask);
%-% }
%-%#endif
%-%
%-%For more extensive examples of runtime querying, enabling and disabling
%-%of optimized features, see contrib/gregbook/readpng2.c in the libpng
%-%source-code distribution.
%-%
%-%.SH VII. MNG support
%+%.SH VI. MNG support
.SH VI. Runtime optimization
A new feature in libpng 1.2.0 is the ability to dynamically switch between
standard and optimized versions of some routines. Currently these are
limited to three computationally intensive tasks when reading PNG files:
decoding row filters, expanding interlacing, and combining interlaced or
transparent row data with previous row data. Currently the optimized
versions are available only for x86 (Intel, AMD, etc.) platforms with
MMX support, though this may change in future versions. (For example,
the non-MMX assembler optimizations for zlib might become similarly
runtime-selectable in future releases, in which case libpng could be
extended to support them. Alternatively, the compile-time choice of
floating-point versus integer routines for gamma correction might become
runtime-selectable.)
Because such optimizations tend to be very platform- and compiler-dependent,
both in how they are written and in how they perform, the new runtime code
in libpng has been written to allow programs to query, enable, and disable
either specific optimizations or all such optimizations. For example, to
enable all possible optimizations (bearing in mind that some "optimizations"
may actually run more slowly in rare cases):
#if defined(PNG_LIBPNG_VER) && (PNG_LIBPNG_VER >= 10200)
png_uint_32 mask, flags;
flags = png_get_asm_flags(png_ptr);
mask = png_get_asm_flagmask(PNG_SELECT_READ | PNG_SELECT_WRITE);
png_set_asm_flags(png_ptr, flags | mask);
#endif
To enable only optimizations relevant to reading PNGs, use PNG_SELECT_READ
by itself when calling png_get_asm_flagmask(); similarly for optimizing
only writing. To disable all optimizations:
#if defined(PNG_LIBPNG_VER) && (PNG_LIBPNG_VER >= 10200)
flags = png_get_asm_flags(png_ptr);
mask = png_get_asm_flagmask(PNG_SELECT_READ | PNG_SELECT_WRITE);
png_set_asm_flags(png_ptr, flags & ~mask);
#endif
To enable or disable only MMX-related features, use png_get_mmx_flagmask()
in place of png_get_asm_flagmask(). The mmx version takes one additional
parameter:
#if defined(PNG_LIBPNG_VER) && (PNG_LIBPNG_VER >= 10200)
int selection = PNG_SELECT_READ | PNG_SELECT_WRITE;
int compilerID;
mask = png_get_mmx_flagmask(selection, &compilerID);
#endif
On return, compilerID will indicate which version of the MMX assembler
optimizations was compiled. Currently two flavors exist: Microsoft
Visual C++ (compilerID == 1) and GNU C (a.k.a. gcc/gas, compilerID == 2).
On non-x86 platforms or on systems compiled without MMX optimizations, a
value of -1 is used.
Note that both png_get_asm_flagmask() and png_get_mmx_flagmask() return
all valid, settable optimization bits for the version of the library that's
currently in use. In the case of shared (dynamically linked) libraries,
this may include optimizations that did not exist at the time the code was
written and compiled. It is also possible, of course, to enable only known,
specific optimizations; for example:
#if defined(PNG_LIBPNG_VER) && (PNG_LIBPNG_VER >= 10200)
flags = PNG_ASM_FLAG_MMX_READ_COMBINE_ROW \
| PNG_ASM_FLAG_MMX_READ_INTERLACE \
| PNG_ASM_FLAG_MMX_READ_FILTER_SUB \
| PNG_ASM_FLAG_MMX_READ_FILTER_UP \
| PNG_ASM_FLAG_MMX_READ_FILTER_AVG \
| PNG_ASM_FLAG_MMX_READ_FILTER_PAETH ;
png_set_asm_flags(png_ptr, flags);
#endif
This method would enable only the MMX read-optimizations available at the
time of libpng 1.2.0's release, regardless of whether a later version of
the DLL were actually being used. (Also note that these functions did not
exist in versions older than 1.2.0, so any attempt to run a dynamically
linked app on such an older version would fail.)
To determine whether the processor supports MMX instructions at all, use
the png_mmx_support() function:
#if defined(PNG_LIBPNG_VER) && (PNG_LIBPNG_VER >= 10200)
mmxsupport = png_mmx_support();
#endif
It returns -1 if MMX support is not compiled into libpng, 0 if MMX code
is compiled but MMX is not supported by the processor, or 1 if MMX support
is fully available. Note that png_mmx_support(), png_get_mmx_flagmask(),
and png_get_asm_flagmask() all may be called without allocating and ini-
tializing any PNG structures (for example, as part of a usage screen or
"about" box).
The following code can be used to prevent an application from using the
thread_unsafe features, even if libpng was built with PNG_THREAD_UNSAFE_OK
defined:
#if defined(PNG_USE_PNGGCCRD) && defined(PNG_ASSEMBLER_CODE_SUPPORTED) \
&& defined(PNG_THREAD_UNSAFE_OK)
/* Disable thread-unsafe features of pnggccrd */
if (png_access_version() >= 10200)
{
png_uint_32 mmx_disable_mask = 0;
png_uint_32 asm_flags;
mmx_disable_mask |= ( PNG_ASM_FLAG_MMX_READ_COMBINE_ROW \
| PNG_ASM_FLAG_MMX_READ_FILTER_SUB \
| PNG_ASM_FLAG_MMX_READ_FILTER_AVG \
| PNG_ASM_FLAG_MMX_READ_FILTER_PAETH );
asm_flags = png_get_asm_flags(png_ptr);
png_set_asm_flags(png_ptr, asm_flags & ~mmx_disable_mask);
}
#endif
For more extensive examples of runtime querying, enabling and disabling
of optimized features, see contrib/gregbook/readpng2.c in the libpng
source-code distribution.
.SH VII. MNG support
The MNG specification (available at http://www.libpng.org/pub/mng) allows
certain extensions to PNG for PNG images that are embedded in MNG datastreams.
@ -3616,8 +3623,7 @@ or any other MNG chunks; your application must provide its own support for
them. You may wish to consider using libmng (available at
http://www.libmng.com) instead.
%-%.SH VIII. Changes to Libpng from version 0.88
%+%.SH VII. Changes to Libpng from version 0.88
.SH VIII. Changes to Libpng from version 0.88
It should be noted that versions of libpng later than 0.96 are not
distributed by the original libpng author, Guy Schalnat, nor by
@ -3666,16 +3672,15 @@ application:
png_uint_32 application_vn = PNG_LIBPNG_VER;
%-%.SH IX. Y2K Compliance in libpng
%+%.SH VIII. Y2K Compliance in libpng
.SH IX. Y2K Compliance in libpng
August 26, 2004
August 29, 2004
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.7beta1 are Y2K compliant. It is my belief that earlier
upward through 1.2.7beta2 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
@ -3818,7 +3823,7 @@ the first widely used release:
1.2.6rc1-5 13 10206 12.so.0.1.2.6rc1-5
1.0.16 10 10016 10.so.0.1.0.16
1.2.6 13 10206 12.so.0.1.2.6
1.2.7beta1 13 10207 12.so.0.1.2.7beta1
1.2.7beta1-2 13 10207 12.so.0.1.2.7beta1-2
Henceforth the source version will match the shared-library minor
and patch numbers; the shared-library major version number will be
@ -3874,13 +3879,14 @@ possible without all of you.
Thanks to Frank J. T. Wojcik for helping with the documentation.
Libpng version 1.2.7beta1 - August 26, 2004:
Libpng version 1.2.7beta2 - August 29, 2004:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (glennrp@users.sourceforge.net).
Supported by the PNG development group
.br
(png-implement@ccrc.wustl.edu).
png-implement@ccrc.wustl.edu (subscription required; write to
majordomo@ccrc.wustl.edu).
.SH COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
@ -3891,7 +3897,7 @@ included in the libpng distribution, the latter shall prevail.)
If you modify libpng you may insert additional notices immediately following
this sentence.
libpng version 1.2.6, August 26, 2004, is
libpng version 1.2.6, August 29, 2004, is
Copyright (c) 2004 Glenn Randers-Pehrson, and is
distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors
@ -3990,7 +3996,7 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
glennrp@users.sourceforge.net
August 26, 2004
August 29, 2004
.\" end of man page

View File

@ -1,6 +1,6 @@
libpng.txt - A description on how to use and modify libpng
libpng version 1.2.7beta1 - August 26, 2004
libpng version 1.2.7beta2 - August 29, 2004
Updated and distributed by Glenn Randers-Pehrson
<glennrp@users.sourceforge.net>
Copyright (c) 1998-2004 Glenn Randers-Pehrson
@ -2893,13 +2893,13 @@ application:
IX. Y2K Compliance in libpng
August 26, 2004
August 29, 2004
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.7beta1 are Y2K compliant. It is my belief that earlier
upward through 1.2.7beta2 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

View File

@ -1,6 +1,6 @@
.TH LIBPNGPF 3 "August 26, 2004"
.TH LIBPNGPF 3 "August 29, 2004"
.SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.7beta1
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.7beta2
(private functions)
.SH SYNOPSIS
\fB\fB#include <png.h>\fP\fP

2
png.5
View File

@ -1,4 +1,4 @@
.TH PNG 5 "August 26, 2004"
.TH PNG 5 "August 29, 2004"
.SH NAME
png \- Portable Network Graphics (PNG) format
.SH DESCRIPTION

6
png.c
View File

@ -1,7 +1,7 @@
/* png.c - location for general purpose libpng functions
*
* libpng version 1.2.7beta1 - August 26, 2004
* libpng version 1.2.7beta2 - August 29, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@ -13,7 +13,7 @@
#include "png.h"
/* Generate a compiler error if there is an old png.h in the search path. */
typedef version_1_2_7beta1 Your_png_h_is_not_version_1_2_7beta1;
typedef version_1_2_7beta2 Your_png_h_is_not_version_1_2_7beta2;
/* Version information for C files. This had better match the version
* string defined in png.h. */
@ -678,7 +678,7 @@ png_charp PNGAPI
png_get_copyright(png_structp png_ptr)
{
if (&png_ptr != NULL) /* silence compiler warning about unused png_ptr */
return ((png_charp) "\n libpng version 1.2.7beta1 - August 26, 2004\n\
return ((png_charp) "\n libpng version 1.2.7beta2 - August 29, 2004\n\
Copyright (c) 1998-2004 Glenn Randers-Pehrson\n\
Copyright (c) 1996-1997 Andreas Dilger\n\
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n");

28
png.h
View File

@ -1,6 +1,6 @@
/* png.h - header file for PNG reference library
*
* libpng version 1.2.7beta1 - August 26, 2004
* libpng version 1.2.7beta2 - August 29, 2004
* Copyright (c) 1998-2004 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.)
@ -8,7 +8,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.7beta1 - August 26, 2004: Glenn
* libpng versions 0.97, January 1998, through 1.2.7beta2 - August 29, 2004: Glenn
* See also "Contributing Authors", below.
*
* Note about libpng version numbers:
@ -101,7 +101,7 @@
* 1.2.6beta1-4 13 10206 12.so.0.1.2.6beta1-4
* 1.0.16 10 10016 10.so.0.1.0.16
* 1.2.6 13 10206 12.so.0.1.2.6
* 1.2.7beta1 13 10207 12.so.0.1.2.7beta1
* 1.2.7beta1-2 13 10207 12.so.0.1.2.7beta1-2
*
* Henceforth the source version will match the shared-library major
* and minor numbers; the shared-library major version number will be
@ -131,7 +131,7 @@
* If you modify libpng you may insert additional notices immediately following
* this sentence.
*
* libpng versions 1.2.6, August 15, 2004, through 1.2.7beta1, August 26, 2004, are
* libpng versions 1.2.6, August 15, 2004, through 1.2.7beta2, August 29, 2004, are
* Copyright (c) 2004 Glenn Randers-Pehrson, and are
* distributed according to the same disclaimer and license as libpng-1.2.5
* with the following individual added to the list of Contributing Authors:
@ -243,13 +243,13 @@
* Y2K compliance in libpng:
* =========================
*
* August 26, 2004
* August 29, 2004
*
* 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.7beta1 are Y2K compliant. It is my belief that earlier
* upward through 1.2.7beta2 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
@ -305,9 +305,9 @@
*/
/* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.2.7beta1"
#define PNG_LIBPNG_VER_STRING "1.2.7beta2"
#define PNG_HEADER_VERSION_STRING \
" libpng version 1.2.7beta1 - August 26, 2004 (header)\n"
" libpng version 1.2.7beta2 - August 29, 2004 (header)\n"
#define PNG_LIBPNG_VER_SONUM 0
#define PNG_LIBPNG_VER_DLLNUM %DLLNUM%
@ -319,7 +319,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
@ -1311,7 +1311,7 @@ struct png_struct_def
/* This triggers a compiler error in png.c, if png.c and png.h
* do not agree upon the version number.
*/
typedef png_structp version_1_2_7beta1;
typedef png_structp version_1_2_7beta2;
typedef png_struct FAR * FAR * png_structpp;
@ -1483,12 +1483,17 @@ extern PNG_EXPORT(void,png_set_invert_alpha) PNGARG((png_structp png_ptr));
#endif
#if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED)
/* Add a filler byte to 24-bit RGB images. */
/* Add a filler byte to 8-bit Gray or 24-bit RGB images. */
extern PNG_EXPORT(void,png_set_filler) PNGARG((png_structp png_ptr,
png_uint_32 filler, int flags));
/* The values of the PNG_FILLER_ defines should NOT be changed */
#define PNG_FILLER_BEFORE 0
#define PNG_FILLER_AFTER 1
/* Add an alpha byte to 8-bit Gray or 24-bit RGB images. */
#if !defined(PNG_1_0_X)
extern PNG_EXPORT(void,png_set_add_alpha) PNGARG((png_structp png_ptr,
png_uint_32 filler, int flags));
#endif
#endif /* PNG_READ_FILLER_SUPPORTED || PNG_WRITE_FILLER_SUPPORTED */
#if defined(PNG_READ_SWAP_SUPPORTED) || defined(PNG_WRITE_SWAP_SUPPORTED)
@ -2572,6 +2577,7 @@ extern PNG_EXPORT(png_uint_32,png_get_user_height_max) PNGARG((png_structp
#define PNG_RGB_TO_GRAY_ERR 0x200000L
#define PNG_RGB_TO_GRAY_WARN 0x400000L
#define PNG_RGB_TO_GRAY 0x600000L /* two bits, RGB_TO_GRAY_ERR|WARN */
#define PNG_ADD_ALPHA 0x1000000L /* Added to libpng-1.2.7 */
/* flags for png_create_struct */
#define PNG_STRUCT_PNG 0x0001

View File

@ -1,7 +1,7 @@
/* pngconf.h - machine configurable file for libpng
*
* libpng version 1.2.7beta1 - August 26, 2004
* libpng version 1.2.7beta2 - August 29, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -1,7 +1,7 @@
/* pngerror.c - stub functions for i/o and memory allocation
*
* libpng version 1.2.7beta1 - August 26, 2004
* libpng version 1.2.7beta2 - August 29, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -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.7beta1 - August 26, 2004
* libpng version 1.2.7beta2 - August 29, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* Copyright (c) 1998, Intel Corporation

View File

@ -1,7 +1,7 @@
/* pngget.c - retrieval of values from info struct
*
* libpng 1.2.7beta1 - August 26, 2004
* libpng 1.2.7beta2 - August 29, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -1,7 +1,7 @@
/* pngmem.c - stub functions for memory allocation
*
* libpng version 1.2.7beta1 - August 26, 2004
* libpng version 1.2.7beta2 - August 29, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -1,7 +1,7 @@
/* pngpread.c - read a png file in push mode
*
* libpng version 1.2.7beta1 - August 26, 2004
* libpng version 1.2.7beta2 - August 29, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -1,7 +1,7 @@
/* pngread.c - read a PNG file
*
* libpng 1.2.7beta1 - August 26, 2004
* libpng 1.2.7beta2 - August 29, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@ -803,7 +803,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.7beta1
* [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.7beta2
*/
void PNGAPI
@ -853,7 +853,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.7beta1
* [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.7beta2
*/
void PNGAPI
png_read_image(png_structp png_ptr, png_bytepp image)

View File

@ -1,7 +1,7 @@
/* pngrio.c - functions for data input
*
* libpng 1.2.7beta1 - August 26, 2004
* libpng 1.2.7beta2 - August 29, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -1,7 +1,7 @@
/* pngrtran.c - transforms the data in a row for PNG readers
*
* libpng version 1.2.7beta1 - August 26, 2004
* libpng version 1.2.7beta2 - August 29, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@ -1135,8 +1135,10 @@ png_read_transform_info(png_structp png_ptr, png_infop info_ptr)
(info_ptr->color_type == PNG_COLOR_TYPE_GRAY)))
{
info_ptr->channels++;
#if 0 /* if adding a true alpha channel not just filler */
info_ptr->color_type |= PNG_COLOR_MASK_ALPHA;
/* if adding a true alpha channel not just filler */
#if !defined(PNG_1_0_X)
if (png_ptr->transformations & PNG_ADD_ALPHA)
info_ptr->color_type |= PNG_COLOR_MASK_ALPHA;
#endif
}
#endif
@ -1927,7 +1929,6 @@ png_do_read_filler(png_row_infop row_info, png_bytep row,
row_info->rowbytes = row_width * 4;
}
}
row_info->color_type |= PNG_COLOR_MASK_ALPHA;
} /* COLOR_TYPE == GRAY */
else if (row_info->color_type == PNG_COLOR_TYPE_RGB)
{
@ -2012,7 +2013,6 @@ png_do_read_filler(png_row_infop row_info, png_bytep row,
row_info->rowbytes = row_width * 8;
}
}
row_info->color_type |= PNG_COLOR_MASK_ALPHA;
} /* COLOR_TYPE == RGB */
}
#endif

View File

@ -1,6 +1,6 @@
/* pngrutil.c - utilities to read a PNG file
*
* libpng version 1.2.7beta1 - August 26, 2004
* libpng version 1.2.7beta2 - August 29, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -1,7 +1,7 @@
/* pngset.c - storage of image information into info struct
*
* libpng 1.2.7beta1 - August 26, 2004
* libpng 1.2.7beta2 - August 29, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -1,7 +1,7 @@
/* pngtest.c - a simple test program to test libpng
*
* libpng 1.2.7beta1 - August 26, 2004
* libpng 1.2.7beta2 - August 29, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@ -1551,4 +1551,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_7beta1 your_png_h_is_not_version_1_2_7beta1;
typedef version_1_2_7beta2 your_png_h_is_not_version_1_2_7beta2;

View File

@ -1,7 +1,7 @@
/* pngtrans.c - transforms the data in a row (used by both readers and writers)
*
* libpng 1.2.7beta1 - August 26, 2004
* libpng 1.2.7beta2 - August 29, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@ -118,6 +118,18 @@ png_set_filler(png_structp png_ptr, png_uint_32 filler, int filler_loc)
png_ptr->usr_channels = 2;
}
}
#if !defined(PNG_1_0_X)
/* Added to libpng-1.2.7 */
void PNGAPI
png_set_add_alpha(png_structp png_ptr, png_uint_32 filler, int filler_loc)
{
png_debug(1, "in png_set_add_alpha\n");
png_set_filler(png_ptr, filler, filler_loc);
png_ptr->transformations |= PNG_ADD_ALPHA;
}
#endif
#endif
#if defined(PNG_READ_SWAP_ALPHA_SUPPORTED) || \

View File

@ -2,7 +2,7 @@
*
* For Intel x86 CPU and Microsoft Visual C++ compiler
*
* libpng version 1.2.7beta1 - August 26, 2004
* libpng version 1.2.7beta2 - August 29, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* Copyright (c) 1998, Intel Corporation

View File

@ -1,7 +1,7 @@
/* pngwio.c - functions for data output
*
* libpng 1.2.7beta1 - August 26, 2004
* libpng 1.2.7beta2 - August 29, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -1,7 +1,7 @@
/* pngwrite.c - general routines to write a PNG file
*
* libpng 1.2.7beta1 - August 26, 2004
* libpng 1.2.7beta2 - August 29, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -1,7 +1,7 @@
/* pngwtran.c - transforms the data in a row for PNG writers
*
* libpng version 1.2.7beta1 - August 26, 2004
* libpng version 1.2.7beta2 - August 29, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@ -1,7 +1,7 @@
/* pngwutil.c - utilities to write a PNG file
*
* libpng version 1.2.7beta1 - August 26, 2004
* libpng version 1.2.7beta2 - August 29, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@ -1528,6 +1528,7 @@ png_write_sCAL(png_structp png_ptr, int unit, double width,double height)
#endif
png_size_t total_len;
char wbuf[32], hbuf[32];
png_byte bunit = unit;
png_debug(1, "in png_write_sCAL\n");
@ -1548,7 +1549,7 @@ png_write_sCAL(png_structp png_ptr, int unit, double width,double height)
png_debug1(3, "sCAL total length = %d\n", (int)total_len);
png_write_chunk_start(png_ptr, (png_bytep)png_sCAL, (png_uint_32)total_len);
png_write_chunk_data(png_ptr, (png_bytep)&unit, 1);
png_write_chunk_data(png_ptr, (png_bytep)&bunit, 1);
png_write_chunk_data(png_ptr, (png_bytep)wbuf, png_strlen(wbuf)+1);
png_write_chunk_data(png_ptr, (png_bytep)hbuf, png_strlen(hbuf));
@ -1565,6 +1566,7 @@ png_write_sCAL_s(png_structp png_ptr, int unit, png_charp width,
#endif
png_size_t total_len;
char wbuf[32], hbuf[32];
png_byte bunit = unit;
png_debug(1, "in png_write_sCAL_s\n");
@ -1574,7 +1576,7 @@ png_write_sCAL_s(png_structp png_ptr, int unit, png_charp width,
png_debug1(3, "sCAL total length = %d\n", total_len);
png_write_chunk_start(png_ptr, (png_bytep)png_sCAL, (png_uint_32)total_len);
png_write_chunk_data(png_ptr, (png_bytep)&unit, 1);
png_write_chunk_data(png_ptr, (png_bytep)&bunit, 1);
png_write_chunk_data(png_ptr, (png_bytep)wbuf, png_strlen(wbuf)+1);
png_write_chunk_data(png_ptr, (png_bytep)hbuf, png_strlen(hbuf));

View File

@ -8,7 +8,7 @@
# Modeled after libxml-config.
version=1.2.7beta1
version=1.2.7beta2
prefix=""
libdir=""
libs=""

View File

@ -6,6 +6,6 @@ includedir=${exec_prefix}/include
Name: libpng12
Description: Loads and saves PNG files
Version: 1.2.7beta1
Version: 1.2.7beta2
Libs: -L${libdir} -lpng12 -lz -lm
Cflags: -I${includedir}/libpng12

View File

@ -33,7 +33,7 @@ RANLIB=echo
LIBNAME=libpng12
PNGMAJ = 0
PNGMIN = 1.2.7beta1
PNGMIN = 1.2.7beta2
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include

View File

@ -33,7 +33,7 @@ RANLIB=echo
LIBNAME=libpng12
PNGMAJ = 0
PNGMIN = 1.2.7beta1
PNGMIN = 1.2.7beta2
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include

View File

@ -18,7 +18,7 @@ RM = rm -f
LIBNAME=libpng12
PNGMAJ = 0
PNGMIN = 1.2.7beta1
PNGMIN = 1.2.7beta2
PNGVER = $(PNGMAJ).$(PNGMIN)
prefix=/usr/local

View File

@ -12,7 +12,7 @@ ZLIBLIB=/usr/local/lib
ZLIBINC=/usr/local/include
PNGMAJ = 0
PNGMIN = 1.2.7beta1
PNGMIN = 1.2.7beta2
PNGVER = $(PNGMAJ).$(PNGMIN)
ALIGN=

View File

@ -79,7 +79,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
LIBNAME = libpng12
PNGMAJ = 0
CYGDLL = 12
PNGMIN = 1.2.7beta1
PNGMIN = 1.2.7beta2
PNGVER = $(PNGMAJ).$(PNGMIN)
SHAREDLIB=cygpng$(CYGDLL).dll

View File

@ -23,7 +23,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz
RANLIB=ranlib
PNGMAJ = 0
PNGMIN = 1.2.7beta1
PNGMIN = 1.2.7beta2
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng12

View File

@ -32,7 +32,7 @@ ZLIBLIB=../zlib
ZLIBINC=../zlib
PNGMAJ = 0
PNGMIN = 1.2.7beta1
PNGMIN = 1.2.7beta2
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng12

View File

@ -15,7 +15,7 @@
LIBNAME = libpng12
PNGMAJ = 0
PNGMIN = 1.2.7beta1
PNGMIN = 1.2.7beta2
PNGVER = $(PNGMAJ).$(PNGMIN)
CC=gcc

View File

@ -41,7 +41,7 @@ RANLIB=ranlib
#RANLIB=echo
PNGMAJ = 0
PNGMIN = 1.2.7beta1
PNGMIN = 1.2.7beta2
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng12

View File

@ -24,7 +24,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
RANLIB=ranlib
PNGMAJ = 0
PNGMIN = 1.2.7beta1
PNGMIN = 1.2.7beta2
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng12

View File

@ -5,7 +5,7 @@
LIBNAME = libpng12
PNGMAJ = 0
PNGMIN = 1.2.7beta1
PNGMIN = 1.2.7beta2
PNGVER = $(PNGMAJ).$(PNGMIN)
CC=gcc

View File

@ -13,7 +13,7 @@ INCSDIR=${LOCALBASE}/include/libpng12
LIB= png12
SHLIB_MAJOR= 0
SHLIB_MINOR= 1.2.7beta1
SHLIB_MINOR= 1.2.7beta2
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

View File

@ -13,7 +13,7 @@ INCSDIR=${LOCALBASE}/include/libpng
LIB= png
SHLIB_MAJOR= 3
SHLIB_MINOR= 1.2.7beta1
SHLIB_MINOR= 1.2.7beta2
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

View File

@ -7,7 +7,7 @@ LIBDIR= ${PREFIX}/lib
MANDIR= ${PREFIX}/man/cat
SHLIB_MAJOR= 0
SHLIB_MINOR= 1.2.7beta1
SHLIB_MINOR= 1.2.7beta2
LIB= png
SRCS= png.c pngerror.c pnggccrd.c pngget.c pngmem.c pngpread.c \

View File

@ -24,7 +24,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz -lm
RANLIB=echo
PNGMAJ = 0
PNGMIN = 1.2.7beta1
PNGMIN = 1.2.7beta2
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng12

View File

@ -18,7 +18,7 @@ ZLIBINC=../zlib
LIBNAME=libpng12
PNGMAJ = 0
PNGMIN = 1.2.7beta1
PNGMIN = 1.2.7beta2
PNGVER = $(PNGMAJ).$(PNGMIN)
CC=gcc

View File

@ -5,7 +5,7 @@
LIBNAME=libpng12
PNGMAJ = 0
PNGMIN = 1.2.7beta1
PNGMIN = 1.2.7beta2
PNGVER = $(PNGMAJ).$(PNGMIN)
# Where make install puts libpng.a, libpng12.so, and libpng12/png.h

View File

@ -34,7 +34,7 @@ LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng12 -lz -lm
RANLIB=echo
PNGMAJ = 0
PNGMIN = 1.2.7beta1
PNGMIN = 1.2.7beta2
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng12

View File

@ -30,7 +30,7 @@ LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng12 -lz -lm
RANLIB=echo
PNGMAJ = 0
PNGMIN = 1.2.7beta1
PNGMIN = 1.2.7beta2
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng12

View File

@ -2,7 +2,7 @@
; PNG.LIB module definition file for OS/2
;----------------------------------------
; Version 1.2.7beta1
; Version 1.2.7beta2
LIBRARY PNG
DESCRIPTION "PNG image compression library for OS/2"
@ -184,6 +184,34 @@ EXPORTS
png_convert_to_rfc1123
png_set_invalid
; Added at version 1.2.0:
png_mmx_support
png_permit_empty_plte
png_permit_mng_features
png_get_mmx_flagmask
png_get_asm_flagmask
png_get_asm_flags
png_get_mmx_bitdepth_threshold
png_get_mmx_rowbytes_threshold
png_set_asm_flags
png_init_mmx_flags
; Added at version 1.2.2:
png_handle_as_unknown
; Added at version 1.2.2 and deleted from 1.2.3:
; png_zalloc
; png_zfree
; Added at version 1.2.4
png_malloc_warn
; Added at version 1.2.6
png_set_user_limits
png_get_user_height_max
png_get_user_width_max
; Added at version 1.2.7
png_set_add_alpha
; These are not present when libpng is compiled with PNG_NO_GLOBAL_ARRAYS
png_libpng_ver

View File

@ -6,7 +6,7 @@ LIBRARY
DESCRIPTION "PNG image compression library for Windows"
EXPORTS
;Version 1.2.7beta1
;Version 1.2.7beta2
png_build_grayscale_palette @1
png_check_sig @2
png_chunk_error @3
@ -191,3 +191,37 @@ EXPORTS
png_write_init_3 @176
png_info_init_3 @177
png_destroy_struct @178
; Added at version 1.2.0
; For use with PNG_USER_MEM_SUPPORTED
png_destroy_struct_2 @179
png_create_read_struct_2 @180
png_create_write_struct_2 @181
png_malloc_default @182
png_free_default @183
; MNG features
png_permit_mng_features @184
; MMX support
png_mmx_support @185
png_get_mmx_flagmask @186
png_get_asm_flagmask @187
png_get_asm_flags @188
png_get_mmx_bitdepth_threshold @189
png_get_mmx_rowbytes_threshold @190
png_set_asm_flags @191
png_init_mmx_flags @192
; Strip error numbers
png_set_strip_error_numbers @193
; Added at version 1.2.2
png_handle_as_unknown @194
; Added at version 1.2.2 and deleted from 1.2.3
; png_zalloc @195
; png_zfree @196
; Added at version 1.2.4
png_malloc_warn @195
; Added at version 1.2.6
png_malloc_warn @195
png_get_user_height_max @196
png_get_user_width_max @197
png_set_user_limits @198
; Added at version 1.2.7
png_set_add_alpha @199