Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Libpng
提交
408b4212
T
Third Party Libpng
项目概览
OpenHarmony
/
Third Party Libpng
接近 2 年 前同步成功
通知
4
Star
22
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Libpng
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
408b4212
编写于
12月 18, 2000
作者:
G
Glenn Randers-Pehrson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Imported from libpng-1.0.9beta6.tar
上级
2ad31ae3
变更
48
隐藏空白更改
内联
并排
Showing
48 changed file
with
231 addition
and
121 deletion
+231
-121
ANNOUNCE
ANNOUNCE
+10
-1
CHANGES
CHANGES
+5
-0
INSTALL
INSTALL
+6
-6
LICENSE
LICENSE
+2
-2
README
README
+5
-5
Y2KINFO
Y2KINFO
+2
-2
configure
configure
+1
-1
libpng.3
libpng.3
+40
-20
libpng.txt
libpng.txt
+35
-15
libpngpf.3
libpngpf.3
+2
-2
png.5
png.5
+1
-1
png.c
png.c
+6
-6
png.h
png.h
+13
-13
pngasmrd.h
pngasmrd.h
+1
-1
pngconf.h
pngconf.h
+5
-2
pngerror.c
pngerror.c
+1
-1
pnggccrd.c
pnggccrd.c
+1
-1
pngget.c
pngget.c
+1
-1
pngmem.c
pngmem.c
+1
-1
pngpread.c
pngpread.c
+1
-1
pngread.c
pngread.c
+5
-3
pngrio.c
pngrio.c
+1
-1
pngrtran.c
pngrtran.c
+1
-1
pngrutil.c
pngrutil.c
+21
-5
pngset.c
pngset.c
+1
-1
pngtest.c
pngtest.c
+2
-2
pngtrans.c
pngtrans.c
+1
-1
pngvcrd.c
pngvcrd.c
+1
-1
pngwio.c
pngwio.c
+1
-1
pngwrite.c
pngwrite.c
+22
-1
pngwtran.c
pngwtran.c
+1
-1
pngwutil.c
pngwutil.c
+15
-1
projects/msvc/README.txt
projects/msvc/README.txt
+1
-1
projects/msvc/png32ms.def
projects/msvc/png32ms.def
+1
-1
projects/wince/READMEE.WCE
projects/wince/READMEE.WCE
+4
-4
projects/wince/READMEJ.WCE
projects/wince/READMEJ.WCE
+1
-1
projects/wince/png32ce.def
projects/wince/png32ce.def
+1
-1
scripts/makefile.aix
scripts/makefile.aix
+1
-1
scripts/makefile.beos
scripts/makefile.beos
+1
-1
scripts/makefile.cygwin
scripts/makefile.cygwin
+1
-1
scripts/makefile.dec
scripts/makefile.dec
+1
-1
scripts/makefile.gcmmx
scripts/makefile.gcmmx
+1
-1
scripts/makefile.hpux
scripts/makefile.hpux
+1
-1
scripts/makefile.linux
scripts/makefile.linux
+1
-1
scripts/makefile.sco
scripts/makefile.sco
+1
-1
scripts/makefile.sggcc
scripts/makefile.sggcc
+2
-2
scripts/makefile.solaris
scripts/makefile.solaris
+1
-1
scripts/pngdef.pas
scripts/pngdef.pas
+1
-1
未找到文件。
ANNOUNCE
浏览文件 @
408b4212
Libpng 1.0.9beta
5 - December 15
, 2000
Libpng 1.0.9beta
6 - December 18
, 2000
This is a public release of libpng, intended for use in production codes.
This is a public release of libpng, intended for use in production codes.
...
@@ -35,6 +35,15 @@ Changes since the last public release (1.0.8):
...
@@ -35,6 +35,15 @@ Changes since the last public release (1.0.8):
Change png_chunk_warning to png_warning in png_check_keyword().
Change png_chunk_warning to png_warning in png_check_keyword().
Increased the first part of msg buffer from 16 to 18 in png_chunk_error().
Increased the first part of msg buffer from 16 to 18 in png_chunk_error().
Added support for filter method 64 (for PNG datastreams embedded in MNG)
Added support for filter method 64 (for PNG datastreams embedded in MNG)
Revised png_set_filter() to accept filter method 64 when appropriate.
Added new PNG_HAVE_PNG_SIGNATURE bit to png_ptr->mode and use it to
help prevent applications from using MNG features in PNG datastreams.
Revised libpng.3/libpng.txt. Changed "filter type" to "filter method".
Send comments/corrections/commendations to
png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
Glenn R-P
Send comments/corrections/commendations to
Send comments/corrections/commendations to
png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
...
...
CHANGES
浏览文件 @
408b4212
...
@@ -857,6 +857,11 @@ version 1.0.9beta4 [December 1, 2000]
...
@@ -857,6 +857,11 @@ version 1.0.9beta4 [December 1, 2000]
Increased the first part of msg buffer from 16 to 18 in png_chunk_error().
Increased the first part of msg buffer from 16 to 18 in png_chunk_error().
version 1.0.9beta5 [December 15, 2000]
version 1.0.9beta5 [December 15, 2000]
Added support for filter method 64 (for PNG datastreams embedded in MNG)
Added support for filter method 64 (for PNG datastreams embedded in MNG)
version 1.0.9beta6 [December 18, 2000]
Revised png_set_filter() to accept filter method 64 when appropriate.
Added new PNG_HAVE_PNG_SIGNATURE bit to png_ptr->mode and use it to
help prevent applications from using MNG features in PNG datastreams.
Revised libpng.3/libpng.txt. Changed "filter type" to "filter method".
Send comments/corrections/commendations to
Send comments/corrections/commendations to
png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
...
...
INSTALL
浏览文件 @
408b4212
Installing libpng version 1.0.9beta
5 - December 15
, 2000
Installing libpng version 1.0.9beta
6 - December 18
, 2000
Before installing libpng, you must first install zlib. zlib
Before installing libpng, you must first install zlib. zlib
can usually be found wherever you got libpng. zlib can be
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
...
@@ -10,7 +10,7 @@ zlib.h and zconf.h include files that correspond to the
version of zlib that's installed.
version of zlib that's installed.
You can rename the directories that you downloaded (they
You can rename the directories that you downloaded (they
might be called "libpng-1.0.9beta
5
" or "lpng109" and "zlib-1.1.3"
might be called "libpng-1.0.9beta
6
" or "lpng109" and "zlib-1.1.3"
or "zlib113") so that you have directories called "zlib" and "libpng".
or "zlib113") so that you have directories called "zlib" and "libpng".
Your directory structure should look like this:
Your directory structure should look like this:
...
@@ -59,8 +59,8 @@ The files that are presently available in the scripts directory
...
@@ -59,8 +59,8 @@ The files that are presently available in the scripts directory
include
include
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
makefile.linux => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.9beta
5
)
makefile.linux => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.9beta
6
)
makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.9beta
5
,
makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.9beta
6
,
uses assembler code tuned for Intel MMX platform)
uses assembler code tuned for Intel MMX platform)
makefile.gcc => Generic makefile (gcc, creates static libpng.a)
makefile.gcc => Generic makefile (gcc, creates static libpng.a)
makefile.knr => Archaic UNIX Makefile that converts files with
makefile.knr => Archaic UNIX Makefile that converts files with
...
@@ -75,9 +75,9 @@ include
...
@@ -75,9 +75,9 @@ include
libpng.icc => Project file for IBM VisualAge/C++ version 4.0 or later
libpng.icc => Project file for IBM VisualAge/C++ version 4.0 or later
makefile.macosx => MACOS X Makefile
makefile.macosx => MACOS X Makefile
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.0.9beta
5
)
makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.0.9beta
6
)
makefile.sunos => Sun makefile
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.9beta
5
)
makefile.solaris => Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.9beta
6
)
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
makefile.mips => MIPS makefile
makefile.mips => MIPS makefile
makefile.acorn => Acorn makefile
makefile.acorn => Acorn makefile
...
...
LICENSE
浏览文件 @
408b4212
...
@@ -8,7 +8,7 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
...
@@ -8,7 +8,7 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
If you modify libpng you may insert additional notices immediately following
If you modify libpng you may insert additional notices immediately following
this sentence.
this sentence.
libpng versions 1.0.7, July 1, 2000, through 1.0.9beta
5, December 15
, 2000, are
libpng versions 1.0.7, July 1, 2000, through 1.0.9beta
6, December 18
, 2000, are
Copyright (c) 2000 Glenn Randers-Pehrson
Copyright (c) 2000 Glenn Randers-Pehrson
and are distributed according to the same disclaimer and license as libpng-1.0.6
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
with the following individuals added to the list of Contributing Authors
...
@@ -99,4 +99,4 @@ certification mark of the Open Source Initiative.
...
@@ -99,4 +99,4 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
Glenn Randers-Pehrson
randeg@alum.rpi.edu
randeg@alum.rpi.edu
December 1
5
, 2000
December 1
8
, 2000
README
浏览文件 @
408b4212
README for libpng 1.0.9beta
5 - December 15
, 2000 (shared library 2.1)
README for libpng 1.0.9beta
6 - December 18
, 2000 (shared library 2.1)
See the note about version numbers near the top of png.h
See the note about version numbers near the top of png.h
See INSTALL for instructions on how to install libpng.
See INSTALL for instructions on how to install libpng.
...
@@ -182,9 +182,9 @@ Files in this distribution:
...
@@ -182,9 +182,9 @@ Files in this distribution:
descrip.mms => VMS makefile for MMS or MMK
descrip.mms => VMS makefile for MMS or MMK
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
makefile.linux => Linux/ELF makefile
makefile.linux => Linux/ELF makefile
(gcc, creates libpng.so.2.1.0.9beta
5
)
(gcc, creates libpng.so.2.1.0.9beta
6
)
makefile.gcmmx => Linux/ELF makefile (gcc, creates
makefile.gcmmx => Linux/ELF makefile (gcc, creates
libpng.so.2.1.0.9beta
5
, uses assembler code
libpng.so.2.1.0.9beta
6
, uses assembler code
tuned for Intel MMX platform)
tuned for Intel MMX platform)
makefile.gcc => Generic makefile (gcc, creates static libpng.a)
makefile.gcc => Generic makefile (gcc, creates static libpng.a)
makefile.knr => Archaic UNIX Makefile that converts files with
makefile.knr => Archaic UNIX Makefile that converts files with
...
@@ -199,10 +199,10 @@ Files in this distribution:
...
@@ -199,10 +199,10 @@ Files in this distribution:
libpng.icc => Project file, IBM VisualAge/C++ 4.0 or later
libpng.icc => Project file, IBM VisualAge/C++ 4.0 or later
makefile.macosx => MACOS X Makefile
makefile.macosx => MACOS X Makefile
makefile.sgi => Silicon Graphics IRIX (cc, creates static lib)
makefile.sgi => Silicon Graphics IRIX (cc, creates static lib)
makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.0.9beta
5
)
makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.0.9beta
6
)
makefile.sunos => Sun makefile
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile
makefile.solaris => Solaris 2.X makefile
(gcc, creates libpng.so.2.1.0.9beta
5
)
(gcc, creates libpng.so.2.1.0.9beta
6
)
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
makefile.mips => MIPS makefile
makefile.mips => MIPS makefile
makefile.acorn => Acorn makefile
makefile.acorn => Acorn makefile
...
...
Y2KINFO
浏览文件 @
408b4212
Y2K compliance in libpng:
Y2K compliance in libpng:
=========================
=========================
December 1
5
, 2000
December 1
8
, 2000
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.
This is your unofficial assurance that libpng from version 0.71 and
This is your unofficial assurance that libpng from version 0.71 and
upward through 1.0.9beta
5
are Y2K compliant. It is my belief that earlier
upward through 1.0.9beta
6
are Y2K compliant. It is my belief that earlier
versions were also Y2K compliant.
versions were also Y2K compliant.
Libpng only has three year fields. One is a 2-byte unsigned integer
Libpng only has three year fields. One is a 2-byte unsigned integer
...
...
configure
浏览文件 @
408b4212
echo "
echo "
There is no \"configure\" script for Libpng-1.0.9beta
5
. Instead, please
There is no \"configure\" script for Libpng-1.0.9beta
6
. Instead, please
copy the appropriate makefile for your system from the \"scripts\"
copy the appropriate makefile for your system from the \"scripts\"
directory. Read the INSTALL file for more details.
directory. Read the INSTALL file for more details.
"
"
...
...
libpng.3
浏览文件 @
408b4212
.TH LIBPNG 3 "December 1
5
, 2000"
.TH LIBPNG 3 "December 1
8
, 2000"
.SH NAME
.SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.0.9beta
5
libpng \- Portable Network Graphics (PNG) Reference Library 1.0.9beta
6
.SH SYNOPSIS
.SH SYNOPSIS
\fI\fB
\fI\fB
...
@@ -747,7 +747,7 @@ Following is a copy of the libpng.txt file that accompanies libpng.
...
@@ -747,7 +747,7 @@ Following is a copy of the libpng.txt file that accompanies libpng.
.SH LIBPNG.TXT
.SH LIBPNG.TXT
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.0.9beta
5 - December 15
, 2000
libpng version 1.0.9beta
6 - December 18
, 2000
Updated and distributed by Glenn Randers-Pehrson
Updated and distributed by Glenn Randers-Pehrson
<randeg@alum.rpi.edu>
<randeg@alum.rpi.edu>
Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
...
@@ -1147,7 +1147,7 @@ in until png_read_end() has read the chunk data following the image.
...
@@ -1147,7 +1147,7 @@ in until png_read_end() has read the chunk data following the image.
png_get_IHDR(png_ptr, info_ptr, &width, &height,
png_get_IHDR(png_ptr, info_ptr, &width, &height,
&bit_depth, &color_type, &interlace_type,
&bit_depth, &color_type, &interlace_type,
&compression_type, &filter_
type
);
&compression_type, &filter_
method
);
width - holds the width of the image
width - holds the width of the image
in pixels (up to 2^31).
in pixels (up to 2^31).
...
@@ -1175,15 +1175,18 @@ in until png_read_end() has read the chunk data following the image.
...
@@ -1175,15 +1175,18 @@ in until png_read_end() has read the chunk data following the image.
PNG_COLOR_MASK_COLOR
PNG_COLOR_MASK_COLOR
PNG_COLOR_MASK_ALPHA
PNG_COLOR_MASK_ALPHA
filter_type - (must be PNG_FILTER_TYPE_BASE
filter_method - (must be PNG_FILTER_TYPE_BASE
for PNG 1.0)
for PNG 1.0, and can also be
PNG_INTRAPIXEL_DIFFERENCING if
the PNG datastream is embedded in
a MNG-1.0 datastream)
compression_type - (must be PNG_COMPRESSION_TYPE_BASE
compression_type - (must be PNG_COMPRESSION_TYPE_BASE
for PNG 1.0)
for PNG 1.0)
interlace_type - (PNG_INTERLACE_NONE or
interlace_type - (PNG_INTERLACE_NONE or
PNG_INTERLACE_ADAM7)
PNG_INTERLACE_ADAM7)
Any or all of interlace_type, compression_type, of
Any or all of interlace_type, compression_type, of
filter_
type can be NULL if you are not
filter_
method can be NULL if you are
interested in their values.
not
interested in their values.
channels = png_get_channels(png_ptr, info_ptr);
channels = png_get_channels(png_ptr, info_ptr);
channels - number of channels of info for the
channels - number of channels of info for the
...
@@ -1213,7 +1216,7 @@ in until png_read_end() has read the chunk data following the image.
...
@@ -1213,7 +1216,7 @@ in until png_read_end() has read the chunk data following the image.
info_ptr);
info_ptr);
color_type = png_get_color_type(png_ptr,
color_type = png_get_color_type(png_ptr,
info_ptr);
info_ptr);
filter_
type
= png_get_filter_type(png_ptr,
filter_
method
= png_get_filter_type(png_ptr,
info_ptr);
info_ptr);
compression_type = png_get_compression_type(png_ptr,
compression_type = png_get_compression_type(png_ptr,
info_ptr);
info_ptr);
...
@@ -2286,10 +2289,11 @@ maximum possible compression at the expense of slower writing. If you
...
@@ -2286,10 +2289,11 @@ maximum possible compression at the expense of slower writing. If you
have no special needs in this area, let the library do what it wants by
have no special needs in this area, let the library do what it wants by
not calling this function at all, as it has been tuned to deliver a good
not calling this function at all, as it has been tuned to deliver a good
speed/compression ratio. The second parameter to png_set_filter() is
speed/compression ratio. The second parameter to png_set_filter() is
the filter method, for which the only valid value is '0' (as of the
the filter method, for which the only valid values are 0 (as of the
July 1999 PNG specification, version 1.2). The third parameter is a
July 1999 PNG specification, version 1.2) or 64 (if you are writing
flag that indicates which filter type(s) are to be tested for each
a PNG datastream that is to be embedded in a MNG datastream). The third
scanline. See the PNG specification for details on the specific filter
parameter is a flag that indicates which filter type(s) are to be tested
for each scanline. See the PNG specification for details on the specific filter
types.
types.
...
@@ -2310,6 +2314,9 @@ it should start out with all of the filters (to ensure that the previous
...
@@ -2310,6 +2314,9 @@ it should start out with all of the filters (to ensure that the previous
row of pixels will be stored in case it's needed later), and then add
row of pixels will be stored in case it's needed later), and then add
and remove them after the start of compression.
and remove them after the start of compression.
If you are writing a PNG datastream that is to be embedded in a MNG
datastream, the second parameter can be either 0 or 64.
The png_set_compression_*() functions interface to the zlib compression
The png_set_compression_*() functions interface to the zlib compression
library, and should mostly be ignored unless you really know what you are
library, and should mostly be ignored unless you really know what you are
doing. The only generally useful call is png_set_compression_level()
doing. The only generally useful call is png_set_compression_level()
...
@@ -2348,7 +2355,7 @@ Some of the more important parts of the png_info are:
...
@@ -2348,7 +2355,7 @@ Some of the more important parts of the png_info are:
png_set_IHDR(png_ptr, info_ptr, width, height,
png_set_IHDR(png_ptr, info_ptr, width, height,
bit_depth, color_type, interlace_type,
bit_depth, color_type, interlace_type,
compression_type, filter_
type
)
compression_type, filter_
method
)
width - holds the width of the image
width - holds the width of the image
in pixels (up to 2^31).
in pixels (up to 2^31).
height - holds the height of the image
height - holds the height of the image
...
@@ -2380,7 +2387,11 @@ Some of the more important parts of the png_info are:
...
@@ -2380,7 +2387,11 @@ Some of the more important parts of the png_info are:
PNG_INTERLACE_ADAM7
PNG_INTERLACE_ADAM7
compression_type - (must be
compression_type - (must be
PNG_COMPRESSION_TYPE_DEFAULT)
PNG_COMPRESSION_TYPE_DEFAULT)
filter_type - (must be PNG_FILTER_TYPE_DEFAULT)
filter_method - (must be PNG_FILTER_TYPE_DEFAULT
or, if you are writing a PNG to
be embedded in a MNG datastream,
can also be
PNG_INTRAPIXEL_DIFFERENCING)
png_set_PLTE(png_ptr, info_ptr, palette,
png_set_PLTE(png_ptr, info_ptr, palette,
num_palette);
num_palette);
...
@@ -3217,6 +3228,10 @@ structures appropriately for all of the filter types.
...
@@ -3217,6 +3228,10 @@ structures appropriately for all of the filter types.
png_set_filter(png_ptr, PNG_FILTER_TYPE_BASE,
png_set_filter(png_ptr, PNG_FILTER_TYPE_BASE,
filters);
filters);
The second parameter can also be PNG_INTRAPIXEL_DIFFERENCING
if you are writing a PNG to be embedded in a MNG
datastream. This parameter must be the same as the
value of filter_method used in png_set_IHDR().
It is also possible to influence how libpng chooses from among the
It is also possible to influence how libpng chooses from among the
available filters. This is done in two ways - by telling it how
available filters. This is done in two ways - by telling it how
...
@@ -3345,6 +3360,11 @@ png_permit_mng_features() function:
...
@@ -3345,6 +3360,11 @@ png_permit_mng_features() function:
your mask with the set of MNG features that is
your mask with the set of MNG features that is
supported by the version of libpng that you are using.
supported by the version of libpng that you are using.
It is an error to use this function when reading or writing a standalone
PNG file with the PNG 8-byte signature. The PNG datastream must be wrapped
in a MNG datastream (as a minimum, it must have the MNG 8-byte signature
and the MHDR and MEND chunks).
.SH VII. Changes to Libpng from version 0.88
.SH VII. Changes to Libpng from version 0.88
It should be noted that versions of libpng later than 0.96 are not
It should be noted that versions of libpng later than 0.96 are not
...
@@ -3396,13 +3416,13 @@ application:
...
@@ -3396,13 +3416,13 @@ application:
.SH VIII. Y2K Compliance in libpng
.SH VIII. Y2K Compliance in libpng
December 1
5
, 2000
December 1
8
, 2000
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.
This is your unofficial assurance that libpng from version 0.71 and
This is your unofficial assurance that libpng from version 0.71 and
upward through 1.0.9beta
5
are Y2K compliant. It is my belief that earlier
upward through 1.0.9beta
6
are Y2K compliant. It is my belief that earlier
versions were also Y2K compliant.
versions were also Y2K compliant.
Libpng only has three year fields. One is a 2-byte unsigned integer that
Libpng only has three year fields. One is a 2-byte unsigned integer that
...
@@ -3543,7 +3563,7 @@ possible without all of you.
...
@@ -3543,7 +3563,7 @@ possible without all of you.
Thanks to Frank J. T. Wojcik for helping with the documentation.
Thanks to Frank J. T. Wojcik for helping with the documentation.
Libpng version 1.0.9beta
5 - December 15
, 2000:
Libpng version 1.0.9beta
6 - December 18
, 2000:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (randeg@alum.rpi.edu).
Currently maintained by Glenn Randers-Pehrson (randeg@alum.rpi.edu).
...
@@ -3560,7 +3580,7 @@ included in the libpng distribution, the latter shall prevail.)
...
@@ -3560,7 +3580,7 @@ included in the libpng distribution, the latter shall prevail.)
If you modify libpng you may insert additional notices immediately following
If you modify libpng you may insert additional notices immediately following
this sentence.
this sentence.
libpng versions 1.0.7, July 1, 2000, through 1.0.9beta
5, December 15
, 2000, are
libpng versions 1.0.7, July 1, 2000, through 1.0.9beta
6, December 18
, 2000, are
Copyright (c) 2000 Glenn Randers-Pehrson, and are
Copyright (c) 2000 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.0.6
distributed according to the same disclaimer and license as libpng-1.0.6
with the following individuals added to the list of Contributing Authors
with the following individuals added to the list of Contributing Authors
...
@@ -3651,7 +3671,7 @@ certification mark of the Open Source Initiative.
...
@@ -3651,7 +3671,7 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
Glenn Randers-Pehrson
randeg@alum.rpi.edu
randeg@alum.rpi.edu
December 1
5
, 2000
December 1
8
, 2000
.\" end of man page
.\" end of man page
libpng.txt
浏览文件 @
408b4212
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.0.9beta
5 - December 15
, 2000
libpng version 1.0.9beta
6 - December 18
, 2000
Updated and distributed by Glenn Randers-Pehrson
Updated and distributed by Glenn Randers-Pehrson
<randeg@alum.rpi.edu>
<randeg@alum.rpi.edu>
Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
...
@@ -400,7 +400,7 @@ in until png_read_end() has read the chunk data following the image.
...
@@ -400,7 +400,7 @@ in until png_read_end() has read the chunk data following the image.
png_get_IHDR(png_ptr, info_ptr, &width, &height,
png_get_IHDR(png_ptr, info_ptr, &width, &height,
&bit_depth, &color_type, &interlace_type,
&bit_depth, &color_type, &interlace_type,
&compression_type, &filter_
type
);
&compression_type, &filter_
method
);
width - holds the width of the image
width - holds the width of the image
in pixels (up to 2^31).
in pixels (up to 2^31).
...
@@ -428,15 +428,18 @@ in until png_read_end() has read the chunk data following the image.
...
@@ -428,15 +428,18 @@ in until png_read_end() has read the chunk data following the image.
PNG_COLOR_MASK_COLOR
PNG_COLOR_MASK_COLOR
PNG_COLOR_MASK_ALPHA
PNG_COLOR_MASK_ALPHA
filter_type - (must be PNG_FILTER_TYPE_BASE
filter_method - (must be PNG_FILTER_TYPE_BASE
for PNG 1.0)
for PNG 1.0, and can also be
PNG_INTRAPIXEL_DIFFERENCING if
the PNG datastream is embedded in
a MNG-1.0 datastream)
compression_type - (must be PNG_COMPRESSION_TYPE_BASE
compression_type - (must be PNG_COMPRESSION_TYPE_BASE
for PNG 1.0)
for PNG 1.0)
interlace_type - (PNG_INTERLACE_NONE or
interlace_type - (PNG_INTERLACE_NONE or
PNG_INTERLACE_ADAM7)
PNG_INTERLACE_ADAM7)
Any or all of interlace_type, compression_type, of
Any or all of interlace_type, compression_type, of
filter_
type can be NULL if you are not
filter_
method can be NULL if you are
interested in their values.
not
interested in their values.
channels = png_get_channels(png_ptr, info_ptr);
channels = png_get_channels(png_ptr, info_ptr);
channels - number of channels of info for the
channels - number of channels of info for the
...
@@ -466,7 +469,7 @@ in until png_read_end() has read the chunk data following the image.
...
@@ -466,7 +469,7 @@ in until png_read_end() has read the chunk data following the image.
info_ptr);
info_ptr);
color_type = png_get_color_type(png_ptr,
color_type = png_get_color_type(png_ptr,
info_ptr);
info_ptr);
filter_
type
= png_get_filter_type(png_ptr,
filter_
method
= png_get_filter_type(png_ptr,
info_ptr);
info_ptr);
compression_type = png_get_compression_type(png_ptr,
compression_type = png_get_compression_type(png_ptr,
info_ptr);
info_ptr);
...
@@ -1539,10 +1542,11 @@ maximum possible compression at the expense of slower writing. If you
...
@@ -1539,10 +1542,11 @@ maximum possible compression at the expense of slower writing. If you
have no special needs in this area, let the library do what it wants by
have no special needs in this area, let the library do what it wants by
not calling this function at all, as it has been tuned to deliver a good
not calling this function at all, as it has been tuned to deliver a good
speed/compression ratio. The second parameter to png_set_filter() is
speed/compression ratio. The second parameter to png_set_filter() is
the filter method, for which the only valid value is '0' (as of the
the filter method, for which the only valid values are 0 (as of the
July 1999 PNG specification, version 1.2). The third parameter is a
July 1999 PNG specification, version 1.2) or 64 (if you are writing
flag that indicates which filter type(s) are to be tested for each
a PNG datastream that is to be embedded in a MNG datastream). The third
scanline. See the PNG specification for details on the specific filter
parameter is a flag that indicates which filter type(s) are to be tested
for each scanline. See the PNG specification for details on the specific filter
types.
types.
...
@@ -1563,6 +1567,9 @@ it should start out with all of the filters (to ensure that the previous
...
@@ -1563,6 +1567,9 @@ it should start out with all of the filters (to ensure that the previous
row of pixels will be stored in case it's needed later), and then add
row of pixels will be stored in case it's needed later), and then add
and remove them after the start of compression.
and remove them after the start of compression.
If you are writing a PNG datastream that is to be embedded in a MNG
datastream, the second parameter can be either 0 or 64.
The png_set_compression_*() functions interface to the zlib compression
The png_set_compression_*() functions interface to the zlib compression
library, and should mostly be ignored unless you really know what you are
library, and should mostly be ignored unless you really know what you are
doing. The only generally useful call is png_set_compression_level()
doing. The only generally useful call is png_set_compression_level()
...
@@ -1601,7 +1608,7 @@ Some of the more important parts of the png_info are:
...
@@ -1601,7 +1608,7 @@ Some of the more important parts of the png_info are:
png_set_IHDR(png_ptr, info_ptr, width, height,
png_set_IHDR(png_ptr, info_ptr, width, height,
bit_depth, color_type, interlace_type,
bit_depth, color_type, interlace_type,
compression_type, filter_
type
)
compression_type, filter_
method
)
width - holds the width of the image
width - holds the width of the image
in pixels (up to 2^31).
in pixels (up to 2^31).
height - holds the height of the image
height - holds the height of the image
...
@@ -1633,7 +1640,11 @@ Some of the more important parts of the png_info are:
...
@@ -1633,7 +1640,11 @@ Some of the more important parts of the png_info are:
PNG_INTERLACE_ADAM7
PNG_INTERLACE_ADAM7
compression_type - (must be
compression_type - (must be
PNG_COMPRESSION_TYPE_DEFAULT)
PNG_COMPRESSION_TYPE_DEFAULT)
filter_type - (must be PNG_FILTER_TYPE_DEFAULT)
filter_method - (must be PNG_FILTER_TYPE_DEFAULT
or, if you are writing a PNG to
be embedded in a MNG datastream,
can also be
PNG_INTRAPIXEL_DIFFERENCING)
png_set_PLTE(png_ptr, info_ptr, palette,
png_set_PLTE(png_ptr, info_ptr, palette,
num_palette);
num_palette);
...
@@ -2470,6 +2481,10 @@ structures appropriately for all of the filter types.
...
@@ -2470,6 +2481,10 @@ structures appropriately for all of the filter types.
png_set_filter(png_ptr, PNG_FILTER_TYPE_BASE,
png_set_filter(png_ptr, PNG_FILTER_TYPE_BASE,
filters);
filters);
The second parameter can also be PNG_INTRAPIXEL_DIFFERENCING
if you are writing a PNG to be embedded in a MNG
datastream. This parameter must be the same as the
value of filter_method used in png_set_IHDR().
It is also possible to influence how libpng chooses from among the
It is also possible to influence how libpng chooses from among the
available filters. This is done in two ways - by telling it how
available filters. This is done in two ways - by telling it how
...
@@ -2598,6 +2613,11 @@ png_permit_mng_features() function:
...
@@ -2598,6 +2613,11 @@ png_permit_mng_features() function:
your mask with the set of MNG features that is
your mask with the set of MNG features that is
supported by the version of libpng that you are using.
supported by the version of libpng that you are using.
It is an error to use this function when reading or writing a standalone
PNG file with the PNG 8-byte signature. The PNG datastream must be wrapped
in a MNG datastream (as a minimum, it must have the MNG 8-byte signature
and the MHDR and MEND chunks).
VII. Changes to Libpng from version 0.88
VII. Changes to Libpng from version 0.88
It should be noted that versions of libpng later than 0.96 are not
It should be noted that versions of libpng later than 0.96 are not
...
@@ -2649,13 +2669,13 @@ application:
...
@@ -2649,13 +2669,13 @@ application:
VIII. Y2K Compliance in libpng
VIII. Y2K Compliance in libpng
December 1
5
, 2000
December 1
8
, 2000
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.
This is your unofficial assurance that libpng from version 0.71 and
This is your unofficial assurance that libpng from version 0.71 and
upward through 1.0.9beta
5
are Y2K compliant. It is my belief that earlier
upward through 1.0.9beta
6
are Y2K compliant. It is my belief that earlier
versions were also Y2K compliant.
versions were also Y2K compliant.
Libpng only has three year fields. One is a 2-byte unsigned integer that
Libpng only has three year fields. One is a 2-byte unsigned integer that
...
...
libpngpf.3
浏览文件 @
408b4212
.TH LIBPNGPF 3 "December 1
5
, 2000"
.TH LIBPNGPF 3 "December 1
8
, 2000"
.SH NAME
.SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.0.9beta
5
libpng \- Portable Network Graphics (PNG) Reference Library 1.0.9beta
6
(private functions)
(private functions)
.SH SYNOPSIS
.SH SYNOPSIS
\fB#include <png.h>\fP
\fB#include <png.h>\fP
...
...
png.5
浏览文件 @
408b4212
.TH PNG 5 "December 1
5
, 2000"
.TH PNG 5 "December 1
8
, 2000"
.SH NAME
.SH NAME
png \- Portable Network Graphics (PNG) format
png \- Portable Network Graphics (PNG) format
.SH DESCRIPTION
.SH DESCRIPTION
...
...
png.c
浏览文件 @
408b4212
/* png.c - location for general purpose libpng functions
/* png.c - location for general purpose libpng functions
*
*
* libpng version 1.0.9beta
5 - December 15
, 2000
* libpng version 1.0.9beta
6 - December 18
, 2000
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
...
@@ -13,14 +13,14 @@
...
@@ -13,14 +13,14 @@
#include "png.h"
#include "png.h"
/* Generate a compiler error if there is an old png.h in the search path. */
/* Generate a compiler error if there is an old png.h in the search path. */
typedef
version_1_0_9beta
5
Your_png_h_is_not_version_1_0_9beta5
;
typedef
version_1_0_9beta
6
Your_png_h_is_not_version_1_0_9beta6
;
/* Version information for C files. This had better match the version
/* Version information for C files. This had better match the version
* string defined in png.h. */
* string defined in png.h. */
#ifdef PNG_USE_GLOBAL_ARRAYS
#ifdef PNG_USE_GLOBAL_ARRAYS
/* png_libpng_ver was changed to a function in version 1.0.5c */
/* png_libpng_ver was changed to a function in version 1.0.5c */
const
char
png_libpng_ver
[
18
]
=
"1.0.9beta
5
"
;
const
char
png_libpng_ver
[
18
]
=
"1.0.9beta
6
"
;
/* png_sig was changed to a function in version 1.0.5c */
/* png_sig was changed to a function in version 1.0.5c */
/* Place to hold the signature string for a PNG file. */
/* Place to hold the signature string for a PNG file. */
...
@@ -626,7 +626,7 @@ png_charp PNGAPI
...
@@ -626,7 +626,7 @@ png_charp PNGAPI
png_get_copyright
(
png_structp
png_ptr
)
png_get_copyright
(
png_structp
png_ptr
)
{
{
if
(
png_ptr
!=
NULL
||
png_ptr
==
NULL
)
/* silence compiler warning */
if
(
png_ptr
!=
NULL
||
png_ptr
==
NULL
)
/* silence compiler warning */
return
((
png_charp
)
"
\n
libpng version 1.0.9beta
5 - December 15
, 2000
\n
\
return
((
png_charp
)
"
\n
libpng version 1.0.9beta
6 - December 18
, 2000
\n
\
Copyright (c) 1998-2000 Glenn Randers-Pehrson
\n
\
Copyright (c) 1998-2000 Glenn Randers-Pehrson
\n
\
Copyright (c) 1996, 1997 Andreas Dilger
\n
\
Copyright (c) 1996, 1997 Andreas Dilger
\n
\
Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
\n
"
);
Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
\n
"
);
...
@@ -644,8 +644,8 @@ png_get_libpng_ver(png_structp png_ptr)
...
@@ -644,8 +644,8 @@ png_get_libpng_ver(png_structp png_ptr)
{
{
/* Version of *.c files used when building libpng */
/* Version of *.c files used when building libpng */
if
(
png_ptr
!=
NULL
)
/* silence compiler warning about unused png_ptr */
if
(
png_ptr
!=
NULL
)
/* silence compiler warning about unused png_ptr */
return
((
png_charp
)
"1.0.9beta
5
"
);
return
((
png_charp
)
"1.0.9beta
6
"
);
return
((
png_charp
)
"1.0.9beta
5
"
);
return
((
png_charp
)
"1.0.9beta
6
"
);
}
}
png_charp
PNGAPI
png_charp
PNGAPI
...
...
png.h
浏览文件 @
408b4212
/* png.h - header file for PNG reference library
/* png.h - header file for PNG reference library
*
*
* libpng version 1.0.9beta
5 - December 15
, 2000
* libpng version 1.0.9beta
6 - December 18
, 2000
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
* Authors and maintainers:
* Authors and maintainers:
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
* 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.89c, June 1996, through 0.96, May 1997: Andreas Dilger
* libpng versions 0.97, January 1998, through 1.0.9beta
5 - December 15
, 2000: Glenn
* libpng versions 0.97, January 1998, through 1.0.9beta
6 - December 18
, 2000: Glenn
* See also "Contributing Authors", below.
* See also "Contributing Authors", below.
*
*
* Note about libpng version numbers:
* Note about libpng version numbers:
...
@@ -58,7 +58,7 @@
...
@@ -58,7 +58,7 @@
* 1.0.8beta1-4 10008 2.1.0.8beta1-4
* 1.0.8beta1-4 10008 2.1.0.8beta1-4
* 1.0.8rc1 10008 2.1.0.8rc1
* 1.0.8rc1 10008 2.1.0.8rc1
* 1.0.8 10008 2.1.0.8
* 1.0.8 10008 2.1.0.8
* 1.0.9beta1-
5 10009 2.1.0.9beta1-5
* 1.0.9beta1-
6 10009 2.1.0.9beta1-6
*
*
* Henceforth the source version will match the shared-library major
* Henceforth the source version will match the shared-library major
* and minor numbers; the shared-library major version number will be
* and minor numbers; the shared-library major version number will be
...
@@ -85,7 +85,7 @@
...
@@ -85,7 +85,7 @@
* If you modify libpng you may insert additional notices immediately following
* If you modify libpng you may insert additional notices immediately following
* this sentence.
* this sentence.
*
*
* libpng versions 1.0.7, July 1, 2000, through 1.0.9beta
5, December 15
, 2000, are
* libpng versions 1.0.7, July 1, 2000, through 1.0.9beta
6, December 18
, 2000, are
* Copyright (c) 2000 Glenn Randers-Pehrson, and are
* Copyright (c) 2000 Glenn Randers-Pehrson, and are
* distributed according to the same disclaimer and license as libpng-1.0.6
* distributed according to the same disclaimer and license as libpng-1.0.6
* with the following individuals added to the list of Contributing Authors
* with the following individuals added to the list of Contributing Authors
...
@@ -190,13 +190,13 @@
...
@@ -190,13 +190,13 @@
* Y2K compliance in libpng:
* Y2K compliance in libpng:
* =========================
* =========================
*
*
* December 1
5
, 2000
* December 1
8
, 2000
*
*
* 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.
*
*
* This is your unofficial assurance that libpng from version 0.71 and
* This is your unofficial assurance that libpng from version 0.71 and
* upward through 1.0.9beta
5
are Y2K compliant. It is my belief that earlier
* upward through 1.0.9beta
6
are Y2K compliant. It is my belief that earlier
* versions were also Y2K compliant.
* versions were also Y2K compliant.
*
*
* Libpng only has three year fields. One is a 2-byte unsigned integer
* Libpng only has three year fields. One is a 2-byte unsigned integer
...
@@ -252,7 +252,7 @@
...
@@ -252,7 +252,7 @@
*/
*/
/* Version information for png.h - this should match the version in png.c */
/* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.0.9beta
5
"
#define PNG_LIBPNG_VER_STRING "1.0.9beta
6
"
#define PNG_LIBPNG_VER_SONUM 2
#define PNG_LIBPNG_VER_SONUM 2
...
@@ -263,7 +263,7 @@
...
@@ -263,7 +263,7 @@
/* This should match the numeric part of the final component of
/* This should match the numeric part of the final component of
* PNG_LIBPNG_VER_STRING, omitting any leading zero: */
* PNG_LIBPNG_VER_STRING, omitting any leading zero: */
#define PNG_LIBPNG_VER_BUILD
5
#define PNG_LIBPNG_VER_BUILD
6
#define PNG_LIBPNG_BUILD_ALPHA 1
#define PNG_LIBPNG_BUILD_ALPHA 1
#define PNG_LIBPNG_BUILD_BETA 2
#define PNG_LIBPNG_BUILD_BETA 2
...
@@ -920,9 +920,8 @@ typedef void (PNGAPI *png_unknown_chunk_ptr) PNGARG((png_structp));
...
@@ -920,9 +920,8 @@ typedef void (PNGAPI *png_unknown_chunk_ptr) PNGARG((png_structp));
/* Flags for MNG supported features */
/* Flags for MNG supported features */
#define PNG_FLAG_MNG_EMPTY_PLTE 0x01
#define PNG_FLAG_MNG_EMPTY_PLTE 0x01
#define PNG_MODE_EMBEDDED_IN_MNG 0x02
#define PNG_FLAG_MNG_FILTER_64 0x04
#define PNG_FLAG_MNG_FILTER_64 0x04
#define PNG_ALL_MNG_FEATURES 0x0
7
#define PNG_ALL_MNG_FEATURES 0x0
5
typedef
png_voidp
(
*
png_malloc_ptr
)
PNGARG
((
png_structp
,
png_size_t
));
typedef
png_voidp
(
*
png_malloc_ptr
)
PNGARG
((
png_structp
,
png_size_t
));
typedef
void
(
*
png_free_ptr
)
PNGARG
((
png_structp
,
png_voidp
));
typedef
void
(
*
png_free_ptr
)
PNGARG
((
png_structp
,
png_voidp
));
...
@@ -1173,9 +1172,9 @@ struct png_struct_def
...
@@ -1173,9 +1172,9 @@ struct png_struct_def
};
};
/* This prevents a compiler error in png_get_copyright() in png.c if png.c
/* This prevents a compiler error in png_get_copyright() in png.c if png.c
and png.h are both at * version 1.0.9beta
5
and png.h are both at * version 1.0.9beta
6
*/
*/
typedef
png_structp
version_1_0_9beta
5
;
typedef
png_structp
version_1_0_9beta
6
;
typedef
png_struct
FAR
*
FAR
*
png_structpp
;
typedef
png_struct
FAR
*
FAR
*
png_structpp
;
...
@@ -2216,7 +2215,7 @@ extern PNG_EXPORT(png_uint_32,png_permit_mng_features) PNGARG((png_structp
...
@@ -2216,7 +2215,7 @@ extern PNG_EXPORT(png_uint_32,png_permit_mng_features) PNGARG((png_structp
#endif
#endif
#define PNG_HEADER_VERSION_STRING \
#define PNG_HEADER_VERSION_STRING \
" libpng version 1.0.9beta
5 - December 15
, 2000 (header)\n"
" libpng version 1.0.9beta
6 - December 18
, 2000 (header)\n"
#ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED
#ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED
/* With these routines we avoid an integer divide, which will be slower on
/* With these routines we avoid an integer divide, which will be slower on
...
@@ -2282,6 +2281,7 @@ extern PNG_EXPORT(png_uint_32,png_permit_mng_features) PNGARG((png_structp
...
@@ -2282,6 +2281,7 @@ extern PNG_EXPORT(png_uint_32,png_permit_mng_features) PNGARG((png_structp
#define PNG_WROTE_tIME 0x200
#define PNG_WROTE_tIME 0x200
#define PNG_WROTE_INFO_BEFORE_PLTE 0x400
#define PNG_WROTE_INFO_BEFORE_PLTE 0x400
#define PNG_BACKGROUND_IS_GRAY 0x800
#define PNG_BACKGROUND_IS_GRAY 0x800
#define PNG_HAVE_PNG_SIGNATURE 0x1000
/* flags for the transformations the PNG library does on the image data */
/* flags for the transformations the PNG library does on the image data */
#define PNG_BGR 0x0001
#define PNG_BGR 0x0001
...
...
pngasmrd.h
浏览文件 @
408b4212
/* pngasmrd.h - assembler version of utilities to read a PNG file
/* pngasmrd.h - assembler version of utilities to read a PNG file
*
*
* libpng 1.0.9beta
5 - December 15
, 2000
* libpng 1.0.9beta
6 - December 18
, 2000
* For conditions of distribution and use, see copyright notice in png.h
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1999, 2000 Glenn Randers-Pehrson
*
*
...
...
pngconf.h
浏览文件 @
408b4212
/* pngconf.h - machine configurable file for libpng
/* pngconf.h - machine configurable file for libpng
*
*
* libpng 1.0.9beta
5 - December 15
, 2000
* libpng 1.0.9beta
6 - December 18
, 2000
* For conditions of distribution and use, see copyright notice in png.h
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
@@ -491,9 +491,12 @@
...
@@ -491,9 +491,12 @@
#endif
#endif
#endif
#endif
/* Disable if you don't need to support PNGs that are embedded in MNG
datastreams */
#ifndef PNG_NO_MNG_FEATURES
#ifndef PNG_NO_MNG_FEATURES
#define PNG_MNG_FEATURES_SUPPORTED
/* Useful for MNG applications */
#define PNG_MNG_FEATURES_SUPPORTED
#endif
#endif
/* Deprecated, will be removed */
/* Deprecated, will be removed */
#ifndef PNG_NO_READ_EMPTY_PLTE
#ifndef PNG_NO_READ_EMPTY_PLTE
#define PNG_READ_EMPTY_PLTE_SUPPORTED
#define PNG_READ_EMPTY_PLTE_SUPPORTED
...
...
pngerror.c
浏览文件 @
408b4212
/* pngerror.c - stub functions for i/o and memory allocation
/* pngerror.c - stub functions for i/o and memory allocation
*
*
* libpng 1.0.9beta
5 - December 15
, 2000
* libpng 1.0.9beta
6 - December 18
, 2000
* For conditions of distribution and use, see copyright notice in png.h
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pnggccrd.c
浏览文件 @
408b4212
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
* and http://www.intel.com/drg/pentiumII/appnotes/923/923.htm
* and http://www.intel.com/drg/pentiumII/appnotes/923/923.htm
* for Intel's performance analysis of the MMX vs. non-MMX code.
* for Intel's performance analysis of the MMX vs. non-MMX code.
*
*
* libpng 1.0.9beta
5 - December 15
, 2000
* libpng 1.0.9beta
6 - December 18
, 2000
* For conditions of distribution and use, see copyright notice in png.h
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, Intel Corporation
* Copyright (c) 1998, Intel Corporation
...
...
pngget.c
浏览文件 @
408b4212
/* pngget.c - retrieval of values from info struct
/* pngget.c - retrieval of values from info struct
*
*
* libpng 1.0.9beta
5 - December 15
, 2000
* libpng 1.0.9beta
6 - December 18
, 2000
* For conditions of distribution and use, see copyright notice in png.h
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pngmem.c
浏览文件 @
408b4212
/* pngmem.c - stub functions for memory allocation
/* pngmem.c - stub functions for memory allocation
*
*
* libpng 1.0.9beta
5 - December 15
, 2000
* libpng 1.0.9beta
6 - December 18
, 2000
* For conditions of distribution and use, see copyright notice in png.h
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pngpread.c
浏览文件 @
408b4212
/* pngpread.c - read a png file in push mode
/* pngpread.c - read a png file in push mode
*
*
* libpng 1.0.9beta
5 - December 15
, 2000
* libpng 1.0.9beta
6 - December 18
, 2000
* For conditions of distribution and use, see copyright notice in png.h
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pngread.c
浏览文件 @
408b4212
/* pngread.c - read a PNG file
/* pngread.c - read a PNG file
*
*
* libpng 1.0.9beta
5 - December 15
, 2000
* libpng 1.0.9beta
6 - December 18
, 2000
* For conditions of distribution and use, see copyright notice in png.h
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
@@ -246,6 +246,8 @@ png_read_info(png_structp png_ptr, png_infop info_ptr)
...
@@ -246,6 +246,8 @@ png_read_info(png_structp png_ptr, png_infop info_ptr)
else
else
png_error
(
png_ptr
,
"PNG file corrupted by ASCII conversion"
);
png_error
(
png_ptr
,
"PNG file corrupted by ASCII conversion"
);
}
}
if
(
num_checked
<
3
)
png_ptr
->
mode
|=
PNG_HAVE_PNG_SIGNATURE
;
}
}
for
(;;)
for
(;;)
...
@@ -710,7 +712,7 @@ png_read_row(png_structp png_ptr, png_bytep row, png_bytep dsp_row)
...
@@ -710,7 +712,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
* not called png_set_interlace_handling(), the display_row buffer will
* be ignored, so pass NULL to it.
* be ignored, so pass NULL to it.
*
*
* [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.9beta
5
* [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.9beta
6
*/
*/
void
PNGAPI
void
PNGAPI
...
@@ -759,7 +761,7 @@ png_read_rows(png_structp png_ptr, png_bytepp row,
...
@@ -759,7 +761,7 @@ png_read_rows(png_structp png_ptr, png_bytepp row,
* only call this function once. If you desire to have an image for
* only call this function once. If you desire to have an image for
* each pass of a interlaced image, use png_read_rows() instead.
* each pass of a interlaced image, use png_read_rows() instead.
*
*
* [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.9beta
5
* [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.9beta
6
*/
*/
void
PNGAPI
void
PNGAPI
png_read_image
(
png_structp
png_ptr
,
png_bytepp
image
)
png_read_image
(
png_structp
png_ptr
,
png_bytepp
image
)
...
...
pngrio.c
浏览文件 @
408b4212
/* pngrio.c - functions for data input
/* pngrio.c - functions for data input
*
*
* libpng 1.0.9beta
5 - December 15
, 2000
* libpng 1.0.9beta
6 - December 18
, 2000
* For conditions of distribution and use, see copyright notice in png.h
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pngrtran.c
浏览文件 @
408b4212
/* pngrtran.c - transforms the data in a row for PNG readers
/* pngrtran.c - transforms the data in a row for PNG readers
*
*
* libpng 1.0.9beta
5 - December 15
, 2000
* libpng 1.0.9beta
6 - December 18
, 2000
* For conditions of distribution and use, see copyright notice in png.h
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pngrutil.c
浏览文件 @
408b4212
/* pngrutil.c - utilities to read a PNG file
/* pngrutil.c - utilities to read a PNG file
*
*
* libpng 1.0.9beta
5 - December 15
, 2000
* libpng 1.0.9beta
6 - December 18
, 2000
* For conditions of distribution and use, see copyright notice in png.h
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
@@ -353,15 +353,31 @@ png_handle_IHDR(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
...
@@ -353,15 +353,31 @@ png_handle_IHDR(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
if
(
compression_type
!=
PNG_COMPRESSION_TYPE_BASE
)
if
(
compression_type
!=
PNG_COMPRESSION_TYPE_BASE
)
png_error
(
png_ptr
,
"Unknown compression method in IHDR"
);
png_error
(
png_ptr
,
"Unknown compression method in IHDR"
);
if
(
#if defined(PNG_MNG_FEATURES_SUPPORTED)
#if defined(PNG_MNG_FEATURES_SUPPORTED)
!
((
png_ptr
->
mng_features_permitted
&
PNG_FLAG_MNG_FILTER_64
)
&&
/* Accept filter_method 64 (intrapixel differencing) only if
* 1. Libpng was compiled with PNG_MNG_FEATURES_SUPPORTED and
* 2. Libpng did not read a PNG signature (this filter_method is only
* used in PNG datastreams that are embedded in MNG datastreams) and
* 3. The application called png_permit_mng_features with a mask that
* included PNG_FLAG_MNG_FILTER_64 and
* 4. The filter_method is 64 and
* 5. The color_type is RGB or RGBA
*/
if
((
png_ptr
->
mode
&
PNG_HAVE_PNG_SIGNATURE
)
&&
png_ptr
->
mng_features_permitted
)
png_warning
(
png_ptr
,
"MNG features are not allowed in a PNG datastream
\n
"
);
if
(
!
((
png_ptr
->
mng_features_permitted
&
PNG_FLAG_MNG_FILTER_64
)
&&
(
filter_type
==
PNG_INTRAPIXEL_DIFFERENCING
)
&&
(
filter_type
==
PNG_INTRAPIXEL_DIFFERENCING
)
&&
((
png_ptr
->
mode
&
PNG_HAVE_PNG_SIGNATURE
)
==
0
)
&&
(
color_type
==
PNG_COLOR_TYPE_RGB
||
(
color_type
==
PNG_COLOR_TYPE_RGB
||
color_type
==
PNG_COLOR_TYPE_RGB_ALPHA
))
&&
color_type
==
PNG_COLOR_TYPE_RGB_ALPHA
))
&&
#endif
filter_type
!=
PNG_FILTER_TYPE_BASE
)
filter_type
!=
PNG_FILTER_TYPE_BASE
)
png_error
(
png_ptr
,
"Unknown filter method in IHDR"
);
if
(
filter_type
!=
PNG_FILTER_TYPE_BASE
)
png_warning
(
png_ptr
,
"Invalid filter method in IHDR"
);
#else
if
(
filter_type
!=
PNG_FILTER_TYPE_BASE
)
png_error
(
png_ptr
,
"Unknown filter method in IHDR"
);
png_error
(
png_ptr
,
"Unknown filter method in IHDR"
);
#endif
/* set internal variables */
/* set internal variables */
png_ptr
->
width
=
width
;
png_ptr
->
width
=
width
;
...
...
pngset.c
浏览文件 @
408b4212
/* pngset.c - storage of image information into info struct
/* pngset.c - storage of image information into info struct
*
*
* libpng 1.0.9beta
5 - December 15
, 2000
* libpng 1.0.9beta
6 - December 18
, 2000
* For conditions of distribution and use, see copyright notice in png.h
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pngtest.c
浏览文件 @
408b4212
/* pngtest.c - a simple test program to test libpng
/* pngtest.c - a simple test program to test libpng
*
*
* libpng 1.0.9beta
5 - December 15
, 2000
* libpng 1.0.9beta
6 - December 18
, 2000
* For conditions of distribution and use, see copyright notice in png.h
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
@@ -1449,4 +1449,4 @@ main(int argc, char *argv[])
...
@@ -1449,4 +1449,4 @@ main(int argc, char *argv[])
}
}
/* Generate a compiler error if there is an old png.h in the search path. */
/* Generate a compiler error if there is an old png.h in the search path. */
typedef
version_1_0_9beta
5
your_png_h_is_not_version_1_0_9beta5
;
typedef
version_1_0_9beta
6
your_png_h_is_not_version_1_0_9beta6
;
pngtrans.c
浏览文件 @
408b4212
/* pngtrans.c - transforms the data in a row (used by both readers and writers)
/* pngtrans.c - transforms the data in a row (used by both readers and writers)
*
*
* libpng 1.0.9beta
5 - December 15
, 2000
* libpng 1.0.9beta
6 - December 18
, 2000
* For conditions of distribution and use, see copyright notice in png.h
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pngvcrd.c
浏览文件 @
408b4212
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
*
*
* For Intel x86 CPU and Microsoft Visual C++ compiler
* For Intel x86 CPU and Microsoft Visual C++ compiler
*
*
* libpng 1.0.9beta
5 - December 15
, 2000
* libpng 1.0.9beta
6 - December 18
, 2000
* For conditions of distribution and use, see copyright notice in png.h
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, Intel Corporation
* Copyright (c) 1998, Intel Corporation
...
...
pngwio.c
浏览文件 @
408b4212
/* pngwio.c - functions for data output
/* pngwio.c - functions for data output
*
*
* libpng 1.0.9beta
5 - December 15
, 2000
* libpng 1.0.9beta
6 - December 18
, 2000
* For conditions of distribution and use, see copyright notice in png.h
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pngwrite.c
浏览文件 @
408b4212
/* pngwrite.c - general routines to write a PNG file
/* pngwrite.c - general routines to write a PNG file
*
*
* libpng 1.0.9beta
5 - December 15
, 2000
* libpng 1.0.9beta
6 - December 18
, 2000
* For conditions of distribution and use, see copyright notice in png.h
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
@@ -28,6 +28,13 @@ png_write_info_before_PLTE(png_structp png_ptr, png_infop info_ptr)
...
@@ -28,6 +28,13 @@ png_write_info_before_PLTE(png_structp png_ptr, png_infop info_ptr)
if
(
!
(
png_ptr
->
mode
&
PNG_WROTE_INFO_BEFORE_PLTE
))
if
(
!
(
png_ptr
->
mode
&
PNG_WROTE_INFO_BEFORE_PLTE
))
{
{
png_write_sig
(
png_ptr
);
/* write PNG signature */
png_write_sig
(
png_ptr
);
/* write PNG signature */
#if defined(PNG_MNG_FEATURES_SUPPORTED)
if
((
png_ptr
->
mode
&
PNG_HAVE_PNG_SIGNATURE
)
&&
(
png_ptr
->
mng_features_permitted
))
{
png_warning
(
png_ptr
,
"MNG features are not allowed in a PNG datastream
\n
"
);
png_ptr
->
mng_features_permitted
=
0
;
}
#endif
/* write IHDR information. */
/* write IHDR information. */
png_write_IHDR
(
png_ptr
,
info_ptr
->
width
,
info_ptr
->
height
,
png_write_IHDR
(
png_ptr
,
info_ptr
->
width
,
info_ptr
->
height
,
info_ptr
->
bit_depth
,
info_ptr
->
color_type
,
info_ptr
->
compression_type
,
info_ptr
->
bit_depth
,
info_ptr
->
color_type
,
info_ptr
->
compression_type
,
...
@@ -774,6 +781,15 @@ png_write_row(png_structp png_ptr, png_bytep row)
...
@@ -774,6 +781,15 @@ png_write_row(png_structp png_ptr, png_bytep row)
png_do_write_transformations
(
png_ptr
);
png_do_write_transformations
(
png_ptr
);
#if defined(PNG_MNG_FEATURES_SUPPORTED)
#if defined(PNG_MNG_FEATURES_SUPPORTED)
/* Write filter_method 64 (intrapixel differencing) only if
* 1. Libpng was compiled with PNG_MNG_FEATURES_SUPPORTED and
* 2. Libpng did not write a PNG signature (this filter_method is only
* used in PNG datastreams that are embedded in MNG datastreams) and
* 3. The application called png_permit_mng_features with a mask that
* included PNG_FLAG_MNG_FILTER_64 and
* 4. The filter_method is 64 and
* 5. The color_type is RGB or RGBA
*/
if
((
png_ptr
->
mng_features_permitted
&
PNG_FLAG_MNG_FILTER_64
)
&&
if
((
png_ptr
->
mng_features_permitted
&
PNG_FLAG_MNG_FILTER_64
)
&&
(
png_ptr
->
filter_type
==
PNG_INTRAPIXEL_DIFFERENCING
))
(
png_ptr
->
filter_type
==
PNG_INTRAPIXEL_DIFFERENCING
))
{
{
...
@@ -977,6 +993,11 @@ void PNGAPI
...
@@ -977,6 +993,11 @@ void PNGAPI
png_set_filter
(
png_structp
png_ptr
,
int
method
,
int
filters
)
png_set_filter
(
png_structp
png_ptr
,
int
method
,
int
filters
)
{
{
png_debug
(
1
,
"in png_set_filter
\n
"
);
png_debug
(
1
,
"in png_set_filter
\n
"
);
#if defined(PNG_MNG_FEATURES_SUPPORTED)
if
((
png_ptr
->
mng_features_permitted
&
PNG_FLAG_MNG_FILTER_64
)
&&
(
method
==
PNG_INTRAPIXEL_DIFFERENCING
))
method
=
PNG_FILTER_TYPE_BASE
;
#endif
if
(
method
==
PNG_FILTER_TYPE_BASE
)
if
(
method
==
PNG_FILTER_TYPE_BASE
)
{
{
switch
(
filters
&
(
PNG_ALL_FILTERS
|
0x07
))
switch
(
filters
&
(
PNG_ALL_FILTERS
|
0x07
))
...
...
pngwtran.c
浏览文件 @
408b4212
/* pngwtran.c - transforms the data in a row for PNG writers
/* pngwtran.c - transforms the data in a row for PNG writers
*
*
* libpng 1.0.9beta
5 - December 15
, 2000
* libpng 1.0.9beta
6 - December 18
, 2000
* For conditions of distribution and use, see copyright notice in png.h
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pngwutil.c
浏览文件 @
408b4212
/* pngwutil.c - utilities to write a PNG file
/* pngwutil.c - utilities to write a PNG file
*
*
* libpng 1.0.9beta
5 - December 15
, 2000
* libpng 1.0.9beta
6 - December 18
, 2000
* For conditions of distribution and use, see copyright notice in png.h
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
@@ -131,6 +131,8 @@ png_write_sig(png_structp png_ptr)
...
@@ -131,6 +131,8 @@ png_write_sig(png_structp png_ptr)
/* write the rest of the 8 byte signature */
/* write the rest of the 8 byte signature */
png_write_data
(
png_ptr
,
&
png_signature
[
png_ptr
->
sig_bytes
],
png_write_data
(
png_ptr
,
&
png_signature
[
png_ptr
->
sig_bytes
],
(
png_size_t
)
8
-
png_ptr
->
sig_bytes
);
(
png_size_t
)
8
-
png_ptr
->
sig_bytes
);
if
(
png_ptr
->
sig_bytes
<
3
)
png_ptr
->
mode
|=
PNG_HAVE_PNG_SIGNATURE
;
}
}
#if defined(PNG_WRITE_TEXT_SUPPORTED) || defined(PNG_WRITE_iCCP_SUPPORTED)
#if defined(PNG_WRITE_TEXT_SUPPORTED) || defined(PNG_WRITE_iCCP_SUPPORTED)
...
@@ -419,9 +421,21 @@ png_write_IHDR(png_structp png_ptr, png_uint_32 width, png_uint_32 height,
...
@@ -419,9 +421,21 @@ png_write_IHDR(png_structp png_ptr, png_uint_32 width, png_uint_32 height,
compression_type
=
PNG_COMPRESSION_TYPE_BASE
;
compression_type
=
PNG_COMPRESSION_TYPE_BASE
;
}
}
/* Write filter_method 64 (intrapixel differencing) only if
* 1. Libpng was compiled with PNG_MNG_FEATURES_SUPPORTED and
* 2. Libpng did not write a PNG signature (this filter_method is only
* used in PNG datastreams that are embedded in MNG datastreams) and
* 3. The application called png_permit_mng_features with a mask that
* included PNG_FLAG_MNG_FILTER_64 and
* 4. The filter_method is 64 and
* 5. The color_type is RGB or RGBA
*/
if
(
if
(
#if defined(PNG_MNG_FEATURES_SUPPORTED)
#if defined(PNG_MNG_FEATURES_SUPPORTED)
!
((
png_ptr
->
mng_features_permitted
&
PNG_FLAG_MNG_FILTER_64
)
&&
!
((
png_ptr
->
mng_features_permitted
&
PNG_FLAG_MNG_FILTER_64
)
&&
((
png_ptr
->
mode
&
PNG_HAVE_PNG_SIGNATURE
)
==
0
)
&&
(
color_type
==
PNG_COLOR_TYPE_RGB
||
color_type
==
PNG_COLOR_TYPE_RGB_ALPHA
)
&&
(
filter_type
==
PNG_INTRAPIXEL_DIFFERENCING
))
&&
(
filter_type
==
PNG_INTRAPIXEL_DIFFERENCING
))
&&
#endif
#endif
filter_type
!=
PNG_FILTER_TYPE_BASE
)
filter_type
!=
PNG_FILTER_TYPE_BASE
)
...
...
projects/msvc/README.txt
浏览文件 @
408b4212
Microsoft Developer Studio Build File, Format Version 6.00 for
Microsoft Developer Studio Build File, Format Version 6.00 for
libpng 1.0.9beta
5 (December 15
, 2000) and zlib
libpng 1.0.9beta
6 (December 18
, 2000) and zlib
Copyright (C) 2000 Simon-Pierre Cadieux
Copyright (C) 2000 Simon-Pierre Cadieux
For conditions of distribution and use, see copyright notice in png.h
For conditions of distribution and use, see copyright notice in png.h
...
...
projects/msvc/png32ms.def
浏览文件 @
408b4212
...
@@ -6,7 +6,7 @@ LIBRARY
...
@@ -6,7 +6,7 @@ LIBRARY
DESCRIPTION "PNG image compression library for Windows"
DESCRIPTION "PNG image compression library for Windows"
EXPORTS
EXPORTS
;Version 1.0.9beta
5
;Version 1.0.9beta
6
png_build_grayscale_palette @1
png_build_grayscale_palette @1
png_check_sig @2
png_check_sig @2
png_chunk_error @3
png_chunk_error @3
...
...
projects/wince/READMEE.WCE
浏览文件 @
408b4212
...
@@ -8,9 +8,9 @@ libpng for WindowsCE Rel.1.0
...
@@ -8,9 +8,9 @@ libpng for WindowsCE Rel.1.0
Introduction
Introduction
============
============
This is libpng 1.0.9beta
5
ported to WindowsCE 2.0 and 2.11.
This is libpng 1.0.9beta
6
ported to WindowsCE 2.0 and 2.11.
libpng 1.0.9beta
5
is a PNG reference library.
libpng 1.0.9beta
6
is a PNG reference library.
See README, a document of original libpng 1.0.9beta
5
.
See README, a document of original libpng 1.0.9beta
6
.
zlib for WindowsCE
zlib for WindowsCE
==================
==================
...
@@ -23,7 +23,7 @@ This software is provided 'as-is', without any express or implied
...
@@ -23,7 +23,7 @@ This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
arising from the use of this software.
See README and LICENSE, documents of original libpng 1.0.9beta
5
, for conditions
See README and LICENSE, documents of original libpng 1.0.9beta
6
, for conditions
of use and distribution.
of use and distribution.
Files
Files
...
...
projects/wince/READMEJ.WCE
浏览文件 @
408b4212
...
@@ -24,7 +24,7 @@ libpng
...
@@ -24,7 +24,7 @@ libpng
になったいかなる被害についても、作者、配布者、その他利用者以外の人物、
になったいかなる被害についても、作者、配布者、その他利用者以外の人物、
団体に責任をとる義務はないものとします。
団体に責任をとる義務はないものとします。
その他、このソフトウェアの利用条件については、原版である libpng 1.0.9beta
5
に
その他、このソフトウェアの利用条件については、原版である libpng 1.0.9beta
6
に
準拠するものとします。詳しくは、付属の README,LICENSE をお読みください。
準拠するものとします。詳しくは、付属の README,LICENSE をお読みください。
収録内容
収録内容
...
...
projects/wince/png32ce.def
浏览文件 @
408b4212
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
LIBRARY lpngce
LIBRARY lpngce
EXPORTS
EXPORTS
;Version 1.0.9beta
5
;Version 1.0.9beta
6
png_build_grayscale_palette @1
png_build_grayscale_palette @1
png_check_sig @2
png_check_sig @2
png_chunk_error @3
png_chunk_error @3
...
...
scripts/makefile.aix
浏览文件 @
408b4212
...
@@ -18,7 +18,7 @@ RM = rm -f
...
@@ -18,7 +18,7 @@ RM = rm -f
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# have to change it.
# have to change it.
PNGMAJ
=
2
PNGMAJ
=
2
PNGMIN
=
1.0.9beta
5
PNGMIN
=
1.0.9beta
6
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
prefix
=
/usr/local
prefix
=
/usr/local
...
...
scripts/makefile.beos
浏览文件 @
408b4212
...
@@ -31,7 +31,7 @@ RANLIB=ranlib
...
@@ -31,7 +31,7 @@ RANLIB=ranlib
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# have to change it.
# have to change it.
PNGMAJ
=
2
PNGMAJ
=
2
PNGMIN
=
1.0.9beta
5
PNGMIN
=
1.0.9beta
6
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
# where make install puts libpng.a, libpng.so*, and png.h
# where make install puts libpng.a, libpng.so*, and png.h
...
...
scripts/makefile.cygwin
浏览文件 @
408b4212
...
@@ -38,7 +38,7 @@ CFLAGS=-I$(ZLIBINC) -Wall -O3 $(ALIGN) -funroll-loops \
...
@@ -38,7 +38,7 @@ CFLAGS=-I$(ZLIBINC) -Wall -O3 $(ALIGN) -funroll-loops \
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# have to change it.
# have to change it.
PNGMAJ
=
2
PNGMAJ
=
2
PNGMIN
=
1.0.9beta
5
PNGMIN
=
1.0.9beta
6
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
SHAREDLIB
=
cygpng
$(PNGMAJ)
.dll
SHAREDLIB
=
cygpng
$(PNGMAJ)
.dll
...
...
scripts/makefile.dec
浏览文件 @
408b4212
...
@@ -17,7 +17,7 @@ ZLIBINC=../zlib
...
@@ -17,7 +17,7 @@ ZLIBINC=../zlib
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# have to change it.
# have to change it.
PNGMAJ
=
2
PNGMAJ
=
2
PNGMIN
=
1.0.9beta
5
PNGMIN
=
1.0.9beta
6
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
CC
=
cc
CC
=
cc
...
...
scripts/makefile.gcmmx
浏览文件 @
408b4212
...
@@ -37,7 +37,7 @@ RANLIB=ranlib
...
@@ -37,7 +37,7 @@ RANLIB=ranlib
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# have to change it.
# have to change it.
PNGMAJ
=
2
PNGMAJ
=
2
PNGMIN
=
1.0.9beta
5
PNGMIN
=
1.0.9beta
6
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
INCPATH
=
$(prefix)
/include
INCPATH
=
$(prefix)
/include
...
...
scripts/makefile.hpux
浏览文件 @
408b4212
...
@@ -18,7 +18,7 @@ RANLIB=ranlib
...
@@ -18,7 +18,7 @@ RANLIB=ranlib
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# have to change it.
# have to change it.
PNGMAJ
=
2
PNGMAJ
=
2
PNGMIN
=
1.0.9beta
5
PNGMIN
=
1.0.9beta
6
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
# where make install puts libpng.a and png.h
# where make install puts libpng.a and png.h
...
...
scripts/makefile.linux
浏览文件 @
408b4212
...
@@ -34,7 +34,7 @@ RANLIB=ranlib
...
@@ -34,7 +34,7 @@ RANLIB=ranlib
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# have to change it.
# have to change it.
PNGMAJ
=
2
PNGMAJ
=
2
PNGMIN
=
1.0.9beta
5
PNGMIN
=
1.0.9beta
6
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
INCPATH
=
$(prefix)
/include
INCPATH
=
$(prefix)
/include
...
...
scripts/makefile.sco
浏览文件 @
408b4212
...
@@ -25,7 +25,7 @@ RANLIB=echo
...
@@ -25,7 +25,7 @@ RANLIB=echo
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# have to change it.
# have to change it.
PNGMAJ
=
2
PNGMAJ
=
2
PNGMIN
=
1.0.9beta
5
PNGMIN
=
1.0.9beta
6
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
INCPATH
=
$(prefix)
/include
INCPATH
=
$(prefix)
/include
...
...
scripts/makefile.sggcc
浏览文件 @
408b4212
...
@@ -19,8 +19,8 @@ CFLAGS=-I$(ZLIBINC) -O2 $(WARNMORE) -fPIC -mabi=n32 # -g -DPNG_DEBUG=5
...
@@ -19,8 +19,8 @@ CFLAGS=-I$(ZLIBINC) -O2 $(WARNMORE) -fPIC -mabi=n32 # -g -DPNG_DEBUG=5
LDFLAGS
=
-L
.
-L
$(ZLIBLIB)
-lpng
-lz
-lm
LDFLAGS
=
-L
.
-L
$(ZLIBLIB)
-lpng
-lz
-lm
LDSHARED
=
gcc
-shared
LDSHARED
=
gcc
-shared
VER
=
1.0.9beta
5
VER
=
1.0.9beta
6
LIBS
=
libpng.so.1.0.9beta
5
LIBS
=
libpng.so.1.0.9beta
6
SHAREDLIB
=
libpng.so
SHAREDLIB
=
libpng.so
libdir
=
$(prefix)
/lib32
libdir
=
$(prefix)
/lib32
...
...
scripts/makefile.solaris
浏览文件 @
408b4212
...
@@ -31,7 +31,7 @@ RANLIB=echo
...
@@ -31,7 +31,7 @@ RANLIB=echo
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# have to change it.
# have to change it.
PNGMAJ
=
2
PNGMAJ
=
2
PNGMIN
=
1.0.9beta
5
PNGMIN
=
1.0.9beta
6
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
INCPATH
=
$(prefix)
/include
INCPATH
=
$(prefix)
/include
...
...
scripts/pngdef.pas
浏览文件 @
408b4212
...
@@ -5,7 +5,7 @@ unit pngdef;
...
@@ -5,7 +5,7 @@ unit pngdef;
interface
interface
const
const
PNG_LIBPNG_VER_STRING
=
'1.0.9beta
5
'
;
PNG_LIBPNG_VER_STRING
=
'1.0.9beta
6
'
;
PNG_LIBPNG_VER
=
10009
;
PNG_LIBPNG_VER
=
10009
;
type
type
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录