Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Libpng
提交
c3dda6da
T
Third Party Libpng
项目概览
OpenHarmony
/
Third Party Libpng
1 年多 前同步成功
通知
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看板
提交
c3dda6da
编写于
11月 27, 2004
作者:
G
Glenn Randers-Pehrson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Imported from libpng-1.2.8rc3.tar
上级
73b029f9
变更
57
显示空白变更内容
内联
并排
Showing
57 changed file
with
620 addition
and
463 deletion
+620
-463
ANNOUNCE
ANNOUNCE
+9
-1
CHANGES
CHANGES
+5
-1
INSTALL
INSTALL
+9
-7
KNOWNBUG
KNOWNBUG
+1
-1
LICENSE
LICENSE
+2
-2
README
README
+8
-6
Y2KINFO
Y2KINFO
+2
-2
configure
configure
+2
-2
libpng.3
libpng.3
+10
-10
libpng.txt
libpng.txt
+3
-3
libpngpf.3
libpngpf.3
+2
-2
png.5
png.5
+1
-1
png.c
png.c
+3
-3
png.h
png.h
+11
-11
pngconf.h
pngconf.h
+12
-1
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
+3
-3
pngrio.c
pngrio.c
+1
-1
pngrtran.c
pngrtran.c
+1
-1
pngrutil.c
pngrutil.c
+248
-367
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
+1
-1
pngwtran.c
pngwtran.c
+1
-1
pngwutil.c
pngwutil.c
+1
-1
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
+249
-0
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.ne12bsd
scripts/makefile.ne12bsd
+1
-1
scripts/makefile.netbsd
scripts/makefile.netbsd
+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/pngos2.def
scripts/pngos2.def
+1
-1
scripts/pngw32.def
scripts/pngw32.def
+1
-1
未找到文件。
ANNOUNCE
浏览文件 @
c3dda6da
Libpng 1.2.8rc
2 - November 26
, 2004
Libpng 1.2.8rc
3 - November 28
, 2004
This is not intended to be a public release. It will be replaced
within a few weeks by a public version or by another test version.
...
...
@@ -31,6 +31,7 @@ version 1.2.8beta5 [November 20, 2004]
Revised handling of SPECIALBUILD, PRIVATEBUILD,
PNG_LIBPNG_BUILD_SPECIAL_STRING and PNG_LIBPNG_BUILD_PRIVATE_STRING.
version 1.2.8rc1 [Novermber 24, 2004]
Inadvertently installed a supposedly faster test version of pngrutil.c
Moved handling of BUILD macros from pngconf.h to png.h
Added definition of PNG_LIBPNG_BASE_TYPE in png.h, inadvertently
omitted from beta5.
...
...
@@ -38,6 +39,13 @@ version 1.2.8rc1 [Novermber 24, 2004]
Despammed mailing addresses by masking "@" with "at".
version 1.2.8rc2 [November 26, 2004]
Added two missing "\" in png.h
Change tests in pngread.c and pngpread.c to
if (png_ptr->transformations || (png_ptr->flags&PNG_FLAG_STRIP_ALPHA))
png_do_read_transformations(png_ptr);
version 1.2.8rc3 [November 28, 2004]
Reverted pngrutil.c to version libpng-1.2.8beta5.
Added scripts/makefile.elf with supporting code in pngconf.h for symbol
versioning (John Bowler).
Send comments/corrections/commendations to
png-implement at ccrc.wustl.edu (subscription required; write to
...
...
CHANGES
浏览文件 @
c3dda6da
...
...
@@ -1394,12 +1394,16 @@ version 1.2.8rc1 [November 24, 2004]
omitted from beta5.
Revised scripts/pngw32.rc
Despammed mailing addresses by masking "@" with "at".
Inadvertently installed a supposedly faster test version of pngrutil.c
version 1.2.8rc2 [November 26, 2004]
Added two missing "\" in png.h
Change tests in pngread.c and pngpread.c to
if (png_ptr->transformations || (png_ptr->flags&PNG_FLAG_STRIP_ALPHA))
png_do_read_transformations(png_ptr);
version 1.2.8rc3 [November 28, 2004]
Reverted pngrutil.c to version libpng-1.2.8beta5.
Added scripts/makefile.elf with supporting code in pngconf.h for symbol
versioning (John Bowler).
Send comments/corrections/commendations to
png-implement at ccrc.wustl.edu (subscription required; write to
...
...
INSTALL
浏览文件 @
c3dda6da
Installing libpng version 1.2.8rc
2 - November 26
, 2004
Installing libpng version 1.2.8rc
3 - November 28
, 2004
Before installing libpng, you must first install zlib. zlib
can usually be found wherever you got libpng. zlib can be
...
...
@@ -10,7 +10,7 @@ zlib.h and zconf.h include files that correspond to the
version of zlib that's installed.
You can rename the directories that you downloaded (they
might be called "libpng-1.2.8rc
2
" or "lpng109" and "zlib-1.2.1"
might be called "libpng-1.2.8rc
3
" 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:
...
...
@@ -66,10 +66,12 @@ The files that are presently available in the scripts directory
include
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
makefile.elf => Linux/ELF makefile symbol versioning,
gcc, creates libpng12.so.0.1.2.8rc3)
makefile.linux => Linux/ELF makefile
(gcc, creates libpng12.so.0.1.2.8rc
2
)
(gcc, creates libpng12.so.0.1.2.8rc
3
)
makefile.gcmmx => Linux/ELF makefile
(gcc, creates libpng12.so.0.1.2.8rc
2
,
(gcc, creates libpng12.so.0.1.2.8rc
3
,
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
...
...
@@ -92,12 +94,12 @@ include
makefile.openbsd => OpenBSD makefile
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
makefile.sggcc => Silicon Graphics (gcc,
creates libpng12.so.0.1.2.8rc
2
)
creates libpng12.so.0.1.2.8rc
3
)
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile (gcc,
creates libpng12.so.0.1.2.8rc
2
)
creates libpng12.so.0.1.2.8rc
3
)
makefile.so9 => Solaris 9 makefile (gcc,
creates libpng12.so.0.1.2.8rc
2
)
creates libpng12.so.0.1.2.8rc
3
)
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
浏览文件 @
c3dda6da
Known bugs in libpng version 1.2.8rc
2
Known bugs in libpng version 1.2.8rc
3
1. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when
reading interlaced PNG files, when assembler code is enabled but running
...
...
LICENSE
浏览文件 @
c3dda6da
...
...
@@ -8,7 +8,7 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
If you modify libpng you may insert additional notices immediately following
this sentence.
libpng version 1.2.6, November 2
6
, 2004, is
libpng version 1.2.6, November 2
8
, 2004, is
Copyright (c) 2004 Glenn Randers-Pehrson, and is
distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors
...
...
@@ -106,4 +106,4 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
November 2
6
, 2004
November 2
8
, 2004
README
浏览文件 @
c3dda6da
README for libpng version 1.2.8rc
2 - November 26
, 2004 (shared library 12.0)
README for libpng version 1.2.8rc
3 - November 28
, 2004 (shared library 12.0)
See the note about version numbers near the top of png.h
See INSTALL for instructions on how to install libpng.
...
...
@@ -188,10 +188,12 @@ Files in this distribution:
scripts => Directory containing scripts for building libpng:
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.8rc3)
makefile.linux => Linux/ELF makefile
(gcc, creates libpng12.so.0.1.2.8rc
2
)
(gcc, creates libpng12.so.0.1.2.8rc
3
)
makefile.gcmmx => Linux/ELF makefile
(gcc, creates libpng12.so.0.1.2.8rc
2
,
(gcc, creates libpng12.so.0.1.2.8rc
3
,
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
...
...
@@ -213,12 +215,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.8rc
2
)
(gcc, creates libpng12.so.0.1.2.8rc
3
)
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile
(gcc, creates libpng12.so.0.1.2.8rc
2
)
(gcc, creates libpng12.so.0.1.2.8rc
3
)
makefile.so9 => Solaris 9 makefile
(gcc, creates libpng12.so.0.1.2.8rc
2
)
(gcc, creates libpng12.so.0.1.2.8rc
3
)
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
浏览文件 @
c3dda6da
Y2K compliance in libpng:
=========================
November 2
6
, 2004
November 2
8
, 2004
Since the PNG Development group is an ad-hoc body, we can't make
an official declaration.
This is your unofficial assurance that libpng from version 0.71 and
upward through 1.2.8rc
2
are Y2K compliant. It is my belief that earlier
upward through 1.2.8rc
3
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
浏览文件 @
c3dda6da
#!/bin/sh
echo
"
There is no
\"
configure
\"
script in this distribution of
libpng-1.2.8rc
2
.
libpng-1.2.8rc
3
.
Instead, please copy the appropriate makefile for your system from the
\"
scripts
\"
directory. Read the INSTALL file for more details.
Update, July 2004: you can get a "
configure
" based distribution
from the libpng distribution sites. Download the file
libpng-1.2.8rc
2
-config.tar.gz
libpng-1.2.8rc
3
-config.tar.gz
"
libpng.3
浏览文件 @
c3dda6da
.TH LIBPNG 3 "November 2
6
, 2004"
.TH LIBPNG 3 "November 2
8
, 2004"
.SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8rc
2
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8rc
3
.SH SYNOPSIS
\fI\fB
...
...
@@ -781,7 +781,7 @@ Following is a copy of the libpng.txt file that accompanies libpng.
.SH LIBPNG.TXT
libpng.txt - A description on how to use and modify libpng
libpng version 1.2.8rc
2 - November 26
, 2004
libpng version 1.2.8rc
3 - November 28
, 2004
Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net>
Copyright (c) 1998-2004 Glenn Randers-Pehrson
...
...
@@ -3685,13 +3685,13 @@ application:
.SH IX. Y2K Compliance in libpng
November 2
6
, 2004
November 2
8
, 2004
Since the PNG Development group is an ad-hoc body, we can't make
an official declaration.
This is your unofficial assurance that libpng from version 0.71 and
upward through 1.2.8rc
2
are Y2K compliant. It is my belief that earlier
upward through 1.2.8rc
3
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
...
...
@@ -3840,8 +3840,8 @@ the first widely used release:
1.0.17 10 10017 12.so.0.1.0.17
1.2.7 13 10207 12.so.0.1.2.7
1.2.8beta1-5 13 10208 12.so.0.1.2.8beta1-5
1.0.18rc1-
2 10 10018 12.so.0.1.0.18rc1-2
1.2.8rc1-
2 13 10208 12.so.0.1.2.8rc1-2
1.0.18rc1-
3 10 10018 12.so.0.1.0.18rc1-3
1.2.8rc1-
3 13 10208 12.so.0.1.2.8rc1-3
Henceforth the source version will match the shared-library minor
and patch numbers; the shared-library major version number will be
...
...
@@ -3897,7 +3897,7 @@ possible without all of you.
Thanks to Frank J. T. Wojcik for helping with the documentation.
Libpng version 1.2.8rc
2 - November 26
, 2004:
Libpng version 1.2.8rc
3 - November 28
, 2004:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
...
...
@@ -3915,7 +3915,7 @@ included in the libpng distribution, the latter shall prevail.)
If you modify libpng you may insert additional notices immediately following
this sentence.
libpng version 1.2.6, November 2
6
, 2004, is
libpng version 1.2.6, November 2
8
, 2004, is
Copyright (c) 2004 Glenn Randers-Pehrson, and is
distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors
...
...
@@ -4014,7 +4014,7 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
November 2
6
, 2004
November 2
8
, 2004
.\" end of man page
libpng.txt
浏览文件 @
c3dda6da
libpng.txt - A description on how to use and modify libpng
libpng version 1.2.8rc
2 - November 26
, 2004
libpng version 1.2.8rc
3 - November 28
, 2004
Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net>
Copyright (c) 1998-2004 Glenn Randers-Pehrson
...
...
@@ -2904,13 +2904,13 @@ application:
IX. Y2K Compliance in libpng
November 2
6
, 2004
November 2
8
, 2004
Since the PNG Development group is an ad-hoc body, we can't make
an official declaration.
This is your unofficial assurance that libpng from version 0.71 and
upward through 1.2.8rc
2
are Y2K compliant. It is my belief that earlier
upward through 1.2.8rc
3
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
...
...
libpngpf.3
浏览文件 @
c3dda6da
.TH LIBPNGPF 3 "November 2
6
, 2004"
.TH LIBPNGPF 3 "November 2
8
, 2004"
.SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8rc
2
libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8rc
3
(private functions)
.SH SYNOPSIS
\fB\fB#include <png.h>\fP\fP
...
...
png.5
浏览文件 @
c3dda6da
.TH PNG 5 "November 2
6
, 2004"
.TH PNG 5 "November 2
8
, 2004"
.SH NAME
png \- Portable Network Graphics (PNG) format
.SH DESCRIPTION
...
...
png.c
浏览文件 @
c3dda6da
/* png.c - location for general purpose libpng functions
*
* libpng version 1.2.8rc
2 - November 26
, 2004
* libpng version 1.2.8rc
3 - November 28
, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
@@ -13,7 +13,7 @@
#include "png.h"
/* Generate a compiler error if there is an old png.h in the search path. */
typedef
version_1_2_8rc
2
Your_png_h_is_not_version_1_2_8rc2
;
typedef
version_1_2_8rc
3
Your_png_h_is_not_version_1_2_8rc3
;
/* Version information for C files. This had better match the version
* string defined in png.h. */
...
...
@@ -680,7 +680,7 @@ png_charp PNGAPI
png_get_copyright
(
png_structp
png_ptr
)
{
if
(
&
png_ptr
!=
NULL
)
/* silence compiler warning about unused png_ptr */
return
((
png_charp
)
"
\n
libpng version 1.2.8rc
2 - November 26
, 2004
\n
\
return
((
png_charp
)
"
\n
libpng version 1.2.8rc
3 - November 28
, 2004
\n
\
Copyright (c) 1998-2004 Glenn Randers-Pehrson
\n
\
Copyright (c) 1996-1997 Andreas Dilger
\n
\
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
\n
"
);
...
...
png.h
浏览文件 @
c3dda6da
/* png.h - header file for PNG reference library
*
* libpng version 1.2.8rc
2 - November 26
, 2004
* libpng version 1.2.8rc
3 - November 28
, 2004
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
...
...
@@ -8,7 +8,7 @@
* Authors and maintainers:
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
* libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
* libpng versions 0.97, January 1998, through 1.2.8rc
2 - November 26
, 2004: Glenn
* libpng versions 0.97, January 1998, through 1.2.8rc
3 - November 28
, 2004: Glenn
* See also "Contributing Authors", below.
*
* Note about libpng version numbers:
...
...
@@ -107,8 +107,8 @@
* 1.0.17 10 10017 12.so.0.1.0.17
* 1.2.7 13 10207 12.so.0.1.2.7
* 1.2.8beta1-5 13 10208 12.so.0.1.2.8beta1-5
* 1.0.18rc1-
2 10 10018 12.so.0.1.0.18rc1-2
* 1.2.8rc1-
2 13 10208 12.so.0.1.2.8rc1-2
* 1.0.18rc1-
3 10 10018 12.so.0.1.0.18rc1-3
* 1.2.8rc1-
3 13 10208 12.so.0.1.2.8rc1-3
*
* Henceforth the source version will match the shared-library major
* and minor numbers; the shared-library major version number will be
...
...
@@ -138,7 +138,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.8rc
2, November 26
, 2004, are
* libpng versions 1.2.6, August 15, 2004, through 1.2.8rc
3, November 28
, 2004, are
* Copyright (c) 2004 Glenn Randers-Pehrson, and are
* distributed according to the same disclaimer and license as libpng-1.2.5
* with the following individual added to the list of Contributing Authors:
...
...
@@ -250,13 +250,13 @@
* Y2K compliance in libpng:
* =========================
*
* November 2
6
, 2004
* November 2
8
, 2004
*
* Since the PNG Development group is an ad-hoc body, we can't make
* an official declaration.
*
* This is your unofficial assurance that libpng from version 0.71 and
* upward through 1.2.8rc
2
are Y2K compliant. It is my belief that earlier
* upward through 1.2.8rc
3
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
...
...
@@ -312,9 +312,9 @@
*/
/* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.2.8rc
2
"
#define PNG_LIBPNG_VER_STRING "1.2.8rc
3
"
#define PNG_HEADER_VERSION_STRING \
" libpng version 1.2.8rc
2 - November 26
, 2004 (header)\n"
" libpng version 1.2.8rc
3 - November 28
, 2004 (header)\n"
#define PNG_LIBPNG_VER_SONUM 0
#define PNG_LIBPNG_VER_DLLNUM 13
...
...
@@ -326,7 +326,7 @@
/* This should match the numeric part of the final component of
* PNG_LIBPNG_VER_STRING, omitting any leading zero: */
#define PNG_LIBPNG_VER_BUILD
2
#define PNG_LIBPNG_VER_BUILD
3
/* Release Status */
#define PNG_LIBPNG_BUILD_ALPHA 1
...
...
@@ -1354,7 +1354,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_8rc
2
;
typedef
png_structp
version_1_2_8rc
3
;
typedef
png_struct
FAR
*
FAR
*
png_structpp
;
...
...
pngconf.h
浏览文件 @
c3dda6da
/* pngconf.h - machine configurable file for libpng
*
* libpng version 1.2.8rc
2 - November 26
, 2004
* libpng version 1.2.8rc
3 - November 28
, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
@@ -1322,6 +1322,17 @@ typedef z_stream FAR * png_zstreamp;
# define PNG_IMPEXP
#endif
#ifdef PNG_BUILDSYMS
# ifndef PNG_EXPORT
# define PNG_EXPORT(type,symbol) PNG_FUNCTION_EXPORT symbol END
# endif
# ifdef PNG_USE_GLOBAL_ARRAYS
# ifndef PNG_EXPORT_VAR
# define PNG_EXPORT_VAR(type) PNG_DATA_EXPORT
# endif
# endif
#endif
#ifndef PNG_EXPORT
# define PNG_EXPORT(type,symbol) PNG_IMPEXP type PNGAPI symbol
#endif
...
...
pngerror.c
浏览文件 @
c3dda6da
/* pngerror.c - stub functions for i/o and memory allocation
*
* libpng version 1.2.8rc
2 - November 26
, 2004
* libpng version 1.2.8rc
3 - November 28
, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pnggccrd.c
浏览文件 @
c3dda6da
...
...
@@ -6,7 +6,7 @@
* and http://www.intel.com/drg/pentiumII/appnotes/923/923.htm
* for Intel's performance analysis of the MMX vs. non-MMX code.
*
* libpng version 1.2.8rc
2 - November 26
, 2004
* libpng version 1.2.8rc
3 - November 28
, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* Copyright (c) 1998, Intel Corporation
...
...
pngget.c
浏览文件 @
c3dda6da
/* pngget.c - retrieval of values from info struct
*
* libpng 1.2.8rc
2 - November 26
, 2004
* libpng 1.2.8rc
3 - November 28
, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pngmem.c
浏览文件 @
c3dda6da
/* pngmem.c - stub functions for memory allocation
*
* libpng version 1.2.8rc
2 - November 26
, 2004
* libpng version 1.2.8rc
3 - November 28
, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pngpread.c
浏览文件 @
c3dda6da
/* pngpread.c - read a png file in push mode
*
* libpng version 1.2.8rc
2 - November 26
, 2004
* libpng version 1.2.8rc
3 - November 28
, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pngread.c
浏览文件 @
c3dda6da
/* pngread.c - read a PNG file
*
* libpng 1.2.8rc
2 - November 26
, 2004
* libpng 1.2.8rc
3 - November 28
, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
@@ -806,7 +806,7 @@ png_read_row(png_structp png_ptr, png_bytep row, png_bytep dsp_row)
* not called png_set_interlace_handling(), the display_row buffer will
* be ignored, so pass NULL to it.
*
* [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.8rc
2
* [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.8rc
3
*/
void
PNGAPI
...
...
@@ -856,7 +856,7 @@ png_read_rows(png_structp png_ptr, png_bytepp row,
* only call this function once. If you desire to have an image for
* each pass of a interlaced image, use png_read_rows() instead.
*
* [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.8rc
2
* [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.8rc
3
*/
void
PNGAPI
png_read_image
(
png_structp
png_ptr
,
png_bytepp
image
)
...
...
pngrio.c
浏览文件 @
c3dda6da
/* pngrio.c - functions for data input
*
* libpng 1.2.8rc
2 - November 26
, 2004
* libpng 1.2.8rc
3 - November 28
, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pngrtran.c
浏览文件 @
c3dda6da
/* pngrtran.c - transforms the data in a row for PNG readers
*
* libpng version 1.2.8rc
2 - November 26
, 2004
* libpng version 1.2.8rc
3 - November 28
, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pngrutil.c
浏览文件 @
c3dda6da
/* pngrutil.c - utilities to read a PNG file
*
* libpng version 1.2.8rc
2 - November 26
, 2004
* libpng version 1.2.8rc
3 - November 28
, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
@@ -2260,46 +2260,59 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask)
}
else
{
#if defined(PNG_READ_PACKSWAP_SUPPORTED)
static
const
png_byte
bitrev
[
16
]
=
{
0x00
,
0x08
,
0x04
,
0x0C
,
0x02
,
0x0A
,
0x06
,
0x0E
,
0x01
,
0x09
,
0x05
,
0x0D
,
0x03
,
0x0B
,
0x07
,
0x0F
};
static
const
png_byte
lastbyte_mask_norm
[
8
]
=
{
0x00
,
0x80
,
0xC0
,
0xE0
,
0xF0
,
0xF8
,
0xFC
,
0xFE
};
static
const
png_byte
lastbyte_mask_swap
[
8
]
=
{
0x00
,
0x01
,
0x03
,
0x07
,
0x0F
,
0x1F
,
0x3F
,
0x7F
};
const
png_byte
*
lastbyte_mask
=
(
png_ptr
->
transformations
&
PNG_PACKSWAP
)
?
lastbyte_mask_swap
:
lastbyte_mask_norm
;
#else
static
const
png_byte
lastbyte_mask
[
8
]
=
{
0x00
,
0x80
,
0xC0
,
0xE0
,
0xF0
,
0xF8
,
0xFC
,
0xFE
};
#endif
switch
(
png_ptr
->
row_info
.
pixel_depth
)
{
case
1
:
{
png_bytep
sp
=
png_ptr
->
row_buf
+
1
;
png_bytep
dp
=
row
;
int
s_inc
,
s_start
,
s_end
;
int
m
=
0x80
;
int
shift
;
png_uint_32
i
;
png_
byte
pixel_mask
;
png_
uint_32
row_width
=
png_ptr
->
width
;
#if defined(PNG_READ_PACKSWAP_SUPPORTED)
if
(
png_ptr
->
transformations
&
PNG_PACKSWAP
)
mask
=
(
bitrev
[
mask
&
0x0F
]
<<
4
)
|
bitrev
[(
mask
>>
4
)
&
0x0F
];
{
s_start
=
0
;
s_end
=
7
;
s_inc
=
1
;
}
else
#endif
pixel_mask
=
(
png_byte
)
mask
;
{
s_start
=
7
;
s_end
=
0
;
s_inc
=
-
1
;
}
for
(
i
=
png_ptr
->
width
;
i
>=
8
;
i
-=
8
)
shift
=
s_start
;
for
(
i
=
0
;
i
<
row_width
;
i
++
)
{
if
(
m
&
mask
)
{
*
dp
=
(
*
sp
&
pixel_mask
)
|
(
*
dp
&
~
pixel_mask
);
int
value
;
value
=
(
*
sp
>>
shift
)
&
0x01
;
*
dp
&=
(
png_byte
)((
0x7f7f
>>
(
7
-
shift
))
&
0xff
);
*
dp
|=
(
png_byte
)(
value
<<
shift
);
}
if
(
shift
==
s_end
)
{
shift
=
s_start
;
sp
++
;
dp
++
;
}
if
(
i
>
0
)
{
pixel_mask
&=
lastbyte_mask
[
i
];
*
dp
=
(
*
sp
&
pixel_mask
)
|
(
*
dp
&
~
pixel_mask
);
else
shift
+=
s_inc
;
if
(
m
==
1
)
m
=
0x80
;
else
m
>>=
1
;
}
break
;
}
...
...
@@ -2307,40 +2320,51 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask)
{
png_bytep
sp
=
png_ptr
->
row_buf
+
1
;
png_bytep
dp
=
row
;
png_uint_32
i
;
png_byte
pixel_mask
[
2
];
int
s_start
,
s_end
,
s_inc
;
int
m
=
0x80
;
int
j
;
int
shift
;
png_uint_32
i
;
png_uint_32
row_width
=
png_ptr
->
width
;
int
value
;
#if defined(PNG_READ_PACKSWAP_SUPPORTED)
if
(
png_ptr
->
transformations
&
PNG_PACKSWAP
)
mask
=
bitrev
[
mask
&
0x0F
]
|
(
bitrev
[(
mask
>>
4
)
&
0x0F
]
<<
4
);
{
s_start
=
0
;
s_end
=
6
;
s_inc
=
2
;
}
else
#endif
for
(
j
=
0
;
j
<
2
;
j
++
)
{
pixel_mask
[
j
]
=
0
;
for
(
i
=
4
;
i
>
0
;
i
--
)
s_start
=
6
;
s_end
=
0
;
s_inc
=
-
2
;
}
shift
=
s_start
;
for
(
i
=
0
;
i
<
row_width
;
i
++
)
{
pixel_mask
[
j
]
<<=
2
;
if
(
m
&
mask
)
pixel_mask
[
j
]
|=
0x03
;
m
>>=
1
;
}
{
value
=
(
*
sp
>>
shift
)
&
0x03
;
*
dp
&=
(
png_byte
)((
0x3f3f
>>
(
6
-
shift
))
&
0xff
);
*
dp
|=
(
png_byte
)(
value
<<
shift
);
}
j
=
0
;
for
(
i
=
png_ptr
->
width
;
i
>=
4
;
i
-=
4
)
if
(
shift
==
s_end
)
{
if
(
pixel_mask
[
j
]
!=
0
)
*
dp
=
(
*
sp
&
pixel_mask
[
j
])
|
(
*
dp
&
~
pixel_mask
[
j
]);
shift
=
s_start
;
sp
++
;
dp
++
;
j
^=
1
;
}
if
(
i
>
0
)
{
pixel_mask
[
j
]
&=
lastbyte_mask
[
i
*
2
];
if
(
pixel_mask
[
j
]
!=
0
)
*
dp
=
(
*
sp
&
pixel_mask
[
j
])
|
(
*
dp
&
~
pixel_mask
[
j
]);
else
shift
+=
s_inc
;
if
(
m
==
1
)
m
=
0x80
;
else
m
>>=
1
;
}
break
;
}
...
...
@@ -2348,41 +2372,50 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask)
{
png_bytep
sp
=
png_ptr
->
row_buf
+
1
;
png_bytep
dp
=
row
;
png_uint_32
i
;
png_byte
pixel_mask
[
4
];
int
s_start
,
s_end
,
s_inc
;
int
m
=
0x80
;
int
j
;
int
shift
;
png_uint_32
i
;
png_uint_32
row_width
=
png_ptr
->
width
;
int
value
;
#if defined(PNG_READ_PACKSWAP_SUPPORTED)
if
(
png_ptr
->
transformations
&
PNG_PACKSWAP
)
mask
=
((
mask
&
0x55
)
<<
1
)
|
((
mask
&
0xAA
)
>>
1
);
{
s_start
=
0
;
s_end
=
4
;
s_inc
=
4
;
}
else
#endif
for
(
j
=
0
;
j
<
4
;
j
++
)
{
pixel_mask
[
j
]
=
0
;
for
(
i
=
2
;
i
>
0
;
i
--
)
s_start
=
4
;
s_end
=
0
;
s_inc
=
-
4
;
}
shift
=
s_start
;
for
(
i
=
0
;
i
<
row_width
;
i
++
)
{
pixel_mask
[
j
]
<<=
4
;
if
(
m
&
mask
)
pixel_mask
[
j
]
|=
0x0F
;
m
>>=
1
;
}
{
value
=
(
*
sp
>>
shift
)
&
0xf
;
*
dp
&=
(
png_byte
)((
0xf0f
>>
(
4
-
shift
))
&
0xff
);
*
dp
|=
(
png_byte
)(
value
<<
shift
);
}
j
=
0
;
for
(
i
=
png_ptr
->
width
;
i
>=
2
;
i
-=
2
)
if
(
shift
==
s_end
)
{
if
(
pixel_mask
[
j
]
!=
0
)
*
dp
=
(
*
sp
&
pixel_mask
[
j
])
|
(
*
dp
&
~
pixel_mask
[
j
]);
shift
=
s_start
;
sp
++
;
dp
++
;
j
+=
1
;
j
&=
3
;
}
if
(
i
>
0
)
{
pixel_mask
[
j
]
&=
lastbyte_mask
[
4
];
if
(
pixel_mask
[
j
]
!=
0
)
*
dp
=
(
*
sp
&
pixel_mask
[
j
])
|
(
*
dp
&
~
pixel_mask
[
j
]);
else
shift
+=
s_inc
;
if
(
m
==
1
)
m
=
0x80
;
else
m
>>=
1
;
}
break
;
}
...
...
@@ -2392,123 +2425,24 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask)
png_bytep
dp
=
row
;
png_size_t
pixel_bytes
=
(
png_ptr
->
row_info
.
pixel_depth
>>
3
);
png_uint_32
i
;
int
m
=
0x80
;
png_uint_32
row_width
=
png_ptr
->
width
;
png_byte
m
=
0x80
;
switch
(
pixel_bytes
)
{
case
1
:
for
(
i
=
png_ptr
->
width
;
i
>
0
;
i
--
)
{
if
(
m
&
mask
)
{
*
(
dp
+
0
)
=
*
(
sp
+
0
);
}
sp
+=
1
;
dp
+=
1
;
if
((
m
>>=
1
)
==
0
)
m
=
0x80
;
}
break
;
case
2
:
for
(
i
=
png_ptr
->
width
;
i
>
0
;
i
--
)
{
if
(
m
&
mask
)
{
*
(
dp
+
0
)
=
*
(
sp
+
0
);
*
(
dp
+
1
)
=
*
(
sp
+
1
);
}
sp
+=
2
;
dp
+=
2
;
if
((
m
>>=
1
)
==
0
)
m
=
0x80
;
}
break
;
case
3
:
for
(
i
=
png_ptr
->
width
;
i
>
0
;
i
--
)
{
if
(
m
&
mask
)
{
*
(
dp
+
0
)
=
*
(
sp
+
0
);
*
(
dp
+
1
)
=
*
(
sp
+
1
);
*
(
dp
+
2
)
=
*
(
sp
+
2
);
}
sp
+=
3
;
dp
+=
3
;
if
((
m
>>=
1
)
==
0
)
m
=
0x80
;
}
break
;
case
4
:
for
(
i
=
png_ptr
->
width
;
i
>
0
;
i
--
)
{
if
(
m
&
mask
)
{
*
(
dp
+
0
)
=
*
(
sp
+
0
);
*
(
dp
+
1
)
=
*
(
sp
+
1
);
*
(
dp
+
2
)
=
*
(
sp
+
2
);
*
(
dp
+
3
)
=
*
(
sp
+
3
);
}
sp
+=
4
;
dp
+=
4
;
if
((
m
>>=
1
)
==
0
)
m
=
0x80
;
}
break
;
case
6
:
for
(
i
=
png_ptr
->
width
;
i
>
0
;
i
--
)
for
(
i
=
0
;
i
<
row_width
;
i
++
)
{
if
(
m
&
mask
)
{
*
(
dp
+
0
)
=
*
(
sp
+
0
);
*
(
dp
+
1
)
=
*
(
sp
+
1
);
*
(
dp
+
2
)
=
*
(
sp
+
2
);
*
(
dp
+
3
)
=
*
(
sp
+
3
);
*
(
dp
+
4
)
=
*
(
sp
+
4
);
*
(
dp
+
5
)
=
*
(
sp
+
5
);
}
sp
+=
6
;
dp
+=
6
;
if
((
m
>>=
1
)
==
0
)
m
=
0x80
;
png_memcpy
(
dp
,
sp
,
pixel_bytes
);
}
break
;
case
8
:
for
(
i
=
png_ptr
->
width
;
i
>
0
;
i
--
)
{
if
(
m
&
mask
)
{
*
(
dp
+
0
)
=
*
(
sp
+
0
);
*
(
dp
+
1
)
=
*
(
sp
+
1
);
*
(
dp
+
2
)
=
*
(
sp
+
2
);
*
(
dp
+
3
)
=
*
(
sp
+
3
);
*
(
dp
+
4
)
=
*
(
sp
+
4
);
*
(
dp
+
5
)
=
*
(
sp
+
5
);
*
(
dp
+
6
)
=
*
(
sp
+
6
);
*
(
dp
+
7
)
=
*
(
sp
+
7
);
}
sp
+=
8
;
dp
+=
8
;
if
((
m
>>=
1
)
==
0
)
sp
+=
pixel_bytes
;
dp
+=
pixel_bytes
;
if
(
m
==
1
)
m
=
0x80
;
}
break
;
default:
/*for (i = png_ptr->width; i > 0; i--)
*{
* if (m & mask)
* {
* png_size_t j;
* for (j = 0; j < pixel_bytes; j++)
* {
* *(dp + j) = *(sp + j);
* }
* }
* sp += pixel_bytes;
* dp += pixel_bytes;
* if ((m >>= 1) == 0)
* m = 0x80;
*}
*/
break
;
else
m
>>=
1
;
}
break
;
}
...
...
@@ -2537,101 +2471,122 @@ png_do_read_interlace(png_structp png_ptr)
#endif
png_debug
(
1
,
"in png_do_read_interlace (stock C version)
\n
"
);
if
(
row
!=
NULL
&&
row_info
!=
NULL
&&
pass
<
6
)
if
(
row
!=
NULL
&&
row_info
!=
NULL
)
{
png_uint_32
final_width
=
row_info
->
width
*
png_pass_inc
[
pass
];
png_uint_32
final_width
;
final_width
=
row_info
->
width
*
png_pass_inc
[
pass
];
switch
(
row_info
->
pixel_depth
)
{
case
1
:
{
static
const
png_byte
pixeltable1
[
24
]
=
{
0x00
,
0x00
,
0x00
,
0xFF
,
0x00
,
0x0F
,
0xF0
,
0xFF
,
0x00
,
0x03
,
0x0C
,
0x0F
,
0x30
,
0x33
,
0x3C
,
0x3F
,
0xC0
,
0xC3
,
0xCC
,
0xCF
,
0xF0
,
0xF3
,
0xFC
,
0xFF
};
png_bytep
sp
=
row
+
(
png_size_t
)((
row_info
->
width
-
1
)
>>
3
);
png_bytep
dp
=
row
+
(
png_size_t
)((
final_width
-
1
)
>>
3
);
int
nbits
=
8
/
png_pass_inc
[
pass
];
int
sshift
=
7
-
(
int
)((
row_info
->
width
+
7
)
&
0x07
);
int
s_inc
=
nbits
;
png_byte
smask
=
(
1
<<
nbits
)
-
1
;
const
png_byte
*
pix
=
pixeltable1
+
(
2
*
nbits
);
int
sshift
,
dshift
;
int
s_start
,
s_end
,
s_inc
;
int
jstop
=
png_pass_inc
[
pass
];
png_byte
v
;
png_uint_32
i
;
int
j
;
#if defined(PNG_READ_PACKSWAP_SUPPORTED)
if
(
transformations
&
PNG_PACKSWAP
)
{
sshift
=
7
-
sshift
;
s_inc
=
-
s_inc
;
sshift
=
(
int
)((
row_info
->
width
+
7
)
&
0x07
);
dshift
=
(
int
)((
final_width
+
7
)
&
0x07
);
s_start
=
7
;
s_end
=
0
;
s_inc
=
-
1
;
}
else
#endif
sshift
&=
(
0x10
-
nbits
);
for
(
i
=
(
row_info
->
width
+
nbits
-
1
)
/
nbits
;
i
>
0
;
i
--
)
{
*
dp
--
=
pix
[(
*
sp
>>
sshift
)
&
smask
];
sshift
=
7
-
(
int
)((
row_info
->
width
+
7
)
&
0x07
);
dshift
=
7
-
(
int
)((
final_width
+
7
)
&
0x07
);
s_start
=
0
;
s_end
=
7
;
s_inc
=
1
;
}
sshift
+=
s_inc
;
if
(
sshift
>=
8
)
for
(
i
=
0
;
i
<
row_info
->
width
;
i
++
)
{
sshift
-=
8
;
sp
--
;
v
=
(
png_byte
)((
*
sp
>>
sshift
)
&
0x01
);
for
(
j
=
0
;
j
<
jstop
;
j
++
)
{
*
dp
&=
(
png_byte
)((
0x7f7f
>>
(
7
-
dshift
))
&
0xff
);
*
dp
|=
(
png_byte
)(
v
<<
dshift
);
if
(
dshift
==
s_end
)
{
dshift
=
s_start
;
dp
--
;
}
else
dshift
+=
s_inc
;
}
else
if
(
sshift
<
0
)
if
(
sshift
==
s_end
)
{
sshift
+=
8
;
sshift
=
s_start
;
sp
--
;
}
else
sshift
+=
s_inc
;
}
break
;
}
case
2
:
{
static
const
png_byte
pixeltable2
[
20
]
=
{
0x00
,
0x55
,
0xAA
,
0xFF
,
0x00
,
0x05
,
0x0A
,
0x0F
,
0x50
,
0x55
,
0x5A
,
0x5F
,
0xA0
,
0xA5
,
0xAA
,
0xAF
,
0xF0
,
0xF5
,
0xFA
,
0xFF
};
png_bytep
sp
=
row
+
(
png_size_t
)((
row_info
->
width
-
1
)
>>
2
);
png_bytep
dp
=
row
+
(
png_size_t
)((
final_width
-
1
)
>>
2
);
int
is2
=
(
png_pass_inc
[
pass
]
==
2
);
int
is8
=
(
png_pass_inc
[
pass
]
==
8
);
int
sshift
=
(
int
)((
3
-
((
row_info
->
width
+
3
)
&
0x03
))
<<
1
);
int
s_inc
=
2
<<
is2
;
png_byte
smask
=
(
4
<<
(
2
*
is2
))
-
1
;
const
png_byte
*
pix
=
pixeltable2
+
(
4
*
is2
);
png_bytep
sp
=
row
+
(
png_uint_32
)((
row_info
->
width
-
1
)
>>
2
);
png_bytep
dp
=
row
+
(
png_uint_32
)((
final_width
-
1
)
>>
2
);
int
sshift
,
dshift
;
int
s_start
,
s_end
,
s_inc
;
int
jstop
=
png_pass_inc
[
pass
];
png_uint_32
i
;
png_byte
v
;
#if defined(PNG_READ_PACKSWAP_SUPPORTED)
if
(
transformations
&
PNG_PACKSWAP
)
{
sshift
=
6
-
sshift
;
s_inc
=
-
s_inc
;
sshift
=
(
int
)(((
row_info
->
width
+
3
)
&
0x03
)
<<
1
);
dshift
=
(
int
)(((
final_width
+
3
)
&
0x03
)
<<
1
);
s_start
=
6
;
s_end
=
0
;
s_inc
=
-
2
;
}
else
#endif
sshift
&=
(
0x0E
-
(
2
*
is2
));
{
sshift
=
(
int
)((
3
-
((
row_info
->
width
+
3
)
&
0x03
))
<<
1
);
dshift
=
(
int
)((
3
-
((
final_width
+
3
)
&
0x03
))
<<
1
);
s_start
=
0
;
s_end
=
6
;
s_inc
=
2
;
}
for
(
i
=
(
row_info
->
width
+
is2
)
>>
is2
;
i
>
0
;
i
--
)
for
(
i
=
0
;
i
<
row_info
->
width
;
i
++
)
{
v
=
pix
[(
*
sp
>>
sshift
)
&
smask
];
*
dp
--
=
v
;
if
(
is8
)
*
dp
--
=
v
;
png_byte
v
;
int
j
;
sshift
+=
s_inc
;
if
(
sshift
>=
8
)
v
=
(
png_byte
)((
*
sp
>>
sshift
)
&
0x03
)
;
for
(
j
=
0
;
j
<
jstop
;
j
++
)
{
sshift
-=
8
;
sp
--
;
*
dp
&=
(
png_byte
)((
0x3f3f
>>
(
6
-
dshift
))
&
0xff
);
*
dp
|=
(
png_byte
)(
v
<<
dshift
);
if
(
dshift
==
s_end
)
{
dshift
=
s_start
;
dp
--
;
}
else
if
(
sshift
<
0
)
else
dshift
+=
s_inc
;
}
if
(
sshift
==
s_end
)
{
sshift
+=
8
;
sshift
=
s_start
;
sp
--
;
}
else
sshift
+=
s_inc
;
}
break
;
}
...
...
@@ -2639,39 +2594,54 @@ png_do_read_interlace(png_structp png_ptr)
{
png_bytep
sp
=
row
+
(
png_size_t
)((
row_info
->
width
-
1
)
>>
1
);
png_bytep
dp
=
row
+
(
png_size_t
)((
final_width
-
1
)
>>
1
);
int
jinit
=
png_pass_inc
[
pass
]
>>
1
;
int
sshift
=
(
int
)((
1
-
((
row_info
->
width
+
1
)
&
0x01
))
<<
2
);
int
s_inc
=
4
;
int
sshift
,
dshift
;
int
s_start
,
s_end
,
s_inc
;
png_uint_32
i
;
png_byte
v
;
int
j
;
int
jstop
=
png_pass_inc
[
pass
];
#if defined(PNG_READ_PACKSWAP_SUPPORTED)
if
(
transformations
&
PNG_PACKSWAP
)
{
sshift
=
4
-
sshift
;
s_inc
=
-
s_inc
;
sshift
=
(
int
)(((
row_info
->
width
+
1
)
&
0x01
)
<<
2
);
dshift
=
(
int
)(((
final_width
+
1
)
&
0x01
)
<<
2
);
s_start
=
4
;
s_end
=
0
;
s_inc
=
-
4
;
}
else
#endif
for
(
i
=
row_info
->
width
;
i
>
0
;
i
--
)
{
v
=
(
*
sp
>>
sshift
)
&
0x0F
;
v
|=
v
<<
4
;
sshift
=
(
int
)((
1
-
((
row_info
->
width
+
1
)
&
0x01
))
<<
2
);
dshift
=
(
int
)((
1
-
((
final_width
+
1
)
&
0x01
))
<<
2
);
s_start
=
0
;
s_end
=
4
;
s_inc
=
4
;
}
for
(
j
=
jinit
;
j
>
0
;
j
--
)
*
dp
--
=
v
;
for
(
i
=
0
;
i
<
row_info
->
width
;
i
++
)
{
png_byte
v
=
(
png_byte
)((
*
sp
>>
sshift
)
&
0xf
);
int
j
;
sshift
+=
s_inc
;
if
(
sshift
>=
8
)
for
(
j
=
0
;
j
<
jstop
;
j
++
)
{
sshift
-=
8
;
sp
--
;
*
dp
&=
(
png_byte
)((
0xf0f
>>
(
4
-
dshift
))
&
0xff
);
*
dp
|=
(
png_byte
)(
v
<<
dshift
);
if
(
dshift
==
s_end
)
{
dshift
=
s_start
;
dp
--
;
}
else
dshift
+=
s_inc
;
}
else
if
(
sshift
<
0
)
if
(
sshift
==
s_end
)
{
sshift
+=
8
;
sshift
=
s_start
;
sp
--
;
}
else
sshift
+=
s_inc
;
}
break
;
}
...
...
@@ -2679,112 +2649,23 @@ png_do_read_interlace(png_structp png_ptr)
{
png_size_t
pixel_bytes
=
(
row_info
->
pixel_depth
>>
3
);
png_bytep
sp
=
row
+
(
png_size_t
)(
row_info
->
width
-
1
)
*
pixel_bytes
;
png_bytep
dp
=
row
+
(
png_size_t
)(
final_width
-
2
)
*
pixel_bytes
;
int
jinit
=
png_pass_inc
[
pass
]
>>
1
;
png_bytep
dp
=
row
+
(
png_size_t
)(
final_width
-
1
)
*
pixel_bytes
;
int
jstop
=
png_pass_inc
[
pass
];
png_uint_32
i
;
int
j
;
switch
(
pixel_bytes
)
for
(
i
=
0
;
i
<
row_info
->
width
;
i
++
)
{
case
1
:
for
(
i
=
row_info
->
width
;
i
>
0
;
i
--
)
{
for
(
j
=
jinit
;
j
>
0
;
j
--
)
{
*
(
dp
+
0
)
=
*
(
dp
+
1
)
=
*
(
sp
+
0
);
dp
-=
2
;
}
sp
-=
1
;
}
break
;
case
2
:
for
(
i
=
row_info
->
width
;
i
>
0
;
i
--
)
{
for
(
j
=
jinit
;
j
>
0
;
j
--
)
{
*
(
dp
+
0
)
=
*
(
dp
+
2
)
=
*
(
sp
+
0
);
*
(
dp
+
1
)
=
*
(
dp
+
3
)
=
*
(
sp
+
1
);
dp
-=
4
;
}
sp
-=
2
;
}
break
;
case
3
:
for
(
i
=
row_info
->
width
;
i
>
0
;
i
--
)
{
for
(
j
=
jinit
;
j
>
0
;
j
--
)
{
*
(
dp
+
0
)
=
*
(
dp
+
3
)
=
*
(
sp
+
0
);
*
(
dp
+
1
)
=
*
(
dp
+
4
)
=
*
(
sp
+
1
);
*
(
dp
+
2
)
=
*
(
dp
+
5
)
=
*
(
sp
+
2
);
dp
-=
6
;
}
sp
-=
3
;
}
break
;
case
4
:
for
(
i
=
row_info
->
width
;
i
>
0
;
i
--
)
{
for
(
j
=
jinit
;
j
>
0
;
j
--
)
{
*
(
dp
+
0
)
=
*
(
dp
+
4
)
=
*
(
sp
+
0
);
*
(
dp
+
1
)
=
*
(
dp
+
5
)
=
*
(
sp
+
1
);
*
(
dp
+
2
)
=
*
(
dp
+
6
)
=
*
(
sp
+
2
);
*
(
dp
+
3
)
=
*
(
dp
+
7
)
=
*
(
sp
+
3
);
dp
-=
8
;
}
sp
-=
4
;
}
break
;
case
6
:
for
(
i
=
row_info
->
width
;
i
>
0
;
i
--
)
{
for
(
j
=
jinit
;
j
>
0
;
j
--
)
{
*
(
dp
+
0
)
=
*
(
dp
+
6
)
=
*
(
sp
+
0
);
*
(
dp
+
1
)
=
*
(
dp
+
7
)
=
*
(
sp
+
1
);
*
(
dp
+
2
)
=
*
(
dp
+
8
)
=
*
(
sp
+
2
);
*
(
dp
+
3
)
=
*
(
dp
+
9
)
=
*
(
sp
+
3
);
*
(
dp
+
4
)
=
*
(
dp
+
10
)
=
*
(
sp
+
4
);
*
(
dp
+
5
)
=
*
(
dp
+
11
)
=
*
(
sp
+
5
);
dp
-=
12
;
}
sp
-=
6
;
}
break
;
case
8
:
for
(
i
=
row_info
->
width
;
i
>
0
;
i
--
)
{
for
(
j
=
jinit
;
j
>
0
;
j
--
)
png_byte
v
[
8
];
int
j
;
png_memcpy
(
v
,
sp
,
pixel_bytes
);
for
(
j
=
0
;
j
<
jstop
;
j
++
)
{
*
(
dp
+
0
)
=
*
(
dp
+
8
)
=
*
(
sp
+
0
);
*
(
dp
+
1
)
=
*
(
dp
+
9
)
=
*
(
sp
+
1
);
*
(
dp
+
2
)
=
*
(
dp
+
10
)
=
*
(
sp
+
2
);
*
(
dp
+
3
)
=
*
(
dp
+
11
)
=
*
(
sp
+
3
);
*
(
dp
+
4
)
=
*
(
dp
+
12
)
=
*
(
sp
+
4
);
*
(
dp
+
5
)
=
*
(
dp
+
13
)
=
*
(
sp
+
5
);
*
(
dp
+
6
)
=
*
(
dp
+
14
)
=
*
(
sp
+
6
);
*
(
dp
+
7
)
=
*
(
dp
+
15
)
=
*
(
sp
+
7
);
dp
-=
16
;
}
sp
-=
8
;
png_memcpy
(
dp
,
v
,
pixel_bytes
);
dp
-=
pixel_bytes
;
}
break
;
default:
/*for (i = row_info->width; i > 0; i--)
*{
* for (j = jinit; j > 0; j--)
* {
* png_size_t k;
* for (k = 0; k < pixel_bytes; k++)
* {
* *(dp + pixel_bytes + k) = *(dp + k) = *(sp + k);
* }
* dp -= (2 * pixel_bytes);
* }
* sp -= pixel_bytes;
*}
*/
break
;
sp
-=
pixel_bytes
;
}
break
;
}
...
...
pngset.c
浏览文件 @
c3dda6da
/* pngset.c - storage of image information into info struct
*
* libpng 1.2.8rc
2 - November 26
, 2004
* libpng 1.2.8rc
3 - November 28
, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pngtest.c
浏览文件 @
c3dda6da
/* pngtest.c - a simple test program to test libpng
*
* libpng 1.2.8rc
2 - November 26
, 2004
* libpng 1.2.8rc
3 - November 28
, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
@@ -1551,4 +1551,4 @@ main(int argc, char *argv[])
}
/* Generate a compiler error if there is an old png.h in the search path. */
typedef
version_1_2_8rc
2
your_png_h_is_not_version_1_2_8rc2
;
typedef
version_1_2_8rc
3
your_png_h_is_not_version_1_2_8rc3
;
pngtrans.c
浏览文件 @
c3dda6da
/* pngtrans.c - transforms the data in a row (used by both readers and writers)
*
* libpng 1.2.8rc
2 - November 26
, 2004
* libpng 1.2.8rc
3 - November 28
, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pngvcrd.c
浏览文件 @
c3dda6da
...
...
@@ -2,7 +2,7 @@
*
* For Intel x86 CPU and Microsoft Visual C++ compiler
*
* libpng version 1.2.8rc
2 - November 26
, 2004
* libpng version 1.2.8rc
3 - November 28
, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* Copyright (c) 1998, Intel Corporation
...
...
pngwio.c
浏览文件 @
c3dda6da
/* pngwio.c - functions for data output
*
* libpng 1.2.8rc
2 - November 26
, 2004
* libpng 1.2.8rc
3 - November 28
, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pngwrite.c
浏览文件 @
c3dda6da
/* pngwrite.c - general routines to write a PNG file
*
* libpng 1.2.8rc
2 - November 26
, 2004
* libpng 1.2.8rc
3 - November 28
, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pngwtran.c
浏览文件 @
c3dda6da
/* pngwtran.c - transforms the data in a row for PNG writers
*
* libpng version 1.2.8rc
2 - November 26
, 2004
* libpng version 1.2.8rc
3 - November 28
, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
pngwutil.c
浏览文件 @
c3dda6da
/* pngwutil.c - utilities to write a PNG file
*
* libpng version 1.2.8rc
2 - November 26
, 2004
* libpng version 1.2.8rc
3 - November 28
, 2004
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2004 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
scripts/libpng-config-head.in
浏览文件 @
c3dda6da
...
...
@@ -8,7 +8,7 @@
# Modeled after libxml-config.
version
=
1.2.8rc
2
version
=
1.2.8rc
3
prefix
=
""
libdir
=
""
libs
=
""
...
...
scripts/libpng.pc.in
浏览文件 @
c3dda6da
...
...
@@ -6,6 +6,6 @@ includedir=${exec_prefix}/include
Name: libpng12
Description: Loads and saves PNG files
Version: 1.2.8rc
2
Version: 1.2.8rc
3
Libs: -L${libdir} -lpng12 -lz -lm
Cflags: -I${includedir}/libpng12
scripts/makefile.32sunu
浏览文件 @
c3dda6da
...
...
@@ -33,7 +33,7 @@ RANLIB=echo
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.8rc
2
PNGMIN
=
1.2.8rc
3
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
INCPATH
=
$(prefix)
/include
...
...
scripts/makefile.64sunu
浏览文件 @
c3dda6da
...
...
@@ -33,7 +33,7 @@ RANLIB=echo
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.8rc
2
PNGMIN
=
1.2.8rc
3
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
INCPATH
=
$(prefix)
/include
...
...
scripts/makefile.aix
浏览文件 @
c3dda6da
...
...
@@ -18,7 +18,7 @@ RM = rm -f
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.8rc
2
PNGMIN
=
1.2.8rc
3
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
prefix
=
/usr/local
...
...
scripts/makefile.beos
浏览文件 @
c3dda6da
...
...
@@ -12,7 +12,7 @@ ZLIBLIB=/usr/local/lib
ZLIBINC
=
/usr/local/include
PNGMAJ
=
0
PNGMIN
=
1.2.8rc
2
PNGMIN
=
1.2.8rc
3
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
ALIGN
=
...
...
scripts/makefile.cygwin
浏览文件 @
c3dda6da
...
...
@@ -79,7 +79,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
LIBNAME
=
libpng12
PNGMAJ
=
0
CYGDLL
=
12
PNGMIN
=
1.2.8rc
2
PNGMIN
=
1.2.8rc
3
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
SHAREDLIB
=
cygpng
$(CYGDLL)
.dll
...
...
scripts/makefile.darwin
浏览文件 @
c3dda6da
...
...
@@ -23,7 +23,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz
RANLIB
=
ranlib
PNGMAJ
=
0
PNGMIN
=
1.2.8rc
2
PNGMIN
=
1.2.8rc
3
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
LIBNAME
=
libpng12
...
...
scripts/makefile.dec
浏览文件 @
c3dda6da
...
...
@@ -32,7 +32,7 @@ ZLIBLIB=../zlib
ZLIBINC
=
../zlib
PNGMAJ
=
0
PNGMIN
=
1.2.8rc
2
PNGMIN
=
1.2.8rc
3
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
LIBNAME
=
libpng12
...
...
scripts/makefile.elf
0 → 100644
浏览文件 @
c3dda6da
# makefile for libpng.a and libpng12.so on Linux ELF with gcc
# Copyright (C) 1998, 1999, 2002 Greg Roelofs and Glenn Randers-Pehrson
# Copyright (C) 1996, 1997 Andreas Dilger
# For conditions of distribution and use, see copyright notice in png.h
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.8rc3
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
CC
=
gcc
# where "make install" puts libpng12.a, libpng12.so*,
# libpng12/png.h and libpng12/pngconf.h
# Prefix must be a full pathname.
prefix
=
/usr/local
# Where the zlib library and include files are located.
#ZLIBLIB=/usr/local/lib
#ZLIBINC=/usr/local/include
ZLIBLIB
=
../zlib
ZLIBINC
=
../zlib
ALIGN
=
# for i386:
#ALIGN=-malign-loops=2 -malign-functions=2
WARNMORE
=
-Wwrite-strings
-Wpointer-arith
-Wshadow
\
-Wmissing-declarations
-Wtraditional
-Wcast-align
\
-Wstrict-prototypes
-Wmissing-prototypes
#-Wconversion
# for pgcc version 2.95.1, -O3 is buggy; don't use it.
CFLAGS
=
-I
$(ZLIBINC)
-Wall
-O3
-funroll-loops
\
$(ALIGN)
#
$(WARNMORE)
-g
-DPNG_DEBUG
=
5
LDFLAGS
=
-L
.
-Wl
,-rpath,.
-L
$(ZLIBLIB)
-Wl
,-rpath,
$(ZLIBLIB)
-lpng12
-lz
-lm
LDFLAGS_A
=
-L
$(ZLIBLIB)
-Wl
,-rpath,
$(ZLIBLIB)
libpng.a
-lz
-lm
RANLIB
=
ranlib
#RANLIB=echo
INCPATH
=
$(prefix)
/include
LIBPATH
=
$(prefix)
/lib
MANPATH
=
$(prefix)
/man
BINPATH
=
$(prefix)
/bin
# override DESTDIR= on the make install command line to easily support
# installing into a temporary location. Example:
#
# make install DESTDIR=/tmp/build/libpng
#
# If you're going to install into a temporary location
# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
# you execute make install.
DESTDIR
=
DB
=
$(DESTDIR)$(BINPATH)
DI
=
$(DESTDIR)$(INCPATH)
DL
=
$(DESTDIR)$(LIBPATH)
DM
=
$(DESTDIR)$(MANPATH)
OBJS
=
png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o
\
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o
\
pngwtran.o pngmem.o pngerror.o pngpread.o
OBJSDLL
=
$(OBJS:.o=.pic.o)
.SUFFIXES
:
.c .o .pic.o
.c.pic.o
:
$(CC)
-c
$(CFLAGS)
-fPIC
-o
$@
$*
.c
all
:
libpng.a $(LIBNAME).so pngtest pngtest-static libpng.pc libpng-config
libpng.a
:
$(OBJS)
ar rc
$@
$(OBJS)
$(RANLIB)
$@
libpng.pc
:
cat
scripts/libpng.pc.in |
sed
-e
s
\!
@PREFIX@!
$(prefix)
!
>
libpng.pc
libpng.syms
:
png.h pngconf.h
$(CC)
$(CFLAGS)
-E
-DPNG_BUILDSYMS
png.h |
\
awk
-F
'[\t [\]();]'
'BEGIN{print "{global:"}\
{ for (i=1;i+2<=NF;++i)\
if ($
$(i)
=="PNG_FUNCTION_EXPORT" && $$(i+2)=="END")\
print $$(i+1) ";";\
for (i=1;i+1<=NF;++i)\
if ($
$(i)
=="PNG_DATA_EXPORT")\
print $$(i+1) ";";}\
END{print "local: *; };"}'
>
$@
.new
rm
-f
$@
mv
$@
.new
$@
libpng-config
:
(
cat
scripts/libpng-config-head.in
;
\
echo
prefix
=
\"
$(prefix)
\"
;
\
echo
I_opts
=
\"
-I
$(INCPATH)
/
$(LIBNAME)
\"
;
\
echo
L_opts
=
\"
-L
$(LIBPATH)
\"
;
\
echo
R_opts
=
\"
-Wl
,-rpath,
$(LIBPATH)
\"
;
\
echo
libs
=
\"
-lpng12
-lz
-lm
\"
;
\
cat
scripts/libpng-config-body.in
)
>
libpng-config
chmod
+x libpng-config
$(LIBNAME).so
:
$(LIBNAME).so.$(PNGMAJ)
ln
-sf
$(LIBNAME)
.so.
$(PNGMAJ)
$(LIBNAME)
.so
$(LIBNAME).so.$(PNGMAJ)
:
$(LIBNAME).so.$(PNGVER)
ln
-sf
$(LIBNAME)
.so.
$(PNGVER)
$(LIBNAME)
.so.
$(PNGMAJ)
$(LIBNAME).so.$(PNGVER)
:
$(OBJSDLL) libpng.syms
$(CC)
-shared
-Wl
,-soname,
$(LIBNAME)
.so.
$(PNGMAJ)
\
-Wl
,-version-script,libpng.syms
\
-o
$(LIBNAME)
.so.
$(PNGVER)
\
$(OBJSDLL)
libpng.so.3.$(PNGMIN)
:
$(OBJSDLL) libpng.syms
$(CC)
-shared
-Wl
,-soname,libpng.so.3
\
-Wl
,-version-script,libpng.syms
\
-o
libpng.so.3.
$(PNGMIN)
\
$(OBJSDLL)
pngtest
:
pngtest.o $(LIBNAME).so
$(CC)
-o
pngtest
$(CFLAGS)
pngtest.o
$(LDFLAGS)
pngtest-static
:
pngtest.o libpng.a
$(CC)
-o
pngtest-static
$(CFLAGS)
pngtest.o
$(LDFLAGS_A)
test
:
pngtest pngtest-static
@
echo
""
@
echo
" Running pngtest dynamically linked with
$(LIBNAME)
.so:"
@
echo
""
./pngtest
@
echo
""
@
echo
" Running pngtest statically linked with libpng.a:"
@
echo
""
./pngtest-static
install-headers
:
png.h pngconf.h
-
@if
[
!
-d
$(DI)
]
;
then
mkdir
$(DI)
;
fi
-
@if
[
!
-d
$(DI)
/
$(LIBNAME)
]
;
then
mkdir
$(DI)
/
$(LIBNAME)
;
fi
cp
png.h pngconf.h
$(DI)
/
$(LIBNAME)
chmod
644
$(DI)
/
$(LIBNAME)
/png.h
$(DI)
/
$(LIBNAME)
/pngconf.h
-
@/bin/rm
-f
$(DI)
/png.h
$(DI)
/pngconf.h
-
@/bin/rm
-f
$(DI)
/libpng
(
cd
$(DI)
;
ln
-sf
$(LIBNAME)
libpng
;
ln
-sf
$(LIBNAME)
/
*
.
)
install-static
:
install-headers libpng.a
-
@if
[
!
-d
$(DL)
]
;
then
mkdir
$(DL)
;
fi
cp
libpng.a
$(DL)
/
$(LIBNAME)
.a
chmod
644
$(DL)
/
$(LIBNAME)
.a
-
@/bin/rm
-f
$(DL)
/libpng.a
(
cd
$(DL)
;
ln
-sf
$(LIBNAME)
.a libpng.a
)
install-shared
:
install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
\
libpng.so.3.$(PNGMIN)
-
@if
[
!
-d
$(DL)
]
;
then
mkdir
$(DL)
;
fi
-
@/bin/rm
-f
$(DL)
/
$(LIBNAME)
.so.
$(PNGVER)
*
$(DL)
/
$(LIBNAME)
.so
-
@/bin/rm
-f
$(DL)
/
$(LIBNAME)
.so.
$(PNGMAJ)
-
@/bin/rm
-f
$(DL)
/libpng.so
-
@/bin/rm
-f
$(DL)
/libpng.so.3
-
@/bin/rm
-f
$(DL)
/libpng.so.3.
$(PNGMIN)
*
cp
$(LIBNAME)
.so.
$(PNGVER)
$(DL)
cp
libpng.so.3.
$(PNGMIN)
$(DL)
chmod
755
$(DL)
/
$(LIBNAME)
.so.
$(PNGVER)
chmod
755
$(DL)
/libpng.so.3.
$(PNGMIN)
(
cd
$(DL)
;
\
ln
-sf
libpng.so.3.
$(PNGMIN)
libpng.so.3
;
\
ln
-sf
libpng.so.3 libpng.so
;
\
ln
-sf
$(LIBNAME)
.so.
$(PNGVER)
$(LIBNAME)
.so.
$(PNGMAJ)
;
\
ln
-sf
$(LIBNAME)
.so.
$(PNGMAJ)
$(LIBNAME)
.so
)
-
@if
[
!
-d
$(DL)
/pkgconfig
]
;
then
mkdir
$(DL)
/pkgconfig
;
fi
-
@/bin/rm
-f
$(DL)
/pkgconfig/
$(LIBNAME)
.pc
-
@/bin/rm
-f
$(DL)
/pkgconfig/libpng.pc
cp
libpng.pc
$(DL)
/pkgconfig/
$(LIBNAME)
.pc
chmod
644
$(DL)
/pkgconfig/
$(LIBNAME)
.pc
(
cd
$(DL)
/pkgconfig
;
ln
-sf
$(LIBNAME)
.pc libpng.pc
)
install-man
:
libpng.3 libpngpf.3 png.5
-
@if
[
!
-d
$(DM)
]
;
then
mkdir
$(DM)
;
fi
-
@if
[
!
-d
$(DM)
/man3
]
;
then
mkdir
$(DM)
/man3
;
fi
-
@/bin/rm
-f
$(DM)
/man3/libpng.3
-
@/bin/rm
-f
$(DM)
/man3/libpngpf.3
cp
libpng.3
$(DM)
/man3
cp
libpngpf.3
$(DM)
/man3
-
@if
[
!
-d
$(DM)
/man5
]
;
then
mkdir
$(DM)
/man5
;
fi
-
@/bin/rm
-f
$(DM)
/man5/png.5
cp
png.5
$(DM)
/man5
install-config
:
libpng-config
-
@if
[
!
-d
$(DB)
]
;
then
mkdir
$(DB)
;
fi
-
@/bin/rm
-f
$(DB)
/libpng-config
-
@/bin/rm
-f
$(DB)
/
$(LIBNAME)
-config
cp
libpng-config
$(DB)
/
$(LIBNAME)
-config
chmod
755
$(DB)
/
$(LIBNAME)
-config
(
cd
$(DB)
;
ln
-sf
$(LIBNAME)
-config
libpng-config
)
install
:
install-static install-shared install-man install-config
# If you installed in $(DESTDIR), test-installed won't work until you
# move the library to its final location. Use test-dd to test it
# before then.
test-dd
:
echo
echo
Testing installed dynamic shared library
in
$(DL)
.
$(CC)
-I
$(DI)
-I
$(ZLIBINC)
\
`
$(BINPATH)
/libpng12-config
--cflags
`
pngtest.c
\
-L
$(DL)
-L
$(ZLIBLIB)
-W1
,
-rpath
,
$(DL)
-Wl
,-rpath,
$(ZLIBLIB)
\
-o
pngtestd
`
$(BINPATH)
/libpng12-config
--ldflags
`
./pngtestd pngtest.png
test-installed
:
$(CC)
-I
$(ZLIBINC)
\
`
$(BINPATH)
/libpng12-config
--cflags
`
pngtest.c
\
-L
$(ZLIBLIB)
-Wl
,-rpath,
$(ZLIBLIB)
\
-o
pngtesti
`
$(BINPATH)
/libpng12-config
--ldflags
`
./pngtesti pngtest.png
clean
:
/bin/rm
-f
*
.o libpng.a libpng.syms pngtest pngout.png libpng-config
\
$(LIBNAME)
.so
$(LIBNAME)
.so.
$(PNGMAJ)
*
pngtest-static pngtesti
\
libpng.so.3.
$(PNGMIN)
\
libpng.pc
DOCS
=
ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
writelock
:
chmod
a-w
*
.[ch35]
$(DOCS)
scripts/
*
# DO NOT DELETE THIS LINE -- make depend depends on it.
png.o png.pic.o
:
png.h pngconf.h
pngerror.o pngerror.pic.o
:
png.h pngconf.h
pngrio.o pngrio.pic.o
:
png.h pngconf.h
pngwio.o pngwio.pic.o
:
png.h pngconf.h
pngmem.o pngmem.pic.o
:
png.h pngconf.h
pngset.o pngset.pic.o
:
png.h pngconf.h
pngget.o pngget.pic.o
:
png.h pngconf.h
pngread.o pngread.pic.o
:
png.h pngconf.h
pngrtran.o pngrtran.pic.o
:
png.h pngconf.h
pngrutil.o pngrutil.pic.o
:
png.h pngconf.h
pngtrans.o pngtrans.pic.o
:
png.h pngconf.h
pngwrite.o pngwrite.pic.o
:
png.h pngconf.h
pngwtran.o pngwtran.pic.o
:
png.h pngconf.h
pngwutil.o pngwutil.pic.o
:
png.h pngconf.h
pngpread.o pngpread.pic.o
:
png.h pngconf.h
pngtest.o
:
png.h pngconf.h
scripts/makefile.gcmmx
浏览文件 @
c3dda6da
...
...
@@ -15,7 +15,7 @@
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.8rc
2
PNGMIN
=
1.2.8rc
3
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
CC
=
gcc
...
...
scripts/makefile.hp64
浏览文件 @
c3dda6da
...
...
@@ -27,7 +27,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
RANLIB
=
ranlib
PNGMAJ
=
0
PNGMIN
=
1.2.8rc
2
PNGMIN
=
1.2.8rc
3
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
LIBNAME
=
libpng12
...
...
scripts/makefile.hpgcc
浏览文件 @
c3dda6da
...
...
@@ -41,7 +41,7 @@ RANLIB=ranlib
#RANLIB=echo
PNGMAJ
=
0
PNGMIN
=
1.2.8rc
2
PNGMIN
=
1.2.8rc
3
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
LIBNAME
=
libpng12
...
...
scripts/makefile.hpux
浏览文件 @
c3dda6da
...
...
@@ -24,7 +24,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
RANLIB
=
ranlib
PNGMAJ
=
0
PNGMIN
=
1.2.8rc
2
PNGMIN
=
1.2.8rc
3
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
LIBNAME
=
libpng12
...
...
scripts/makefile.linux
浏览文件 @
c3dda6da
...
...
@@ -5,7 +5,7 @@
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.8rc
2
PNGMIN
=
1.2.8rc
3
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
CC
=
gcc
...
...
scripts/makefile.ne12bsd
浏览文件 @
c3dda6da
...
...
@@ -13,7 +13,7 @@ INCSDIR=${LOCALBASE}/include/libpng12
LIB
=
png12
SHLIB_MAJOR
=
0
SHLIB_MINOR
=
1.2.8rc
2
SHLIB_MINOR
=
1.2.8rc
3
SRCS
=
pnggccrd.c png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c
\
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c
\
pngwtran.c pngmem.c pngerror.c pngpread.c
...
...
scripts/makefile.netbsd
浏览文件 @
c3dda6da
...
...
@@ -13,7 +13,7 @@ INCSDIR=${LOCALBASE}/include/libpng
LIB
=
png
SHLIB_MAJOR
=
3
SHLIB_MINOR
=
1.2.8rc
2
SHLIB_MINOR
=
1.2.8rc
3
SRCS
=
pnggccrd.c png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c
\
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c
\
pngwtran.c pngmem.c pngerror.c pngpread.c
...
...
scripts/makefile.openbsd
浏览文件 @
c3dda6da
...
...
@@ -7,7 +7,7 @@ LIBDIR= ${PREFIX}/lib
MANDIR
=
${PREFIX}
/man/cat
SHLIB_MAJOR
=
0
SHLIB_MINOR
=
1.2.8rc
2
SHLIB_MINOR
=
1.2.8rc
3
LIB
=
png
SRCS
=
png.c pngerror.c pnggccrd.c pngget.c pngmem.c pngpread.c
\
...
...
scripts/makefile.sco
浏览文件 @
c3dda6da
...
...
@@ -24,7 +24,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz -lm
RANLIB
=
echo
PNGMAJ
=
0
PNGMIN
=
1.2.8rc
2
PNGMIN
=
1.2.8rc
3
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
LIBNAME
=
libpng12
...
...
scripts/makefile.sggcc
浏览文件 @
c3dda6da
...
...
@@ -18,7 +18,7 @@ ZLIBINC=../zlib
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.8rc
2
PNGMIN
=
1.2.8rc
3
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
CC
=
gcc
...
...
scripts/makefile.sgi
浏览文件 @
c3dda6da
...
...
@@ -5,7 +5,7 @@
LIBNAME
=
libpng12
PNGMAJ
=
0
PNGMIN
=
1.2.8rc
2
PNGMIN
=
1.2.8rc
3
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
# Where make install puts libpng.a, libpng12.so, and libpng12/png.h
...
...
scripts/makefile.so9
浏览文件 @
c3dda6da
...
...
@@ -34,7 +34,7 @@ LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng12 -lz -lm
RANLIB
=
echo
PNGMAJ
=
0
PNGMIN
=
1.2.8rc
2
PNGMIN
=
1.2.8rc
3
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
LIBNAME
=
libpng12
...
...
scripts/makefile.solaris
浏览文件 @
c3dda6da
...
...
@@ -30,7 +30,7 @@ LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng12 -lz -lm
RANLIB
=
echo
PNGMAJ
=
0
PNGMIN
=
1.2.8rc
2
PNGMIN
=
1.2.8rc
3
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
LIBNAME
=
libpng12
...
...
scripts/pngos2.def
浏览文件 @
c3dda6da
...
...
@@ -2,7 +2,7 @@
; PNG.LIB module definition file for OS/2
;----------------------------------------
; Version 1.2.8rc
2
; Version 1.2.8rc
3
LIBRARY PNG
DESCRIPTION "PNG image compression library for OS/2"
...
...
scripts/pngw32.def
浏览文件 @
c3dda6da
...
...
@@ -6,7 +6,7 @@ LIBRARY
DESCRIPTION "PNG image compression library for Windows"
EXPORTS
;Version 1.2.8rc
2
;Version 1.2.8rc
3
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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录