Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Libpng
提交
e502bca9
T
Third Party Libpng
项目概览
OpenHarmony
/
Third Party Libpng
12 个月 前同步成功
通知
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e502bca9
编写于
11月 27, 2008
作者:
G
Glenn Randers-Pehrson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Imported from libpng-1.2.34beta01.tar
上级
c4d44b72
变更
53
显示空白变更内容
内联
并排
Showing
53 changed file
with
367 addition
and
301 deletion
+367
-301
ANNOUNCE
ANNOUNCE
+42
-21
CHANGES
CHANGES
+17
-2
INSTALL
INSTALL
+8
-8
KNOWNBUG
KNOWNBUG
+1
-1
LICENSE
LICENSE
+2
-2
Makefile.am
Makefile.am
+1
-1
Makefile.in
Makefile.in
+1
-1
README
README
+7
-7
Y2KINFO
Y2KINFO
+2
-2
configure
configure
+12
-12
configure.ac
configure.ac
+3
-3
example.c
example.c
+1
-1
libpng-1.2.34beta01.txt
libpng-1.2.34beta01.txt
+4
-4
libpng.3
libpng.3
+10
-9
libpngpf.3
libpngpf.3
+2
-2
png.5
png.5
+1
-1
png.c
png.c
+114
-2
png.h
png.h
+22
-12
pngconf.h
pngconf.h
+1
-1
pngerror.c
pngerror.c
+3
-3
pngrutil.c
pngrutil.c
+1
-22
pngset.c
pngset.c
+44
-85
pngtest.c
pngtest.c
+1
-1
pngwutil.c
pngwutil.c
+37
-68
scripts/CMakeLists.txt
scripts/CMakeLists.txt
+2
-2
scripts/libpng-config-head.in
scripts/libpng-config-head.in
+1
-1
scripts/libpng.pc.in
scripts/libpng.pc.in
+1
-1
scripts/makefile.32sunu
scripts/makefile.32sunu
+1
-1
scripts/makefile.64sunu
scripts/makefile.64sunu
+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.darwin
scripts/makefile.darwin
+1
-1
scripts/makefile.dec
scripts/makefile.dec
+1
-1
scripts/makefile.elf
scripts/makefile.elf
+1
-1
scripts/makefile.gcmmx
scripts/makefile.gcmmx
+1
-1
scripts/makefile.hp64
scripts/makefile.hp64
+1
-1
scripts/makefile.hpgcc
scripts/makefile.hpgcc
+1
-1
scripts/makefile.hpux
scripts/makefile.hpux
+1
-1
scripts/makefile.linux
scripts/makefile.linux
+1
-1
scripts/makefile.mingw
scripts/makefile.mingw
+1
-1
scripts/makefile.ne12bsd
scripts/makefile.ne12bsd
+1
-1
scripts/makefile.netbsd
scripts/makefile.netbsd
+1
-1
scripts/makefile.nommx
scripts/makefile.nommx
+1
-1
scripts/makefile.openbsd
scripts/makefile.openbsd
+1
-1
scripts/makefile.sco
scripts/makefile.sco
+1
-1
scripts/makefile.sggcc
scripts/makefile.sggcc
+1
-1
scripts/makefile.sgi
scripts/makefile.sgi
+1
-1
scripts/makefile.so9
scripts/makefile.so9
+1
-1
scripts/makefile.solaris
scripts/makefile.solaris
+1
-1
scripts/makefile.solaris-x86
scripts/makefile.solaris-x86
+1
-1
scripts/pngos2.def
scripts/pngos2.def
+1
-1
scripts/pngw32.def
scripts/pngw32.def
+1
-1
未找到文件。
ANNOUNCE
浏览文件 @
e502bca9
Libpng 1.2.3
3 - October 31
, 2008
Libpng 1.2.3
4beta01 - November 27
, 2008
This is a public release of libpng, intended for use in production codes.
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.
Files available for download:
Source files with LF line endings (for Unix/Linux) and with a
"configure" script
libpng-1.2.3
3
.tar.gz
libpng-1.2.3
3
.tar.lzma
libpng-1.2.3
4beta01
.tar.gz
libpng-1.2.3
4beta01
.tar.lzma
(Get the lzma codec from <http://tukaani.org/lzma>).
libpng-1.2.3
3
.tar.bz2
libpng-1.2.3
4beta01
.tar.bz2
Source files with LF line endings (for Unix/Linux) without the
"configure" script
libpng-1.2.3
3
-no-config.tar.gz
libpng-1.2.3
3
-no-config.tar.lzma
libpng-1.2.3
3
-no-config.tar.bz2
libpng-1.2.3
4beta01
-no-config.tar.gz
libpng-1.2.3
4beta01
-no-config.tar.lzma
libpng-1.2.3
4beta01
-no-config.tar.bz2
Source files with CRLF line endings (for Windows), without the
"configure" script
lp
ng1233
.zip
lp
ng1233
.7z
lp
ng1233
.tar.bz2
lp
1234b01
.zip
lp
1234b01
.7z
lp
1234b01
.tar.bz2
Project files
libpng-1.2.3
3
-project-netware.zip
libpng-1.2.3
3
-project-wince.zip
libpng-1.2.3
4beta01
-project-netware.zip
libpng-1.2.3
4beta01
-project-wince.zip
Other information:
libpng-1.2.3
3
-README.txt
libpng-1.2.3
3
-KNOWNBUGS.txt
libpng-1.2.3
3
-LICENSE.txt
libpng-1.2.3
3
-Y2K-compliance.txt
libpng-1.2.3
3
-[previous version]-diff.txt
libpng-1.2.3
4beta01
-README.txt
libpng-1.2.3
4beta01
-KNOWNBUGS.txt
libpng-1.2.3
4beta01
-LICENSE.txt
libpng-1.2.3
4beta01
-Y2K-compliance.txt
libpng-1.2.3
4beta01
-[previous version]-diff.txt
Changes since the last public release (1.2.32):
version 1.2.33 [October 31, 2008]
version 1.2.33beta01 [October 6, 2008]
Revised makefile.darwin to fix shared library numbering.
Change png_set_gray_1_2_4_to_8() to png_set_expand_gray_1_2_4_to_8()
in example.c (debian bug report)
Changed remaining "key" to "png_ptr->chunkdata" in png_handle_tEXt()
version 1.2.33rc01 [October 15, 2008]
No changes.
version 1.0.41rc01, version 1.2.33rc02 [October 23, 2008]
Changed remaining "key" to "png_ptr->chunkdata" in png_handle_tTXt()
to avoid memory leak after memory failure while reading tEXt chunk.`
version 1.2.33 [October 31, 2008]
No changes.
version 1.2.34beta01 [November 27, 2008]
Revised png_warning() to write its message on standard output by default
when warning_fn is NULL. This was the behavior prior to libpng-1.2.9beta9.
Fixed string vs pointer-to-string error in png_check_keyword().
Added png_check_cHRM_fixed() in png.c and moved checking from pngget.c,
pngrutil.c, and pngwrite.c, and eliminated floating point cHRM checking.
Added check for zero-area RGB cHRM triange in png_check_cHRM_fixed().
In png_check_cHRM_fixed(), ensure white_y is > 0, and removed redundant
check for all-zero coordinates that is detected by the triangle check.
Revised png_warning() to write its message on standard output by default
when warning_fn is NULL.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
to subscribe) or to glennrp at users.sourceforge.net
...
...
CHANGES
浏览文件 @
e502bca9
...
...
@@ -2186,7 +2186,7 @@ version 1.2.30beta03 [July 6, 2008]
version 1.2.30beta04 [July 10, 2008]
Merged more cosmetic whitespace changes from libpng-1.4.0beta19.
version 1.0.38rc01, 1.2.30rc01 [
October 31
, 2008]
version 1.0.38rc01, 1.2.30rc01 [
November 27
, 2008]
No changes.
version 1.0.38rc02, 1.2.30rc02 [July 21, 2008]
...
...
@@ -2257,10 +2257,25 @@ version 1.2.33beta01 [October 6, 2008]
version 1.2.33rc01 [October 15, 2008]
No changes.
version 1.0.41rc01, version 1.2.33rc02 [October
31
, 2008]
version 1.0.41rc01, version 1.2.33rc02 [October
23
, 2008]
Changed remaining "key" to "png_ptr->chunkdata" in png_handle_tEXt()
to avoid memory leak after memory failure while reading tEXt chunk.`
version 1.2.33 [October 31, 2008]
No changes.
version 1.2.34beta01 [November 27, 2008]
Revised png_warning() to write its message on standard output by default
when warning_fn is NULL. This was the behavior prior to libpng-1.2.9beta9.
Fixed string vs pointer-to-string error in png_check_keyword().
Added png_check_cHRM_fixed() in png.c and moved checking from pngget.c,
pngrutil.c, and pngwrite.c, and eliminated floating point cHRM checking.
Added check for zero-area RGB cHRM triange in png_check_cHRM_fixed().
In png_check_cHRM_fixed(), ensure white_y is > 0, and removed redundant
check for all-zero coordinates that is detected by the triangle check.
Revised png_warning() to write its message on standard output by default
when warning_fn is NULL.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
...
...
INSTALL
浏览文件 @
e502bca9
Installing libpng version 1.2.3
3 - October 31
, 2008
Installing libpng version 1.2.3
4beta01 - November 27
, 2008
On Unix/Linux and similar systems, you can simply type
...
...
@@ -44,7 +44,7 @@ to have access to the 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.3
3
" or "lpng109" and "zlib-1.2.1"
might be called "libpng-1.2.3
4beta01
" 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:
...
...
@@ -101,9 +101,9 @@ include
CMakeLists.txt => "cmake" script
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
makefile.elf => Linux/ELF makefile symbol versioning,
gcc, creates libpng12.so.0.1.2.3
3
)
gcc, creates libpng12.so.0.1.2.3
4beta01
)
makefile.linux => Linux/ELF makefile
(gcc, creates libpng12.so.0.1.2.3
3
)
(gcc, creates libpng12.so.0.1.2.3
4beta01
)
makefile.gcc => Generic makefile (gcc, creates static libpng.a)
makefile.knr => Archaic UNIX Makefile that converts files with
ansi2knr (Requires ansi2knr.c from
...
...
@@ -125,14 +125,14 @@ 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.3
3
)
creates libpng12.so.0.1.2.3
4beta01
)
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile (gcc,
creates libpng12.so.0.1.2.3
3
)
creates libpng12.so.0.1.2.3
4beta01
)
makefile.solaris-x86 => Solaris/intelMMX 2.X makefile (gcc,
creates libpng12.so.0.1.2.3
3
)
creates libpng12.so.0.1.2.3
4beta01
)
makefile.so9 => Solaris 9 makefile (gcc,
creates libpng12.so.0.1.2.3
3
)
creates libpng12.so.0.1.2.3
4beta01
)
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
...
...
KNOWNBUG
浏览文件 @
e502bca9
Known bugs in libpng version 1.2.3
3
Known bugs in libpng version 1.2.3
4beta01
1. February 23, 2006: The custom makefiles don't build libpng with -lz.
...
...
LICENSE
浏览文件 @
e502bca9
...
...
@@ -8,7 +8,7 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
If you modify libpng you may insert additional notices immediately following
this sentence.
libpng versions 1.2.6, August 15, 2004, through 1.2.3
3, October 31
, 2008, are
libpng versions 1.2.6, August 15, 2004, through 1.2.3
4beta01, November 27
, 2008, are
Copyright (c) 2004, 2006-2008 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
...
...
@@ -106,4 +106,4 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
October 31
, 2008
November 27
, 2008
Makefile.am
浏览文件 @
e502bca9
...
...
@@ -86,7 +86,7 @@ EXTRA_DIST= \
${srcdir}
/contrib/pngsuite/
*
\
${srcdir}
/contrib/visupng/
*
\
$(TESTS)
\
example.c libpng-1.2.3
3
.txt pngvcrd.c
example.c libpng-1.2.3
4beta01
.txt pngvcrd.c
CLEANFILES
=
pngout.png libpng12.pc libpng12-config libpng.vers
\
libpng.sym
...
...
Makefile.in
浏览文件 @
e502bca9
...
...
@@ -331,7 +331,7 @@ EXTRA_DIST = \
${srcdir}
/contrib/pngsuite/
*
\
${srcdir}
/contrib/visupng/
*
\
$(TESTS)
\
example.c libpng-1.2.3
3
.txt pngvcrd.c
example.c libpng-1.2.3
4beta01
.txt pngvcrd.c
CLEANFILES
=
pngout.png libpng12.pc libpng12-config libpng.vers
\
libpng.sym
...
...
README
浏览文件 @
e502bca9
README for libpng version 1.2.3
3 - October 31
, 2008 (shared library 12.0)
README for libpng version 1.2.3
4beta01 - November 27
, 2008 (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.
...
...
@@ -194,11 +194,11 @@ Files in this distribution:
descrip.mms => VMS makefile for MMS or MMK
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
makefile.elf => Linux/ELF makefile symbol versioning,
gcc, creates libpng12.so.0.1.2.3
3
)
gcc, creates libpng12.so.0.1.2.3
4beta01
)
makefile.linux => Linux/ELF makefile
(gcc, creates libpng12.so.0.1.2.3
3
)
(gcc, creates libpng12.so.0.1.2.3
4beta01
)
makefile.gcmmx => Linux/ELF makefile
(gcc, creates libpng12.so.0.1.2.3
3
,
(gcc, creates libpng12.so.0.1.2.3
4beta01
,
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
...
...
@@ -220,12 +220,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.3
3
)
(gcc, creates libpng12.so.0.1.2.3
4beta01
)
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile
(gcc, creates libpng12.so.0.1.2.3
3
)
(gcc, creates libpng12.so.0.1.2.3
4beta01
)
makefile.so9 => Solaris 9 makefile
(gcc, creates libpng12.so.0.1.2.3
3
)
(gcc, creates libpng12.so.0.1.2.3
4beta01
)
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
...
...
Y2KINFO
浏览文件 @
e502bca9
Y2K compliance in libpng:
=========================
October 31
, 2008
November 27
, 2008
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.3
3
are Y2K compliant. It is my belief that earlier
upward through 1.2.3
4beta01
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
...
...
configure
浏览文件 @
e502bca9
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.62 for libpng 1.2.3
3
.
# Generated by GNU Autoconf 2.62 for libpng 1.2.3
4beta01
.
#
# Report bugs to <png-mng-implement@lists.sourceforge.net>.
#
...
...
@@ -745,8 +745,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME
=
'libpng'
PACKAGE_TARNAME
=
'libpng'
PACKAGE_VERSION
=
'1.2.3
3
'
PACKAGE_STRING
=
'libpng 1.2.3
3
'
PACKAGE_VERSION
=
'1.2.3
4beta01
'
PACKAGE_STRING
=
'libpng 1.2.3
4beta01
'
PACKAGE_BUGREPORT
=
'png-mng-implement@lists.sourceforge.net'
ac_unique_file
=
"pngget.c"
...
...
@@ -1484,7 +1484,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat
<<
_ACEOF
\`
configure' configures libpng 1.2.3
3
to adapt to many kinds of systems.
\`
configure' configures libpng 1.2.3
4beta01
to adapt to many kinds of systems.
Usage:
$0
[OPTION]... [VAR=VALUE]...
...
...
@@ -1554,7 +1554,7 @@ fi
if
test
-n
"
$ac_init_help
"
;
then
case
$ac_init_help
in
short
|
recursive
)
echo
"Configuration of libpng 1.2.3
3
:"
;;
short
|
recursive
)
echo
"Configuration of libpng 1.2.3
4beta01
:"
;;
esac
cat
<<
\
_ACEOF
...
...
@@ -1661,7 +1661,7 @@ fi
test
-n
"
$ac_init_help
"
&&
exit
$ac_status
if
$ac_init_version
;
then
cat
<<
\
_ACEOF
libpng configure 1.2.3
3
libpng configure 1.2.3
4beta01
generated by GNU Autoconf 2.62
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
...
...
@@ -1675,7 +1675,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by libpng
$as_me
1.2.3
3
, which was
It was created by libpng
$as_me
1.2.3
4beta01
, which was
generated by GNU Autoconf 2.62. Invocation command line was
$ $0
$@
...
...
@@ -2389,7 +2389,7 @@ fi
# Define the identity of the package.
PACKAGE
=
'libpng'
VERSION
=
'1.2.3
3
'
VERSION
=
'1.2.3
4beta01
'
cat
>>
confdefs.h
<<
_ACEOF
...
...
@@ -2558,10 +2558,10 @@ fi
PNGLIB_VERSION
=
1.2.3
3
PNGLIB_VERSION
=
1.2.3
4beta01
PNGLIB_MAJOR
=
1
PNGLIB_MINOR
=
2
PNGLIB_RELEASE
=
3
3
PNGLIB_RELEASE
=
3
4
...
...
@@ -13125,7 +13125,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by libpng
$as_me
1.2.3
3
, which was
This file was extended by libpng
$as_me
1.2.3
4beta01
, which was
generated by GNU Autoconf 2.62. Invocation command line was
CONFIG_FILES =
$CONFIG_FILES
...
...
@@ -13178,7 +13178,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat
>>
$CONFIG_STATUS
<<
_ACEOF
|| ac_write_fail=1
ac_cs_version="
\\
libpng config.status 1.2.3
3
libpng config.status 1.2.3
4beta01
configured by
$0
, generated by GNU Autoconf 2.62,
with options
\\
"`
$as_echo
"
$ac_configure_args
" | sed 's/^ //; s/[
\\
""
\`\$
]/
\\\\
&/g'`
\\
"
...
...
configure.ac
浏览文件 @
e502bca9
...
...
@@ -18,15 +18,15 @@ AC_PREREQ(2.59)
dnl Version number stuff here:
AC_INIT([libpng], [1.2.3
3
], [png-mng-implement@lists.sourceforge.net])
AC_INIT([libpng], [1.2.3
4beta01
], [png-mng-implement@lists.sourceforge.net])
AM_INIT_AUTOMAKE
dnl stop configure from automagically running automake
AM_MAINTAINER_MODE
PNGLIB_VERSION=1.2.3
3
PNGLIB_VERSION=1.2.3
4beta01
PNGLIB_MAJOR=1
PNGLIB_MINOR=2
PNGLIB_RELEASE=3
3
PNGLIB_RELEASE=3
4
dnl End of version number stuff
...
...
example.c
浏览文件 @
e502bca9
...
...
@@ -2,7 +2,7 @@
#if 0 /* in case someone actually tries to compile this */
/* example.c - an example of using libpng
* Last changed in libpng 1.2.33 [
October 31
, 2008]
* Last changed in libpng 1.2.33 [
November 27
, 2008]
* This file has been placed in the public domain by the authors.
* Maintained 1998-2008 Glenn Randers-Pehrson
* Maintained 1996, 1997 Andreas Dilger)
...
...
libpng-1.2.3
3
.txt
→
libpng-1.2.3
4beta01
.txt
浏览文件 @
e502bca9
libpng.txt - A description on how to use and modify libpng
libpng version 1.2.3
3 - October 31
, 2008
libpng version 1.2.3
4beta01 - November 27
, 2008
Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net>
Copyright (c) 1998-2008 Glenn Randers-Pehrson
...
...
@@ -9,7 +9,7 @@ libpng.txt - A description on how to use and modify libpng
Based on:
libpng versions 0.97, January 1998, through 1.2.3
3 - October 31
, 2008
libpng versions 0.97, January 1998, through 1.2.3
4beta01 - November 27
, 2008
Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2008 Glenn Randers-Pehrson
...
...
@@ -2852,13 +2852,13 @@ application:
IX. Y2K Compliance in libpng
October 31
, 2008
November 27
, 2008
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.3
3
are Y2K compliant. It is my belief that earlier
upward through 1.2.3
4beta01
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
...
...
libpng.3
浏览文件 @
e502bca9
.TH LIBPNG 3 "
October 31
, 2008"
.TH LIBPNG 3 "
November 27
, 2008"
.SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.3
3
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.3
4beta01
.SH SYNOPSIS
\fI\fB
...
...
@@ -821,7 +821,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.3
3 - October 31
, 2008
libpng version 1.2.3
4beta01 - November 27
, 2008
Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net>
Copyright (c) 1998-2008 Glenn Randers-Pehrson
...
...
@@ -830,7 +830,7 @@ libpng.txt - A description on how to use and modify libpng
Based on:
libpng versions 0.97, January 1998, through 1.2.3
3 - October 31
, 2008
libpng versions 0.97, January 1998, through 1.2.3
4beta01 - November 27
, 2008
Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2008 Glenn Randers-Pehrson
...
...
@@ -3673,13 +3673,13 @@ application:
.SH IX. Y2K Compliance in libpng
October 31
, 2008
November 27
, 2008
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.3
3
are Y2K compliant. It is my belief that earlier
upward through 1.2.3
4beta01
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
...
...
@@ -3931,6 +3931,7 @@ the first widely used release:
1.0.41rc01 10 10041 10.so.0.41[.0]
1.2.33 13 10233 12.so.0.33[.0]
1.0.41 10 10041 10.so.0.41[.0]
1.2.34beta01 13 10234 12.so.0.34[.0]
Henceforth the source version will match the shared-library minor
and patch numbers; the shared-library major version number will be
...
...
@@ -3986,7 +3987,7 @@ possible without all of you.
Thanks to Frank J. T. Wojcik for helping with the documentation.
Libpng version 1.2.3
3 - October 31
, 2008:
Libpng version 1.2.3
4beta01 - November 27
, 2008:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
...
...
@@ -4007,7 +4008,7 @@ included in the libpng distribution, the latter shall prevail.)
If you modify libpng you may insert additional notices immediately following
this sentence.
libpng versions 1.2.6, August 15, 2004, through 1.2.3
3, October 31
, 2008, are
libpng versions 1.2.6, August 15, 2004, through 1.2.3
4beta01, November 27
, 2008, are
Copyright (c) 2004,2006-2008 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
...
...
@@ -4106,7 +4107,7 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
October 31
, 2008
November 27
, 2008
.\" end of man page
libpngpf.3
浏览文件 @
e502bca9
.TH LIBPNGPF 3 "
October 31
, 2008"
.TH LIBPNGPF 3 "
November 27
, 2008"
.SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.3
3
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.3
4beta01
(private functions)
.SH SYNOPSIS
\fB#include <png.h>\fP
...
...
png.5
浏览文件 @
e502bca9
.TH PNG 5 "
October 31
, 2008"
.TH PNG 5 "
November 27
, 2008"
.SH NAME
png \- Portable Network Graphics (PNG) format
.SH DESCRIPTION
...
...
png.c
浏览文件 @
e502bca9
...
...
@@ -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_3
3
Your_png_h_is_not_version_1_2_33
;
typedef
version_1_2_3
4beta01
Your_png_h_is_not_version_1_2_34beta01
;
/* Version information for C files. This had better match the version
* string defined in png.h. */
...
...
@@ -694,7 +694,7 @@ png_charp PNGAPI
png_get_copyright
(
png_structp
png_ptr
)
{
png_ptr
=
png_ptr
;
/* silence compiler warning about unused png_ptr */
return
((
png_charp
)
"
\n
libpng version 1.2.3
3 - October 31
, 2008
\n
\
return
((
png_charp
)
"
\n
libpng version 1.2.3
4beta01 - November 27
, 2008
\n
\
Copyright (c) 1998-2008 Glenn Randers-Pehrson
\n
\
Copyright (c) 1996-1997 Andreas Dilger
\n
\
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
\n
"
);
...
...
@@ -796,4 +796,116 @@ png_convert_size(size_t size)
return
((
png_size_t
)
size
);
}
#endif
/* PNG_SIZE_T */
/* Added at libpng version 1.2.34 and 1.4.0 (moved from pngset.c) */
#if defined(PNG_cHRM_SUPPORTED)
#if !defined(PNG_NO_CHECK_cHRM)
/*
Multiply two 32-bit numbers, V1 and V2, using 32-bit
arithmetic, to produce a 64 bit result in the HI/LO words.
A B
x C D
------
AD || BD
AC || CB || 0
where A and B are the high and low 16-bit words of V1,
C and D are the 16-bit words of V2, AD is the product of
A and D, and X || Y is (X << 16) + Y.
*/
void
png_64bit_product
(
long
v1
,
long
v2
,
unsigned
long
*
hi_product
,
unsigned
long
*
lo_product
)
{
int
a
,
b
,
c
,
d
;
long
lo
,
hi
,
x
,
y
;
a
=
(
v1
>>
16
)
&
0xffff
;
b
=
v1
&
0xffff
;
c
=
(
v2
>>
16
)
&
0xffff
;
d
=
v2
&
0xffff
;
lo
=
b
*
d
;
/* BD */
x
=
a
*
d
+
c
*
b
;
/* AD + CB */
y
=
((
lo
>>
16
)
&
0xffff
)
+
x
;
lo
=
(
lo
&
0xffff
)
|
((
y
&
0xffff
)
<<
16
);
hi
=
(
y
>>
16
)
&
0xffff
;
hi
+=
a
*
c
;
/* AC */
*
hi_product
=
(
unsigned
long
)
hi
;
*
lo_product
=
(
unsigned
long
)
lo
;
}
int
/* private */
png_check_cHRM_fixed
(
png_structp
png_ptr
,
png_fixed_point
white_x
,
png_fixed_point
white_y
,
png_fixed_point
red_x
,
png_fixed_point
red_y
,
png_fixed_point
green_x
,
png_fixed_point
green_y
,
png_fixed_point
blue_x
,
png_fixed_point
blue_y
)
{
int
ret
=
1
;
unsigned
long
xy_hi
,
xy_lo
,
yx_hi
,
yx_lo
;
png_debug
(
1
,
"in function png_check_cHRM_fixed"
);
if
(
png_ptr
==
NULL
)
return
0
;
if
(
white_x
<
0
||
white_y
<=
0
||
red_x
<
0
||
red_y
<
0
||
green_x
<
0
||
green_y
<
0
||
blue_x
<
0
||
blue_y
<
0
)
{
png_warning
(
png_ptr
,
"Ignoring attempt to set negative chromaticity value"
);
ret
=
0
;
}
if
(
white_x
>
(
png_fixed_point
)
PNG_UINT_31_MAX
||
white_y
>
(
png_fixed_point
)
PNG_UINT_31_MAX
||
red_x
>
(
png_fixed_point
)
PNG_UINT_31_MAX
||
red_y
>
(
png_fixed_point
)
PNG_UINT_31_MAX
||
green_x
>
(
png_fixed_point
)
PNG_UINT_31_MAX
||
green_y
>
(
png_fixed_point
)
PNG_UINT_31_MAX
||
blue_x
>
(
png_fixed_point
)
PNG_UINT_31_MAX
||
blue_y
>
(
png_fixed_point
)
PNG_UINT_31_MAX
)
{
png_warning
(
png_ptr
,
"Ignoring attempt to set chromaticity value exceeding 21474.83"
);
ret
=
0
;
}
if
(
white_x
>
100000L
-
white_y
)
{
png_warning
(
png_ptr
,
"Invalid cHRM white point"
);
ret
=
0
;
}
if
(
red_x
>
100000L
-
red_y
)
{
png_warning
(
png_ptr
,
"Invalid cHRM red point"
);
ret
=
0
;
}
if
(
green_x
>
100000L
-
green_y
)
{
png_warning
(
png_ptr
,
"Invalid cHRM green point"
);
ret
=
0
;
}
if
(
blue_x
>
100000L
-
blue_y
)
{
png_warning
(
png_ptr
,
"Invalid cHRM blue point"
);
ret
=
0
;
}
png_64bit_product
(
green_x
-
red_x
,
blue_y
-
red_y
,
&
xy_hi
,
&
xy_lo
);
png_64bit_product
(
green_y
-
red_y
,
blue_x
-
red_x
,
&
yx_hi
,
&
yx_lo
);
if
(
xy_hi
==
yx_hi
&&
xy_lo
==
yx_lo
)
{
png_warning
(
png_ptr
,
"Ignoring attempt to set cHRM RGB triangle with zero area"
);
ret
=
0
;
}
return
ret
;
}
#endif
/* NO_PNG_CHECK_cHRM */
#endif
/* PNG_cHRM_SUPPORTED */
#endif
/* defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED) */
png.h
浏览文件 @
e502bca9
/* png.h - header file for PNG reference library
*
* libpng version 1.2.3
3 - October 31
, 2008
* libpng version 1.2.3
4beta01 - November 27
, 2008
* Copyright (c) 1998-2008 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.3
3 - October 31
, 2008: Glenn
* libpng versions 0.97, January 1998, through 1.2.3
4beta01 - November 27
, 2008: Glenn
* See also "Contributing Authors", below.
*
* Note about libpng version numbers:
...
...
@@ -212,6 +212,7 @@
* 1.0.41rc01 10 10041 10.so.0.41[.0]
* 1.2.33 13 10233 12.so.0.33[.0]
* 1.0.41 10 10041 10.so.0.41[.0]
* 1.2.34beta01 13 10234 12.so.0.34[.0]
*
* Henceforth the source version will match the shared-library major
* and minor numbers; the shared-library major version number will be
...
...
@@ -241,7 +242,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.3
3, October 31
, 2008, are
* libpng versions 1.2.6, August 15, 2004, through 1.2.3
4beta01, November 27
, 2008, are
* Copyright (c) 2004, 2006-2008 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:
...
...
@@ -353,13 +354,13 @@
* Y2K compliance in libpng:
* =========================
*
*
October 31
, 2008
*
November 27
, 2008
*
* 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.3
3
are Y2K compliant. It is my belief that earlier
* upward through 1.2.3
4beta01
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
...
...
@@ -415,9 +416,9 @@
*/
/* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.2.3
3
"
#define PNG_LIBPNG_VER_STRING "1.2.3
4beta01
"
#define PNG_HEADER_VERSION_STRING \
" libpng version 1.2.3
3 - October 31
, 2008\n"
" libpng version 1.2.3
4beta01 - November 27
, 2008\n"
#define PNG_LIBPNG_VER_SONUM 0
#define PNG_LIBPNG_VER_DLLNUM 13
...
...
@@ -425,11 +426,11 @@
/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
#define PNG_LIBPNG_VER_MAJOR 1
#define PNG_LIBPNG_VER_MINOR 2
#define PNG_LIBPNG_VER_RELEASE 3
3
#define PNG_LIBPNG_VER_RELEASE 3
4
/* This should match the numeric part of the final component of
* PNG_LIBPNG_VER_STRING, omitting any leading zero: */
#define PNG_LIBPNG_VER_BUILD 0
#define PNG_LIBPNG_VER_BUILD 0
1
/* Release Status */
#define PNG_LIBPNG_BUILD_ALPHA 1
...
...
@@ -446,14 +447,14 @@
#define PNG_LIBPNG_BUILD_SPECIAL 32
/* Cannot be OR'ed with
PNG_LIBPNG_BUILD_PRIVATE */
#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_
STABLE
#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_
BETA
/* Careful here. At one time, Guy wanted to use 082, but that would be octal.
* We must not include leading zeros.
* Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only
* version 1.0.0 was mis-numbered 100 instead of 10000). From
* version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release */
#define PNG_LIBPNG_VER 1023
3
/* 1.2.33
*/
#define PNG_LIBPNG_VER 1023
4
/* 1.2.34
*/
#ifndef PNG_VERSION_INFO_ONLY
/* include the compression library's header */
...
...
@@ -1474,7 +1475,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_3
3
;
typedef
png_structp
version_1_2_3
4beta01
;
typedef
png_struct
FAR
*
FAR
*
png_structpp
;
...
...
@@ -3584,6 +3585,15 @@ png_infop info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type));
/* Read the chunk header (length + type name) */
PNG_EXTERN
png_uint_32
png_read_chunk_header
PNGARG
((
png_structp
png_ptr
));
/* Added at libpng version 1.2.34 */
#if defined(PNG_cHRM_SUPPORTED)
PNG_EXTERN
int
png_check_cHRM_fixed
PNGARG
((
png_structp
png_ptr
,
png_fixed_point
int_white_x
,
png_fixed_point
int_white_y
,
png_fixed_point
int_red_x
,
png_fixed_point
int_red_y
,
png_fixed_point
int_green_x
,
png_fixed_point
int_green_y
,
png_fixed_point
int_blue_x
,
png_fixed_point
int_blue_y
));
#endif
/* Maintainer: Put new private prototypes here ^ and in libpngpf.3 */
#endif
/* PNG_INTERNAL */
...
...
pngconf.h
浏览文件 @
e502bca9
/* pngconf.h - machine configurable file for libpng
*
* libpng version 1.2.3
3 - October 31
, 2008
* libpng version 1.2.3
4beta01 - November 27
, 2008
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pngerror.c
浏览文件 @
e502bca9
/* pngerror.c - stub functions for i/o and memory allocation
*
* Last changed in libpng 1.2.3
0 [August 15
, 2008]
* Last changed in libpng 1.2.3
4 [November 27
, 2008]
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
@@ -116,9 +116,9 @@ png_warning(png_structp png_ptr, png_const_charp warning_message)
break
;
}
}
}
if
(
png_ptr
!=
NULL
&&
png_ptr
->
warning_fn
!=
NULL
)
(
*
(
png_ptr
->
warning_fn
))(
png_ptr
,
warning_message
+
offset
);
}
else
png_default_warning
(
png_ptr
,
warning_message
+
offset
);
}
...
...
pngrutil.c
浏览文件 @
e502bca9
/* pngrutil.c - utilities to read a PNG file
*
* Last changed in libpng 1.2.3
3 [October 31
, 2008]
* Last changed in libpng 1.2.3
4 [November 27
, 2008]
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
@@ -812,42 +812,21 @@ png_handle_cHRM(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
uint_x
=
png_get_uint_32
(
buf
);
uint_y
=
png_get_uint_32
(
buf
+
4
);
if
(
uint_x
>
80000L
||
uint_y
>
80000L
||
uint_x
+
uint_y
>
100000L
)
{
png_warning
(
png_ptr
,
"Invalid cHRM white point"
);
return
;
}
int_x_white
=
(
png_fixed_point
)
uint_x
;
int_y_white
=
(
png_fixed_point
)
uint_y
;
uint_x
=
png_get_uint_32
(
buf
+
8
);
uint_y
=
png_get_uint_32
(
buf
+
12
);
if
(
uint_x
+
uint_y
>
100000L
)
{
png_warning
(
png_ptr
,
"Invalid cHRM red point"
);
return
;
}
int_x_red
=
(
png_fixed_point
)
uint_x
;
int_y_red
=
(
png_fixed_point
)
uint_y
;
uint_x
=
png_get_uint_32
(
buf
+
16
);
uint_y
=
png_get_uint_32
(
buf
+
20
);
if
(
uint_x
+
uint_y
>
100000L
)
{
png_warning
(
png_ptr
,
"Invalid cHRM green point"
);
return
;
}
int_x_green
=
(
png_fixed_point
)
uint_x
;
int_y_green
=
(
png_fixed_point
)
uint_y
;
uint_x
=
png_get_uint_32
(
buf
+
24
);
uint_y
=
png_get_uint_32
(
buf
+
28
);
if
(
uint_x
+
uint_y
>
100000L
)
{
png_warning
(
png_ptr
,
"Invalid cHRM blue point"
);
return
;
}
int_x_blue
=
(
png_fixed_point
)
uint_x
;
int_y_blue
=
(
png_fixed_point
)
uint_y
;
...
...
pngset.c
浏览文件 @
e502bca9
/* pngset.c - storage of image information into info struct
*
* Last changed in libpng 1.2.3
0 [August 15
, 2008]
* Last changed in libpng 1.2.3
4 [November 27
, 2008]
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
@@ -40,31 +40,6 @@ png_set_cHRM(png_structp png_ptr, png_infop info_ptr,
png_debug1
(
1
,
"in %s storage function
\n
"
,
"cHRM"
);
if
(
png_ptr
==
NULL
||
info_ptr
==
NULL
)
return
;
if
(
!
(
white_x
||
white_y
||
red_x
||
red_y
||
green_x
||
green_y
||
blue_x
||
blue_y
))
{
png_warning
(
png_ptr
,
"Ignoring attempt to set all-zero chromaticity values"
);
return
;
}
if
(
white_x
<
0
.
0
||
white_y
<
0
.
0
||
red_x
<
0
.
0
||
red_y
<
0
.
0
||
green_x
<
0
.
0
||
green_y
<
0
.
0
||
blue_x
<
0
.
0
||
blue_y
<
0
.
0
)
{
png_warning
(
png_ptr
,
"Ignoring attempt to set negative chromaticity value"
);
return
;
}
if
(
white_x
>
21474
.
83
||
white_y
>
21474
.
83
||
red_x
>
21474
.
83
||
red_y
>
21474
.
83
||
green_x
>
21474
.
83
||
green_y
>
21474
.
83
||
blue_x
>
21474
.
83
||
blue_y
>
21474
.
83
)
{
png_warning
(
png_ptr
,
"Ignoring attempt to set chromaticity value exceeding 21474.83"
);
return
;
}
info_ptr
->
x_white
=
(
float
)
white_x
;
info_ptr
->
y_white
=
(
float
)
white_y
;
...
...
@@ -94,39 +69,15 @@ png_set_cHRM_fixed(png_structp png_ptr, png_infop info_ptr,
png_fixed_point
red_y
,
png_fixed_point
green_x
,
png_fixed_point
green_y
,
png_fixed_point
blue_x
,
png_fixed_point
blue_y
)
{
png_debug1
(
1
,
"in %s storage function
\n
"
,
"cHRM"
);
png_debug1
(
1
,
"in %s storage function
\n
"
,
"cHRM
fixed
"
);
if
(
png_ptr
==
NULL
||
info_ptr
==
NULL
)
return
;
if
(
!
(
white_x
||
white_y
||
red_x
||
red_y
||
green_x
||
green_y
||
blue_x
||
blue_y
))
{
png_warning
(
png_ptr
,
"Ignoring attempt to set all-zero chromaticity values"
);
return
;
}
if
(
white_x
<
0
||
white_y
<
0
||
red_x
<
0
||
red_y
<
0
||
green_x
<
0
||
green_y
<
0
||
blue_x
<
0
||
blue_y
<
0
)
{
png_warning
(
png_ptr
,
"Ignoring attempt to set negative chromaticity value"
);
return
;
}
if
(
white_x
>
(
png_fixed_point
)
PNG_UINT_31_MAX
||
white_y
>
(
png_fixed_point
)
PNG_UINT_31_MAX
||
red_x
>
(
png_fixed_point
)
PNG_UINT_31_MAX
||
red_y
>
(
png_fixed_point
)
PNG_UINT_31_MAX
||
green_x
>
(
png_fixed_point
)
PNG_UINT_31_MAX
||
green_y
>
(
png_fixed_point
)
PNG_UINT_31_MAX
||
blue_x
>
(
png_fixed_point
)
PNG_UINT_31_MAX
||
blue_y
>
(
png_fixed_point
)
PNG_UINT_31_MAX
)
#if !defined(PNG_NO_CHECK_cHRM)
if
(
png_check_cHRM_fixed
(
png_ptr
,
white_x
,
white_y
,
red_x
,
red_y
,
green_x
,
green_y
,
blue_x
,
blue_y
))
#endif
{
png_warning
(
png_ptr
,
"Ignoring attempt to set chromaticity value exceeding 21474.83"
);
return
;
}
info_ptr
->
int_x_white
=
white_x
;
info_ptr
->
int_y_white
=
white_y
;
info_ptr
->
int_x_red
=
red_x
;
...
...
@@ -146,9 +97,10 @@ png_set_cHRM_fixed(png_structp png_ptr, png_infop info_ptr,
info_ptr
->
y_blue
=
(
float
)(
blue_y
/
100000
.);
#endif
info_ptr
->
valid
|=
PNG_INFO_cHRM
;
}
}
#endif
#endif
#endif
/* PNG_FIXED_POINT_SUPPORTED */
#endif
/* PNG_cHRM_SUPPORTED */
#if defined(PNG_gAMA_SUPPORTED)
#ifdef PNG_FLOATING_POINT_SUPPORTED
...
...
@@ -624,12 +576,10 @@ png_set_sRGB_gAMA_and_cHRM(png_structp png_ptr, png_infop info_ptr,
#ifdef PNG_FLOATING_POINT_SUPPORTED
float
white_x
,
white_y
,
red_x
,
red_y
,
green_x
,
green_y
,
blue_x
,
blue_y
;
#endif
#ifdef PNG_FIXED_POINT_SUPPORTED
png_fixed_point
int_white_x
,
int_white_y
,
int_red_x
,
int_red_y
,
int_green_x
,
int_green_y
,
int_blue_x
,
int_blue_y
;
#endif
#endif
png_debug1
(
1
,
"in %s storage function
\n
"
,
"sRGB_gAMA_and_cHRM"
);
png_debug1
(
1
,
"in %s storage function"
,
"sRGB_gAMA_and_cHRM
\n
"
);
if
(
png_ptr
==
NULL
||
info_ptr
==
NULL
)
return
;
...
...
@@ -647,7 +597,6 @@ png_set_sRGB_gAMA_and_cHRM(png_structp png_ptr, png_infop info_ptr,
#endif
#if defined(PNG_cHRM_SUPPORTED)
#ifdef PNG_FIXED_POINT_SUPPORTED
int_white_x
=
31270L
;
int_white_y
=
32900L
;
int_red_x
=
64000L
;
...
...
@@ -657,10 +606,6 @@ png_set_sRGB_gAMA_and_cHRM(png_structp png_ptr, png_infop info_ptr,
int_blue_x
=
15000L
;
int_blue_y
=
6000L
;
png_set_cHRM_fixed
(
png_ptr
,
info_ptr
,
int_white_x
,
int_white_y
,
int_red_x
,
int_red_y
,
int_green_x
,
int_green_y
,
int_blue_x
,
int_blue_y
);
#endif
#ifdef PNG_FLOATING_POINT_SUPPORTED
white_x
=
(
float
).
3127
;
white_y
=
(
float
).
3290
;
...
...
@@ -670,11 +615,25 @@ png_set_sRGB_gAMA_and_cHRM(png_structp png_ptr, png_infop info_ptr,
green_y
=
(
float
).
60
;
blue_x
=
(
float
).
15
;
blue_y
=
(
float
).
06
;
#endif
#if !defined(PNG_NO_CHECK_cHRM)
if
(
png_check_cHRM_fixed
(
png_ptr
,
int_white_x
,
int_white_y
,
int_red_x
,
int_red_y
,
int_green_x
,
int_green_y
,
int_blue_x
,
int_blue_y
))
#endif
{
#ifdef PNG_FIXED_POINT_SUPPORTED
png_set_cHRM_fixed
(
png_ptr
,
info_ptr
,
int_white_x
,
int_white_y
,
int_red_x
,
int_red_y
,
int_green_x
,
int_green_y
,
int_blue_x
,
int_blue_y
);
#endif
#ifdef PNG_FLOATING_POINT_SUPPORTED
png_set_cHRM
(
png_ptr
,
info_ptr
,
white_x
,
white_y
,
red_x
,
red_y
,
green_x
,
green_y
,
blue_x
,
blue_y
);
#endif
#endif
}
#endif
/* cHRM */
}
#endif
...
...
pngtest.c
浏览文件 @
e502bca9
...
...
@@ -1685,4 +1685,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_3
3
your_png_h_is_not_version_1_2_33
;
typedef
version_1_2_3
4beta01
your_png_h_is_not_version_1_2_34beta01
;
pngwutil.c
浏览文件 @
e502bca9
/* pngwutil.c - utilities to write a PNG file
*
* Last changed in libpng 1.2.3
0 [August 15
, 2008]
* Last changed in libpng 1.2.3
4 [November 27
, 2008]
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2008 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
@@ -969,55 +969,42 @@ png_write_cHRM(png_structp png_ptr, double white_x, double white_y,
PNG_cHRM
;
#endif
png_byte
buf
[
32
];
png_uint_32
itemp
;
png_debug
(
1
,
"in png_write_cHRM
\n
"
);
/* each value is saved in 1/100,000ths */
if
(
white_x
<
0
||
white_x
>
0
.
8
||
white_y
<
0
||
white_y
>
0
.
8
||
white_x
+
white_y
>
1
.
0
)
{
png_warning
(
png_ptr
,
"Invalid cHRM white point specified"
);
#if !defined(PNG_NO_CONSOLE_IO)
fprintf
(
stderr
,
"white_x=%f, white_y=%f
\n
"
,
white_x
,
white_y
);
#endif
return
;
}
itemp
=
(
png_uint_32
)(
white_x
*
100000
.
0
+
0
.
5
);
png_save_uint_32
(
buf
,
itemp
);
itemp
=
(
png_uint_32
)(
white_y
*
100000
.
0
+
0
.
5
);
png_save_uint_32
(
buf
+
4
,
itemp
);
png_fixed_point
int_white_x
,
int_white_y
,
int_red_x
,
int_red_y
,
int_green_x
,
int_green_y
,
int_blue_x
,
int_blue_y
;
if
(
red_x
<
0
||
red_y
<
0
||
red_x
+
red_y
>
1
.
0
)
{
png_warning
(
png_ptr
,
"Invalid cHRM red point specified"
);
return
;
}
itemp
=
(
png_uint_32
)(
red_x
*
100000
.
0
+
0
.
5
);
png_save_uint_32
(
buf
+
8
,
itemp
);
itemp
=
(
png_uint_32
)(
red_y
*
100000
.
0
+
0
.
5
);
png_save_uint_32
(
buf
+
12
,
itemp
);
png_debug
(
1
,
"in png_write_cHRM"
);
if
(
green_x
<
0
||
green_y
<
0
||
green_x
+
green_y
>
1
.
0
)
{
png_warning
(
png_ptr
,
"Invalid cHRM green point specified"
);
return
;
}
itemp
=
(
png_uint_32
)(
green_x
*
100000
.
0
+
0
.
5
);
png_save_uint_32
(
buf
+
16
,
itemp
);
itemp
=
(
png_uint_32
)(
green_y
*
100000
.
0
+
0
.
5
);
png_save_uint_32
(
buf
+
20
,
itemp
);
int_white_x
=
(
png_uint_32
)(
white_x
*
100000
.
0
+
0
.
5
);
int_white_y
=
(
png_uint_32
)(
white_y
*
100000
.
0
+
0
.
5
);
int_red_x
=
(
png_uint_32
)(
red_x
*
100000
.
0
+
0
.
5
);
int_red_y
=
(
png_uint_32
)(
red_y
*
100000
.
0
+
0
.
5
);
int_green_x
=
(
png_uint_32
)(
green_x
*
100000
.
0
+
0
.
5
);
int_green_y
=
(
png_uint_32
)(
green_y
*
100000
.
0
+
0
.
5
);
int_blue_x
=
(
png_uint_32
)(
blue_x
*
100000
.
0
+
0
.
5
);
int_blue_y
=
(
png_uint_32
)(
blue_y
*
100000
.
0
+
0
.
5
);
if
(
blue_x
<
0
||
blue_y
<
0
||
blue_x
+
blue_y
>
1
.
0
)
#if !defined(PNG_NO_CHECK_cHRM)
if
(
png_check_cHRM_fixed
(
png_ptr
,
int_white_x
,
int_white_y
,
int_red_x
,
int_red_y
,
int_green_x
,
int_green_y
,
int_blue_x
,
int_blue_y
))
#endif
{
png_warning
(
png_ptr
,
"Invalid cHRM blue point specified"
);
return
;
}
itemp
=
(
png_uint_32
)(
blue_x
*
100000
.
0
+
0
.
5
);
png_save_uint_32
(
buf
+
24
,
itemp
);
itemp
=
(
png_uint_32
)(
blue_y
*
100000
.
0
+
0
.
5
);
png_save_uint_32
(
buf
+
28
,
itemp
);
/* each value is saved in 1/100,000ths */
png_save_uint_32
(
buf
,
int_white_x
);
png_save_uint_32
(
buf
+
4
,
int_white_y
);
png_save_uint_32
(
buf
+
8
,
int_red_x
);
png_save_uint_32
(
buf
+
12
,
int_red_y
);
png_save_uint_32
(
buf
+
16
,
int_green_x
);
png_save_uint_32
(
buf
+
20
,
int_green_y
);
png_save_uint_32
(
buf
+
24
,
int_blue_x
);
png_save_uint_32
(
buf
+
28
,
int_blue_y
);
png_write_chunk
(
png_ptr
,
(
png_bytep
)
png_cHRM
,
buf
,
(
png_size_t
)
32
);
}
}
#endif
#ifdef PNG_FIXED_POINT_SUPPORTED
...
...
@@ -1034,43 +1021,25 @@ png_write_cHRM_fixed(png_structp png_ptr, png_fixed_point white_x,
png_debug
(
1
,
"in png_write_cHRM
\n
"
);
/* each value is saved in 1/100,000ths */
if
(
white_x
>
80000L
||
white_y
>
80000L
||
white_x
+
white_y
>
100000L
)
{
png_warning
(
png_ptr
,
"Invalid fixed cHRM white point specified"
);
#if !defined(PNG_NO_CONSOLE_IO)
fprintf
(
stderr
,
"white_x=%ld, white_y=%ld
\n
"
,
(
unsigned
long
)
white_x
,
(
unsigned
long
)
white_y
);
#if !defined(PNG_NO_CHECK_cHRM)
if
(
png_check_cHRM_fixed
(
png_ptr
,
white_x
,
white_y
,
red_x
,
red_y
,
green_x
,
green_y
,
blue_x
,
blue_y
))
#endif
return
;
}
{
png_save_uint_32
(
buf
,
(
png_uint_32
)
white_x
);
png_save_uint_32
(
buf
+
4
,
(
png_uint_32
)
white_y
);
if
(
red_x
+
red_y
>
100000L
)
{
png_warning
(
png_ptr
,
"Invalid cHRM fixed red point specified"
);
return
;
}
png_save_uint_32
(
buf
+
8
,
(
png_uint_32
)
red_x
);
png_save_uint_32
(
buf
+
12
,
(
png_uint_32
)
red_y
);
if
(
green_x
+
green_y
>
100000L
)
{
png_warning
(
png_ptr
,
"Invalid fixed cHRM green point specified"
);
return
;
}
png_save_uint_32
(
buf
+
16
,
(
png_uint_32
)
green_x
);
png_save_uint_32
(
buf
+
20
,
(
png_uint_32
)
green_y
);
if
(
blue_x
+
blue_y
>
100000L
)
{
png_warning
(
png_ptr
,
"Invalid fixed cHRM blue point specified"
);
return
;
}
png_save_uint_32
(
buf
+
24
,
(
png_uint_32
)
blue_x
);
png_save_uint_32
(
buf
+
28
,
(
png_uint_32
)
blue_y
);
png_write_chunk
(
png_ptr
,
(
png_bytep
)
png_cHRM
,
buf
,
(
png_size_t
)
32
);
}
}
#endif
#endif
...
...
@@ -1338,7 +1307,7 @@ png_check_keyword(png_structp png_ptr, png_charp key, png_charpp new_key)
if
(
key_len
>
79
)
{
png_warning
(
png_ptr
,
"keyword length must be 1 - 79 characters"
);
new_key
[
79
]
=
'\0'
;
(
*
new_key
)
[
79
]
=
'\0'
;
key_len
=
79
;
}
...
...
scripts/CMakeLists.txt
浏览文件 @
e502bca9
...
...
@@ -6,7 +6,7 @@ project(PNG)
set
(
PNGLIB_MAJOR 1
)
set
(
PNGLIB_MINOR 2
)
set
(
PNGLIB_RELEASE 3
3
)
set
(
PNGLIB_RELEASE 3
4
)
set
(
PNGLIB_NAME libpng
${
PNGLIB_MAJOR
}${
PNGLIB_MINOR
}
)
set
(
PNGLIB_VERSION
${
PNGLIB_MAJOR
}
.
${
PNGLIB_MINOR
}
.
${
PNGLIB_RELEASE
}
)
...
...
@@ -169,7 +169,7 @@ configure_file(${PNG_SOURCE_DIR}/scripts/libpng-config.in
# SET UP LINKS
set_target_properties
(
${
PNG_LIB_NAME
}
PROPERTIES
# VERSION 0.${PNGLIB_RELEASE}.1.2.3
3
# VERSION 0.${PNGLIB_RELEASE}.1.2.3
4beta01
VERSION 0.
${
PNGLIB_RELEASE
}
.0
SOVERSION 0
CLEAN_DIRECT_OUTPUT 1
)
...
...
scripts/libpng-config-head.in
浏览文件 @
e502bca9
...
...
@@ -8,7 +8,7 @@
# Modeled after libxml-config.
version
=
1.2.3
3
version
=
1.2.3
4beta01
prefix
=
""
libdir
=
""
libs
=
""
...
...
scripts/libpng.pc.in
浏览文件 @
e502bca9
...
...
@@ -5,6 +5,6 @@ includedir=@includedir@/libpng12
Name: libpng
Description: Loads and saves PNG files
Version: 1.2.3
3
Version: 1.2.3
4beta01
Libs: -L${libdir} -lpng12
Cflags: -I${includedir}
scripts/makefile.32sunu
浏览文件 @
e502bca9
...
...
@@ -8,7 +8,7 @@
# Library name:
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.3
3
PNGMIN
=
1.2.3
4beta01
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
# Shared library names:
...
...
scripts/makefile.64sunu
浏览文件 @
e502bca9
...
...
@@ -8,7 +8,7 @@
# Library name:
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.3
3
PNGMIN
=
1.2.3
4beta01
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
# Shared library names:
...
...
scripts/makefile.aix
浏览文件 @
e502bca9
...
...
@@ -20,7 +20,7 @@ LN_SF = ln -f -s
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.3
3
PNGMIN
=
1.2.3
4beta01
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
prefix
=
/usr/local
...
...
scripts/makefile.beos
浏览文件 @
e502bca9
...
...
@@ -8,7 +8,7 @@
# Library name:
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.3
3
PNGMIN
=
1.2.3
4beta01
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
# Shared library names:
...
...
scripts/makefile.cygwin
浏览文件 @
e502bca9
...
...
@@ -74,7 +74,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
LIBNAME
=
libpng12
PNGMAJ
=
0
CYGDLL
=
12
PNGMIN
=
1.2.3
3
PNGMIN
=
1.2.3
4beta01
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
SHAREDLIB
=
cygpng
$(CYGDLL)
.dll
...
...
scripts/makefile.darwin
浏览文件 @
e502bca9
...
...
@@ -19,7 +19,7 @@ ZLIBINC=../zlib
# Library name:
LIBNAME
=
libpng12
PNGMAJ
=
12
PNGMIN
=
1.2.3
3
PNGMIN
=
1.2.3
4beta01
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
# Shared library names:
...
...
scripts/makefile.dec
浏览文件 @
e502bca9
...
...
@@ -5,7 +5,7 @@
# Library name:
PNGMAJ
=
0
PNGMIN
=
1.2.3
3
PNGMIN
=
1.2.3
4beta01
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
LIBNAME
=
libpng12
...
...
scripts/makefile.elf
浏览文件 @
e502bca9
...
...
@@ -13,7 +13,7 @@
# Library name:
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.3
3
PNGMIN
=
1.2.3
4beta01
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
# Shared library names:
...
...
scripts/makefile.gcmmx
浏览文件 @
e502bca9
...
...
@@ -14,7 +14,7 @@
# Library name:
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.3
3
PNGMIN
=
1.2.3
4beta01
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
# Shared library names:
...
...
scripts/makefile.hp64
浏览文件 @
e502bca9
...
...
@@ -18,7 +18,7 @@ ZLIBINC=/opt/zlib/include
# Library name:
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.3
3
PNGMIN
=
1.2.3
4beta01
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
# Shared library names:
...
...
scripts/makefile.hpgcc
浏览文件 @
e502bca9
...
...
@@ -8,7 +8,7 @@
# Library name:
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.3
3
PNGMIN
=
1.2.3
4beta01
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
# Shared library names:
...
...
scripts/makefile.hpux
浏览文件 @
e502bca9
...
...
@@ -18,7 +18,7 @@ ZLIBINC=/opt/zlib/include
# Library name:
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.3
3
PNGMIN
=
1.2.3
4beta01
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
# Shared library names:
...
...
scripts/makefile.linux
浏览文件 @
e502bca9
...
...
@@ -7,7 +7,7 @@
# Library name:
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.3
3
PNGMIN
=
1.2.3
4beta01
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
# Shared library names:
...
...
scripts/makefile.mingw
浏览文件 @
e502bca9
...
...
@@ -74,7 +74,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
LIBNAME
=
libpng12
PNGMAJ
=
0
MINGDLL
=
12
PNGMIN
=
1.2.3
3
PNGMIN
=
1.2.3
4beta01
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
SHAREDLIB
=
libpng
$(MINGDLL)
.dll
...
...
scripts/makefile.ne12bsd
浏览文件 @
e502bca9
...
...
@@ -14,7 +14,7 @@ INCSDIR=${LOCALBASE}/include/libpng12
LIB
=
png12
SHLIB_MAJOR
=
0
SHLIB_MINOR
=
1.2.3
3
SHLIB_MINOR
=
1.2.3
4beta01
SRCS
=
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
...
...
scripts/makefile.netbsd
浏览文件 @
e502bca9
...
...
@@ -14,7 +14,7 @@ INCSDIR=${LOCALBASE}/include/libpng
LIB
=
png
SHLIB_MAJOR
=
3
SHLIB_MINOR
=
1.2.3
3
SHLIB_MINOR
=
1.2.3
4beta01
SRCS
=
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
...
...
scripts/makefile.nommx
浏览文件 @
e502bca9
...
...
@@ -7,7 +7,7 @@
# Library name:
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.3
3
PNGMIN
=
1.2.3
4beta01
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
# Shared library names:
...
...
scripts/makefile.openbsd
浏览文件 @
e502bca9
...
...
@@ -8,7 +8,7 @@ LIBDIR= ${PREFIX}/lib
MANDIR
=
${PREFIX}
/man/cat
SHLIB_MAJOR
=
0
SHLIB_MINOR
=
1.2.3
3
SHLIB_MINOR
=
1.2.3
4beta01
LIB
=
png
SRCS
=
png.c pngerror.c pngget.c pngmem.c pngpread.c
\
...
...
scripts/makefile.sco
浏览文件 @
e502bca9
...
...
@@ -9,7 +9,7 @@
# Library name:
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.3
3
PNGMIN
=
1.2.3
4beta01
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
# Shared library names:
...
...
scripts/makefile.sggcc
浏览文件 @
e502bca9
...
...
@@ -6,7 +6,7 @@
# Library name:
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.3
3
PNGMIN
=
1.2.3
4beta01
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
# Shared library names:
...
...
scripts/makefile.sgi
浏览文件 @
e502bca9
...
...
@@ -6,7 +6,7 @@
# Library name:
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.3
3
PNGMIN
=
1.2.3
4beta01
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
# Shared library names:
...
...
scripts/makefile.so9
浏览文件 @
e502bca9
...
...
@@ -8,7 +8,7 @@
# Library name:
PNGMAJ
=
0
PNGMIN
=
1.2.3
3
PNGMIN
=
1.2.3
4beta01
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
LIBNAME
=
libpng12
...
...
scripts/makefile.solaris
浏览文件 @
e502bca9
...
...
@@ -8,7 +8,7 @@
# Library name:
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.3
3
PNGMIN
=
1.2.3
4beta01
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
# Shared library names:
...
...
scripts/makefile.solaris-x86
浏览文件 @
e502bca9
...
...
@@ -8,7 +8,7 @@
# Library name:
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.3
3
PNGMIN
=
1.2.3
4beta01
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
# Shared library names:
...
...
scripts/pngos2.def
浏览文件 @
e502bca9
...
...
@@ -2,7 +2,7 @@
; PNG.LIB module definition file for OS/2
;----------------------------------------
; Version 1.2.3
3
; Version 1.2.3
4beta01
LIBRARY PNG
DESCRIPTION "PNG image compression library for OS/2"
...
...
scripts/pngw32.def
浏览文件 @
e502bca9
...
...
@@ -5,7 +5,7 @@
LIBRARY
EXPORTS
;Version 1.2.3
3
;Version 1.2.3
4beta01
png_build_grayscale_palette @1
png_check_sig @2
png_chunk_error @3
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录