Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Libpng
提交
397100eb
T
Third Party Libpng
项目概览
OpenHarmony
/
Third Party Libpng
接近 2 年 前同步成功
通知
4
Star
22
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Libpng
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
397100eb
编写于
3月 07, 1998
作者:
G
Glenn Randers-Pehrson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Imported from libpng-1.00.tar
上级
4922b1b6
变更
32
隐藏空白更改
内联
并排
Showing
32 changed file
with
130 addition
and
201 deletion
+130
-201
CHANGES
CHANGES
+0
-8
INSTALL
INSTALL
+4
-6
README
README
+3
-5
example.c
example.c
+5
-5
libpng.3
libpng.3
+6
-6
libpng.txt
libpng.txt
+1
-1
libpngpf.3
libpngpf.3
+1
-1
png.5
png.5
+1
-1
png.c
png.c
+3
-3
png.h
png.h
+13
-14
pngconf.h
pngconf.h
+2
-2
pngerror.c
pngerror.c
+2
-2
pngget.c
pngget.c
+4
-4
pngmem.c
pngmem.c
+2
-2
pngpread.c
pngpread.c
+2
-2
pngread.c
pngread.c
+2
-2
pngrio.c
pngrio.c
+2
-2
pngrtran.c
pngrtran.c
+29
-54
pngrutil.c
pngrutil.c
+12
-12
pngset.c
pngset.c
+2
-2
pngtest.c
pngtest.c
+2
-2
pngtrans.c
pngtrans.c
+2
-2
pngwio.c
pngwio.c
+2
-2
pngwrite.c
pngwrite.c
+2
-2
pngwtran.c
pngwtran.c
+2
-2
pngwutil.c
pngwutil.c
+13
-13
scripts/SCOPTIONS.ppc
scripts/SCOPTIONS.ppc
+0
-7
scripts/makefile.lnx
scripts/makefile.lnx
+1
-1
scripts/makefile.s2x
scripts/makefile.s2x
+1
-1
scripts/makefile.tc3
scripts/makefile.tc3
+7
-4
scripts/makefile.wat
scripts/makefile.wat
+2
-2
scripts/smakefile.ppc
scripts/smakefile.ppc
+0
-29
未找到文件。
CHANGES
浏览文件 @
397100eb
...
...
@@ -268,11 +268,3 @@ version 1.00 [March 7, 1998]
changed some typedefs (s_start, etc.) in pngrutil.c
fixed dimensions of "short_months" array in pngwrite.c
Replaced ansi2knr.c with the one from jpeg-v6
version 1.0.0 [March 8, 1998]
Changed name from 1.00 to 1.0.0 (Adam Costello)
Added smakefile.ppc (with SCOPTIONS.ppc) for Amiga PPC (Andreas Kleinert)
version 1.0.1 [March 9, 1998]
Fixed three bugs in pngrtran.c to make gamma+background handling consistent
(Greg Roelofs)
Changed format of the PNG_LIBPNG_VER integer to xyyyzzzz instead of xyz
for major, minor, and bugfix releases. This is 10000001L. (Adam Costello)
INSTALL
浏览文件 @
397100eb
Installing libpng version 1.0
.1 March 9
, 1998
Installing libpng version 1.0
0 March 7
, 1998
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.0
.1
or "lpng100" and "zlib-1.1.1"
might be called "libpng-1.0
0
or "lpng100" and "zlib-1.1.1"
or "zlib111") so that you have directories called "zlib" and "libpng".
Your directory structure should look like this:
...
...
@@ -44,13 +44,11 @@ include
makefile.dec => DEC Alpha UNIX makefile
makefile.sgi => Silicon Graphics IRIX makefile
makefile.sun => Sun makefile
makefile.s2x => Solaris 2.X makefile (gcc, creates libpng.so.2.1.0)
makefile.lnx => Linux/ELF makefile (gcc, creates libpng.so.2.1.0)
makefile.s2x => Solaris 2.X makefile (gcc, creates libpng.so.2.1.0
0
)
makefile.lnx => Linux/ELF makefile (gcc, creates libpng.so.2.1.0
0
)
makefile.mip => MIPS makefile
makefile.aco => Acorn makefile
makefile.ama => Amiga makefile
smakefile.ppc => AMIGA smakefile for SAS C V6.58/7.00 PPC compiler
(Requires SCOPTIONS, copied from scripts/SCOPTIONS.ppc)
makefile.atr => Atari makefile
makefile.bor => Borland makefile
build.bat => MS-DOS batch file for Borland compiler
...
...
README
浏览文件 @
397100eb
README for libpng 1.0
.1
(shared library 2.1)
README for libpng 1.0
0
(shared library 2.1)
See the note about version numbers near the top of png.h
See INSTALL for instructions on how to install libpng.
...
...
@@ -161,13 +161,11 @@ Files in this distribution:
makefile.dec => DEC Alpha UNIX makefile
makefile.sgi => Silicon Graphics IRIX makefile
makefile.sun => Sun makefile
makefile.s2x => Solaris 2.X makefile (gcc, creates libpng.so.2.1.0)
makefile.lnx => Linux/ELF makefile (gcc, creates libpng.so.2.1.0)
makefile.s2x => Solaris 2.X makefile (gcc, creates libpng.so.2.1.0
0
)
makefile.lnx => Linux/ELF makefile (gcc, creates libpng.so.2.1.0
0
)
makefile.mip => MIPS makefile
makefile.aco => Acorn makefile
makefile.ama => Amiga makefile
smakefile.ppc => AMIGA smakefile for SAS C V6.58/7.00 PPC compiler
(Requires SCOPTIONS, copied from scripts/SCOPTIONS.ppc)
makefile.atr => Atari makefile
makefile.bor => Borland makefile
build.bat => MS-DOS batch file for Borland compiler
...
...
example.c
浏览文件 @
397100eb
...
...
@@ -15,7 +15,7 @@
#include "png.h"
/* Check to see if a file is a PNG file using png_
sig_cmp
(). Returns
/* Check to see if a file is a PNG file using png_
check_sig
(). Returns
* non-zero if the image is a PNG, and 0 if it isn't a PNG.
*
* If this call is successful, and you are going to keep the file open,
...
...
@@ -29,7 +29,7 @@
*
* Many applications already read the first 2 or 4 bytes from the start
* of the image to determine the file type, so it would be easiest just
* to pass the bytes to png_
sig_cmp
() or even skip that if you know
* to pass the bytes to png_
check_sig
() or even skip that if you know
* you have a PNG file, and call png_set_sig_bytes().
*/
#define PNG_BYTES_TO_CHECK 4
...
...
@@ -46,7 +46,7 @@ int check_if_png(char *file_name, FILE **fp)
return
0
;
/* Compare the first PNG_BYTES_TO_CHECK bytes of the signature. */
return
(
png_
sig_cmp
(
buf
,
(
png_size_t
)
0
,
PNG_BYTES_TO_CHECK
));
return
(
png_
check_sig
(
buf
,
PNG_BYTES_TO_CHECK
));
}
/* Read a PNG file. You may want to return an error code if the read
...
...
@@ -92,7 +92,7 @@ void read_png(FILE *fp, unsigned int sig_read) /* file is already open */
}
/* Allocate/initialize the memory for image information. REQUIRED. */
info_ptr
=
png_create_info_struct
(
png_ptr
);
info_ptr
=
png_create_info_struct
();
if
(
info_ptr
==
NULL
)
{
fclose
(
fp
);
...
...
@@ -127,7 +127,7 @@ void read_png(FILE *fp, unsigned int sig_read) /* file is already open */
#endif no_streams
/* Use only one I/O method! */
/* If we have already read some of the signature */
png_set_sig_bytes
(
png_ptr
,
sig_read
);
png_set_sig_bytes
_read
(
png_ptr
,
sig_read
);
/* The call to png_read_info() gives us all of the information from the
* PNG file before the first IDAT (image data chunk). REQUIRED
...
...
libpng.3
浏览文件 @
397100eb
.TH LIBPNG 3 "March
9
, 1998"
.TH LIBPNG 3 "March
7
, 1998"
.SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library
.SH SYNOPSIS
...
...
@@ -396,7 +396,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.0
.1 March 9
, 1998
libpng version 1.0
0 March 7
, 1998
Updated and distributed by Glenn Randers-Pehrson
<randeg@alumni.rpi.edu>
Copyright (c) 1998, Glenn Randers-Pehrson
...
...
@@ -2301,13 +2301,13 @@ the first widely used release:
[should have been 2.0.95]
0.96 ("1.0 beta 6") 0.96 0.96
[should have been 2.0.96]
0.97b ("1.00.97 beta 7") 1.00.97 1.0.
1
0.97b ("1.00.97 beta 7") 1.00.97 1.0.
0
[should have been 2.0.97]
0.97c 0.97 2.0.97
0.98 0.98 2.0.98
0.99 0.99 2.0.99
0.99a-
m
0.99 2.0.99
1.0
.1
1.00 2.1.0
0.99a-
g
0.99 2.0.99
1.0
1.00 2.1.0
Henceforth the source version will match the shared-library minor
and patch numbers; the shared-library major version number will be
...
...
@@ -2365,7 +2365,7 @@ possible without all of you.
Thanks to Frank J. T. Wojcik for helping with the documentation.
Libpng version 1.0
.1 (March 9
, 1998):
Libpng version 1.0
0 (March 7
, 1998):
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (randeg@alumni.rpi.edu).
...
...
libpng.txt
浏览文件 @
397100eb
libpng.txt - A description on how to use and modify libpng
libpng version 1.0
.1 March 9
, 1998
libpng version 1.0
0 March 7
, 1998
Updated and distributed by Glenn Randers-Pehrson
<randeg@alumni.rpi.edu>
Copyright (c) 1998, Glenn Randers-Pehrson
...
...
libpngpf.3
浏览文件 @
397100eb
.TH LIBPNGPF 3 "March
9
, 1998"
.TH LIBPNGPF 3 "March
7
, 1998"
.SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library
(private functions)
...
...
png.5
浏览文件 @
397100eb
.TH PNG 5 "March
9
, 1998"
.TH PNG 5 "March
7
, 1998"
.SH NAME
png \- Portable Network Graphics (PNG) format
.SH DESCRIPTION
...
...
png.c
浏览文件 @
397100eb
/* png.c - location for general purpose libpng functions
*
* libpng 1.0
.1
* libpng 1.0
0
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
* Copyright (c) 1998, Glenn Randers-Pehrson
* March
9
, 1998
* March
7
, 1998
*/
#define PNG_INTERNAL
...
...
@@ -16,7 +16,7 @@
/* Version information for C files. This had better match the version
* string defined in png.h.
*/
char
png_libpng_ver
[
6
]
=
"1.0.1
"
;
char
png_libpng_ver
[
5
]
=
"1.00
"
;
/* Place to hold the signature string for a PNG file. */
png_byte
FARDATA
png_sig
[
8
]
=
{
137
,
80
,
78
,
71
,
13
,
10
,
26
,
10
};
...
...
png.h
浏览文件 @
397100eb
/* png.h - header file for PNG reference library
*
* libpng 1.0
.1
* libpng 1.0
0
* For conditions of distribution and use, see the COPYRIGHT NOTICE below.
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
* Copyright (c) 1998 Glenn Randers-Pehrson
* March
9
, 1998
* March
7
, 1998
*
* Note about libpng version numbers:
*
...
...
@@ -23,12 +23,12 @@
* 0.90 ("1.0 beta 4") 0.90 0.90 [should have been 2.0.90]
* 0.95 ("1.0 beta 5") 0.95 0.95 [should have been 2.0.95]
* 0.96 ("1.0 beta 6") 0.96 0.96 [should have been 2.0.96]
* 0.97b ("1.00.97 beta 7") 1.00.97 1.0.
1
[should have been 2.0.97]
* 0.97b ("1.00.97 beta 7") 1.00.97 1.0.
0
[should have been 2.0.97]
* 0.97c 0.97 2.0.97
* 0.98 0.98 2.0.98
* 0.99 0.99 2.0.99
* 0.99a-
m
0.99 2.0.99
* 1.0
.1
1.00 2.1.0
* 0.99a-
i
0.99 2.0.99
* 1.0
0
1.00 2.1.0
*
* Henceforth the source version will match the shared-library minor
* and patch numbers; the shared-library major version number will be
...
...
@@ -112,20 +112,19 @@ extern "C" {
*/
/* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.0
.1
"
#define PNG_LIBPNG_VER_STRING "1.0
0
"
/* careful here. At one time, I wanted to use 082, but that would be octal.
* We must not include leading blanks.
* Versions 0.7 through 1.0.0 were in the range 0 to 100 here. From
* version 1.0.1 it's xxxyyyzzzzL, where x=major, y=minor, z-bugfix*/
#define PNG_LIBPNG_VER 10000001L
* Version 1.0 will be 100 here, etc.
*/
#define PNG_LIBPNG_VER 100
/* variables declared in png.c - only it needs to define PNG_NO_EXTERN */
#if !defined(PNG_NO_EXTERN) || defined(PNG_ALWAYS_EXTERN)
/* Version information for C files, stored in png.c. This had better match
* the version above.
*/
extern
char
png_libpng_ver
[
6
];
extern
char
png_libpng_ver
[
5
];
/* Structures to facilitate easy interlacing. See png.c for more details */
extern
int
FARDATA
png_pass_start
[
7
];
...
...
@@ -1484,11 +1483,11 @@ extern PNG_EXPORT(void,png_set_tRNS) PNGARG((png_structp png_ptr,
#define PNG_GAMMA 0x2000
#define PNG_GRAY_TO_RGB 0x4000
#define PNG_FILLER 0x8000
#define PNG_PACKSWAP 0x1
.0.1
L
#define PNG_PACKSWAP 0x1
0000
L
#define PNG_SWAP_ALPHA 0x20000L
#define PNG_STRIP_ALPHA 0x40000L
#define PNG_INVERT_ALPHA 0x80000L
#define PNG_USER_TRANSFORM 0x1
.0.1
0L
#define PNG_USER_TRANSFORM 0x1
0000
0L
/* flags for png_create_struct */
#define PNG_STRUCT_PNG 0x0001
...
...
@@ -1517,7 +1516,7 @@ extern PNG_EXPORT(void,png_set_tRNS) PNGARG((png_structp png_ptr,
#define PNG_FLAG_FREE_TRANS 0x2000
#define PNG_FLAG_FREE_HIST 0x4000
#define PNG_FLAG_HAVE_CHUNK_HEADER 0x8000L
#define PNG_FLAG_WROTE_tIME 0x1
.0.1
L
#define PNG_FLAG_WROTE_tIME 0x1
0000
L
#define PNG_FLAG_CRC_ANCILLARY_MASK (PNG_FLAG_CRC_ANCILLARY_USE | \
PNG_FLAG_CRC_ANCILLARY_NOWARN)
...
...
pngconf.h
浏览文件 @
397100eb
/* pngconf.h - machine configurable file for libpng
*
* libpng 1.0
.1
* libpng 1.0
0
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
* Copyright (c) 1998, Glenn Randers-Pehrson
* March
9
, 1998
* March
7
, 1998
*/
/* Any machine specific code is near the front of this file, so if you
...
...
pngerror.c
浏览文件 @
397100eb
/* pngerror.c - stub functions for i/o and memory allocation
*
* libpng 1.0
.1
* libpng 1.0
0
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
* Copyright (c) 1998, Glenn Randers-Pehrson
* March
9
, 1998
* March
7
, 1998
*
* This file provides a location for all error handling. Users which
* need special error handling are expected to write replacement functions
...
...
pngget.c
浏览文件 @
397100eb
/* pngget.c - retrieval of values from info struct
*
* libpng 1.0
.1
* libpng 1.0
0
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
* Copyright (c) 1998, Glenn Randers-Pehrson
* March
9
, 1998
* March
7
, 1998
*/
#define PNG_INTERNAL
...
...
@@ -259,14 +259,14 @@ float
png_get_x_offset_inches
(
png_structp
png_ptr
,
png_infop
info_ptr
)
{
return
((
float
)
png_get_x_offset_microns
(
png_ptr
,
info_ptr
)
*
.
03
937
/
1
.
0
.
1
00
.
+
.
5
)
*
.
03
937
/
1
0000
00
.
+
.
5
)
}
float
png_get_y_offset_inches
(
png_structp
png_ptr
,
png_infop
info_ptr
)
{
return
((
float
)
png_get_y_offset_microns
(
png_ptr
,
info_ptr
)
*
.
03
937
/
1
.
0
.
1
00
.
+
.
5
)
*
.
03
937
/
1
0000
00
.
+
.
5
)
}
#if defined(PNG_READ_pHYs_SUPPORTED)
...
...
pngmem.c
浏览文件 @
397100eb
/* pngmem.c - stub functions for memory allocation
*
* libpng 1.0
.1
* libpng 1.0
0
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
* Copyright (c) 1998, Glenn Randers-Pehrson
* March
9
, 1998
* March
7
, 1998
*
* This file provides a location for all memory allocation. Users which
* need special memory handling are expected to modify the code in this file
...
...
pngpread.c
浏览文件 @
397100eb
/* pngpread.c - read a png file in push mode
*
* libpng 1.0
.1
* libpng 1.0
0
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
* Copyright (c) 1998, Glenn Randers-Pehrson
* March
9
, 1998
* March
7
, 1998
*/
#define PNG_INTERNAL
...
...
pngread.c
浏览文件 @
397100eb
/* pngread.c - read a PNG file
*
* libpng 1.0
.1
* libpng 1.0
0
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
* Copyright (c) 1998, Glenn Randers-Pehrson
* March
9
, 1998
* March
7
, 1998
*
* This file contains routines that an application calls directly to
* read a PNG file or stream.
...
...
pngrio.c
浏览文件 @
397100eb
/* pngrio.c - functions for data input
*
* libpng 1.0
.1
* libpng 1.0
0
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
* Copyright (c) 1998, Glenn Randers-Pehrson
* March
9
, 1998
* March
7
, 1998
*
* This file provides a location for all input. Users which need
* special handling are expected to write a function which has the same
...
...
pngrtran.c
浏览文件 @
397100eb
/* pngrtran.c - transforms the data in a row for PNG readers
*
* libpng 1.0
.1
* libpng 1.0
0
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
* Copyright (c) 1998, Glenn Randers-Pehrson
* March
9
, 1998
* March
7
, 1998
*
* This file contains functions optionally called by an application
* in order to tell libpng how to handle data when reading a PNG.
...
...
@@ -665,8 +665,7 @@ png_init_read_transformations(png_structp png_ptr)
if
(
png_ptr
->
transformations
&
PNG_INVERT_ALPHA
)
{
#if defined(PNG_READ_EXPAND_SUPPORTED)
/* GRR BUG #1: was (png_ptr->transformations & !PNG_EXPAND) */
if
(
!
(
png_ptr
->
transformations
&
PNG_EXPAND
))
if
(
png_ptr
->
transformations
&
!
PNG_EXPAND
)
#endif
{
/* invert the alpha channel (in tRNS) unless the pixels are
...
...
@@ -713,65 +712,41 @@ png_init_read_transformations(png_structp png_ptr)
}
else
{
double
g
,
gs
;
double
g
;
/*
GRR BUG #3: inconsistent with handling of full RGBA below
g = 1.0 / png_ptr->background_gamma;
gs = 1.0 / (png_ptr->background_gamma * png_ptr->screen_gamma);
*/
switch
(
png_ptr
->
background_gamma_type
)
{
case
PNG_BACKGROUND_GAMMA_SCREEN
:
g
=
(
png_ptr
->
screen_gamma
);
gs
=
1
.
0
;
break
;
case
PNG_BACKGROUND_GAMMA_FILE
:
g
=
1
.
0
/
(
png_ptr
->
gamma
);
gs
=
1
.
0
/
(
png_ptr
->
gamma
*
png_ptr
->
screen_gamma
);
break
;
case
PNG_BACKGROUND_GAMMA_UNIQUE
:
g
=
1
.
0
/
(
png_ptr
->
background_gamma
);
gs
=
1
.
0
/
(
png_ptr
->
background_gamma
*
png_ptr
->
screen_gamma
);
break
;
default:
g
=
1
.
0
;
/* back_1 */
gs
=
1
.
0
;
/* back */
}
g
=
1
.
0
/
(
png_ptr
->
background_gamma
*
png_ptr
->
screen_gamma
);
if
(
/*
GRR BUG #2: This creates self-inconsistent images--fully
transparent and fully opaque look fine, but translucent
pixels are wrong (too bright if XV's code can be trusted).
Commenting it out makes an internally self-consistent
image, but still not consistent with RGBA version of same
thing (again, too bright in XV).
png_ptr->background_gamma_type==PNG_BACKGROUND_GAMMA_SCREEN||
*/
fabs
(
gs
-
1
.
0
)
<
PNG_GAMMA_THRESHOLD
)
if
(
png_ptr
->
background_gamma_type
==
PNG_BACKGROUND_GAMMA_SCREEN
||
fabs
(
g
-
1
.
0
)
<
PNG_GAMMA_THRESHOLD
)
{
back
.
red
=
(
png_byte
)
png_ptr
->
background
.
red
;
back
.
red
=
(
png_byte
)
png_ptr
->
background
.
red
;
back
.
green
=
(
png_byte
)
png_ptr
->
background
.
green
;
back
.
blue
=
(
png_byte
)
png_ptr
->
background
.
blue
;
back
.
blue
=
(
png_byte
)
png_ptr
->
background
.
blue
;
}
else
{
back
.
red
=
(
png_byte
)(
pow
(
(
double
)
png_ptr
->
background
.
red
/
255
,
gs
)
*
255
.
0
+
.
5
);
back
.
green
=
(
png_byte
)(
pow
(
(
double
)
png_ptr
->
background
.
green
/
255
,
gs
)
*
255
.
0
+
.
5
);
back
.
blue
=
(
png_byte
)(
pow
(
(
double
)
png_ptr
->
background
.
blue
/
255
,
gs
)
*
255
.
0
+
.
5
);
back
.
red
=
(
png_byte
)(
pow
((
double
)
png_ptr
->
background
.
red
/
255
,
g
)
*
255
.
0
+
0
.
5
);
back
.
green
=
(
png_byte
)(
pow
((
double
)
png_ptr
->
background
.
green
/
255
,
g
)
*
255
.
0
+
0
.
5
);
back
.
blue
=
(
png_byte
)(
pow
((
double
)
png_ptr
->
background
.
blue
/
255
,
g
)
*
255
.
0
+
0
.
5
);
}
back_1
.
red
=
(
png_byte
)(
pow
(
(
double
)
png_ptr
->
background
.
red
/
255
,
g
)
*
255
.
0
+
.
5
);
back_1
.
green
=
(
png_byte
)(
pow
(
(
double
)
png_ptr
->
background
.
green
/
255
,
g
)
*
255
.
0
+
.
5
);
back_1
.
blue
=
(
png_byte
)(
pow
(
(
double
)
png_ptr
->
background
.
blue
/
255
,
g
)
*
255
.
0
+
.
5
);
g
=
1
.
0
/
png_ptr
->
background_gamma
;
back_1
.
red
=
(
png_byte
)(
pow
((
double
)
png_ptr
->
background
.
red
/
255
,
g
)
*
255
.
0
+
0
.
5
);
back_1
.
green
=
(
png_byte
)(
pow
((
double
)
png_ptr
->
background
.
green
/
255
,
g
)
*
255
.
0
+
0
.
5
);
back_1
.
blue
=
(
png_byte
)(
pow
((
double
)
png_ptr
->
background
.
blue
/
255
,
g
)
*
255
.
0
+
0
.
5
);
}
for
(
i
=
0
;
i
<
num_palette
;
i
++
)
...
...
pngrutil.c
浏览文件 @
397100eb
/* pngrutil.c - utilities to read a PNG file
*
* libpng
1.0.1
* libpng
0.99
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
* Copyright (c) 1998, Glenn Randers-Pehrson
* March
9
, 1998
* March
7
, 1998
*
* This file contains routines which are only called from within
* libpng itself during the course of reading an image.
...
...
@@ -436,7 +436,7 @@ png_handle_gAMA(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
}
#endif
/* PNG_READ_sRGB_SUPPORTED */
file_gamma
=
(
float
)
igamma
/
(
float
)
1
.
0
.
1
0
.
0
;
file_gamma
=
(
float
)
igamma
/
(
float
)
1
0000
0
.
0
;
#ifdef PNG_READ_GAMMA_SUPPORTED
png_ptr
->
gamma
=
file_gamma
;
#endif
...
...
@@ -549,11 +549,11 @@ png_handle_cHRM(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
png_crc_read
(
png_ptr
,
buf
,
4
);
val
=
png_get_uint_32
(
buf
);
white_x
=
(
float
)
val
/
(
float
)
1
.
0
.
1
0
.
0
;
white_x
=
(
float
)
val
/
(
float
)
1
0000
0
.
0
;
png_crc_read
(
png_ptr
,
buf
,
4
);
val
=
png_get_uint_32
(
buf
);
white_y
=
(
float
)
val
/
(
float
)
1
.
0
.
1
0
.
0
;
white_y
=
(
float
)
val
/
(
float
)
1
0000
0
.
0
;
if
(
white_x
<
0
||
white_x
>
0
.
8
||
white_y
<
0
||
white_y
>
0
.
8
||
white_x
+
white_y
>
1
.
0
)
...
...
@@ -565,11 +565,11 @@ png_handle_cHRM(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
png_crc_read
(
png_ptr
,
buf
,
4
);
val
=
png_get_uint_32
(
buf
);
red_x
=
(
float
)
val
/
(
float
)
1
.
0
.
1
0
.
0
;
red_x
=
(
float
)
val
/
(
float
)
1
0000
0
.
0
;
png_crc_read
(
png_ptr
,
buf
,
4
);
val
=
png_get_uint_32
(
buf
);
red_y
=
(
float
)
val
/
(
float
)
1
.
0
.
1
0
.
0
;
red_y
=
(
float
)
val
/
(
float
)
1
0000
0
.
0
;
if
(
red_x
<
0
||
red_x
>
0
.
8
||
red_y
<
0
||
red_y
>
0
.
8
||
red_x
+
red_y
>
1
.
0
)
...
...
@@ -581,11 +581,11 @@ png_handle_cHRM(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
png_crc_read
(
png_ptr
,
buf
,
4
);
val
=
png_get_uint_32
(
buf
);
green_x
=
(
float
)
val
/
(
float
)
1
.
0
.
1
0
.
0
;
green_x
=
(
float
)
val
/
(
float
)
1
0000
0
.
0
;
png_crc_read
(
png_ptr
,
buf
,
4
);
val
=
png_get_uint_32
(
buf
);
green_y
=
(
float
)
val
/
(
float
)
1
.
0
.
1
0
.
0
;
green_y
=
(
float
)
val
/
(
float
)
1
0000
0
.
0
;
if
(
green_x
<
0
||
green_x
>
0
.
8
||
green_y
<
0
||
green_y
>
0
.
8
||
green_x
+
green_y
>
1
.
0
)
...
...
@@ -597,11 +597,11 @@ png_handle_cHRM(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
png_crc_read
(
png_ptr
,
buf
,
4
);
val
=
png_get_uint_32
(
buf
);
blue_x
=
(
float
)
val
/
(
float
)
1
.
0
.
1
0
.
0
;
blue_x
=
(
float
)
val
/
(
float
)
1
0000
0
.
0
;
png_crc_read
(
png_ptr
,
buf
,
4
);
val
=
png_get_uint_32
(
buf
);
blue_y
=
(
float
)
val
/
(
float
)
1
.
0
.
1
0
.
0
;
blue_y
=
(
float
)
val
/
(
float
)
1
0000
0
.
0
;
if
(
blue_x
<
(
float
)
0
||
blue_x
>
(
float
)
0
.
8
||
blue_y
<
(
float
)
0
||
blue_y
>
(
float
)
0
.
8
||
blue_x
+
blue_y
>
(
float
)
1
.
0
)
...
...
@@ -694,7 +694,7 @@ png_handle_sRGB(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
#if defined(PNG_READ_gAMA_SUPPORTED) && defined(PNG_READ_GAMMA_SUPPORTED)
if
((
info_ptr
->
valid
&
PNG_INFO_gAMA
))
if
((
png_uint_32
)(
png_ptr
->
gamma
*
(
float
)
1
.
0
.
1
0
.
+
.
5
)
!=
(
png_uint_32
)
45000L
)
if
((
png_uint_32
)(
png_ptr
->
gamma
*
(
float
)
1
0000
0
.
+
.
5
)
!=
(
png_uint_32
)
45000L
)
{
png_warning
(
png_ptr
,
"Ignoring incorrect gAMA value when sRGB is also present"
);
...
...
pngset.c
浏览文件 @
397100eb
/* pngset.c - storage of image information into info struct
*
* libpng 1.0
.1
* libpng 1.0
0
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
* Copyright (c) 1998, Glenn Randers-Pehrson
* March
9
, 1998
* March
7
, 1998
*
* The functions here are used during reads to store data from the file
* into the info struct, and during writes to store application data
...
...
pngtest.c
浏览文件 @
397100eb
/* pngtest.c - a simple test program to test libpng
*
* libpng 1.0
.1
* libpng 1.0
0
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
* Copyright (c) 1998, Glenn Randers-Pehrson
* March
9
, 1998
* March
7
, 1998
*
* This program reads in a PNG image, writes it out again, and then
* compares the two files. If the files are identical, this shows that
...
...
pngtrans.c
浏览文件 @
397100eb
/* pngtrans.c - transforms the data in a row (used by both readers and writers)
*
* libpng 1.0
.1
* libpng 1.0
0
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
* Copyright (c) 1998, Glenn Randers-Pehrson
* March
9
, 1998
* March
7
, 1998
*/
#define PNG_INTERNAL
...
...
pngwio.c
浏览文件 @
397100eb
/* pngwio.c - functions for data output
*
* libpng 1.0
.1
* libpng 1.0
0
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
* Copyright (c) 1998, Glenn Randers-Pehrson
* March
9
, 1998
* March
7
, 1998
*
* This file provides a location for all output. Users which need
* special handling are expected to write functions which have the same
...
...
pngwrite.c
浏览文件 @
397100eb
/* pngwrite.c - general routines to write a PNG file
*
* libpng 1.0
.1
* libpng 1.0
0
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
* Copyright (c) 1998, Glenn Randers-Pehrson
* March
9
, 1998
* March
7
, 1998
*/
/* get internal access to png.h */
...
...
pngwtran.c
浏览文件 @
397100eb
/* pngwtran.c - transforms the data in a row for PNG writers
*
* libpng 1.0
.1
* libpng 1.0
0
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
* Copyright (c) 1998, Glenn Randers-Pehrson
* March
9
, 1998
* March
7
, 1998
*/
#define PNG_INTERNAL
...
...
pngwutil.c
浏览文件 @
397100eb
/* pngwutil.c - utilities to write a PNG file
*
* libpng 1.0
.1
* libpng 1.0
0
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
* Copyright (c) 1996, 1997 Andreas Dilger
* Copyright (c) 1998, Glenn Randers-Pehrson
* March
9
, 1998
* March
7
, 1998
*/
#define PNG_INTERNAL
...
...
@@ -340,8 +340,8 @@ png_write_gAMA(png_structp png_ptr, double file_gamma)
png_byte
buf
[
4
];
png_debug
(
1
,
"in png_write_gAMA
\n
"
);
/* file_gamma is saved in 1/1
.0.1
00ths */
igamma
=
(
png_uint_32
)(
file_gamma
*
1
.
0
.
1
0
.
0
+
0
.
5
);
/* file_gamma is saved in 1/1
00,0
00ths */
igamma
=
(
png_uint_32
)(
file_gamma
*
1
0000
0
.
0
+
0
.
5
);
png_save_uint_32
(
buf
,
igamma
);
png_write_chunk
(
png_ptr
,
png_gAMA
,
buf
,
(
png_size_t
)
4
);
}
...
...
@@ -426,16 +426,16 @@ png_write_cHRM(png_structp png_ptr, double white_x, double white_y,
png_byte
buf
[
32
];
png_debug
(
1
,
"in png_write_cHRM
\n
"
);
/* each value is saved int 1/1
.0.1
00ths */
/* each value is saved int 1/1
00,0
00ths */
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"
);
return
;
}
itemp
=
(
png_uint_32
)(
white_x
*
1
.
0
.
1
0
.
0
+
0
.
5
);
itemp
=
(
png_uint_32
)(
white_x
*
1
0000
0
.
0
+
0
.
5
);
png_save_uint_32
(
buf
,
itemp
);
itemp
=
(
png_uint_32
)(
white_y
*
1
.
0
.
1
0
.
0
+
0
.
5
);
itemp
=
(
png_uint_32
)(
white_y
*
1
0000
0
.
0
+
0
.
5
);
png_save_uint_32
(
buf
+
4
,
itemp
);
if
(
red_x
<
0
||
red_x
>
0
.
8
||
red_y
<
0
||
red_y
>
0
.
8
||
...
...
@@ -444,9 +444,9 @@ png_write_cHRM(png_structp png_ptr, double white_x, double white_y,
png_warning
(
png_ptr
,
"Invalid cHRM red point specified"
);
return
;
}
itemp
=
(
png_uint_32
)(
red_x
*
1
.
0
.
1
0
.
0
+
0
.
5
);
itemp
=
(
png_uint_32
)(
red_x
*
1
0000
0
.
0
+
0
.
5
);
png_save_uint_32
(
buf
+
8
,
itemp
);
itemp
=
(
png_uint_32
)(
red_y
*
1
.
0
.
1
0
.
0
+
0
.
5
);
itemp
=
(
png_uint_32
)(
red_y
*
1
0000
0
.
0
+
0
.
5
);
png_save_uint_32
(
buf
+
12
,
itemp
);
if
(
green_x
<
0
||
green_x
>
0
.
8
||
green_y
<
0
||
green_y
>
0
.
8
||
...
...
@@ -455,9 +455,9 @@ png_write_cHRM(png_structp png_ptr, double white_x, double white_y,
png_warning
(
png_ptr
,
"Invalid cHRM green point specified"
);
return
;
}
itemp
=
(
png_uint_32
)(
green_x
*
1
.
0
.
1
0
.
0
+
0
.
5
);
itemp
=
(
png_uint_32
)(
green_x
*
1
0000
0
.
0
+
0
.
5
);
png_save_uint_32
(
buf
+
16
,
itemp
);
itemp
=
(
png_uint_32
)(
green_y
*
1
.
0
.
1
0
.
0
+
0
.
5
);
itemp
=
(
png_uint_32
)(
green_y
*
1
0000
0
.
0
+
0
.
5
);
png_save_uint_32
(
buf
+
20
,
itemp
);
if
(
blue_x
<
0
||
blue_x
>
0
.
8
||
blue_y
<
0
||
blue_y
>
0
.
8
||
...
...
@@ -466,9 +466,9 @@ png_write_cHRM(png_structp png_ptr, double white_x, double white_y,
png_warning
(
png_ptr
,
"Invalid cHRM blue point specified"
);
return
;
}
itemp
=
(
png_uint_32
)(
blue_x
*
1
.
0
.
1
0
.
0
+
0
.
5
);
itemp
=
(
png_uint_32
)(
blue_x
*
1
0000
0
.
0
+
0
.
5
);
png_save_uint_32
(
buf
+
24
,
itemp
);
itemp
=
(
png_uint_32
)(
blue_y
*
1
.
0
.
1
0
.
0
+
0
.
5
);
itemp
=
(
png_uint_32
)(
blue_y
*
1
0000
0
.
0
+
0
.
5
);
png_save_uint_32
(
buf
+
28
,
itemp
);
png_write_chunk
(
png_ptr
,
png_cHRM
,
buf
,
(
png_size_t
)
32
);
...
...
scripts/SCOPTIONS.ppc
已删除
100644 → 0
浏览文件 @
4922b1b6
OPTIMIZE
OPTPEEP
OPTTIME
OPTSCHED
AUTOREGISTER
PARMS=REGISTERS
INCLUDEDIR=hlp:ppc/include
scripts/makefile.lnx
浏览文件 @
397100eb
...
...
@@ -24,7 +24,7 @@ RANLIB=ranlib
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# have to change it.
PNGMAJ
=
2
PNGMIN
=
1.0
PNGMIN
=
1.0
0
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
# where make install puts libpng.a, libpng.so*, and png.h
...
...
scripts/makefile.s2x
浏览文件 @
397100eb
...
...
@@ -23,7 +23,7 @@ RANLIB=echo
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# have to change it.
PNGMAJ
=
2
PNGMIN
=
1.0
PNGMIN
=
1.0
0
PNGVER
=
$(PNGMAJ)
.
$(PNGMIN)
# where make install puts libpng.a, libpng.so*, and png.h
...
...
scripts/makefile.tc3
浏览文件 @
397100eb
...
...
@@ -14,12 +14,15 @@ O=.obj
E
=
.exe
# variables
OBJS1
=
png
$(O)
pngset
$(O)
pngget
$(O)
pngrutil
$(O)
pngtrans
$(O)
pngwutil
$(O)
OBJS1
=
png
$(O)
pngset
$(O)
pngget
$(O)
pngrutil
$(O)
pngtrans
$(O)
pngwutil$(O)
OBJS2
=
pngmem
$(O)
pngpread
$(O)
pngread
$(O)
pngerror
$(O)
pngwrite
$(O)
OBJS3
=
pngrtran
$(O)
pngwtran
$(O)
pngrio
$(O)
pngwio
$(O)
OBJSL1
=
+png
$(O)
+pngset
$(O)
+pngget
$(O)
+pngrutil
$(O)
+pngtrans
$(O)
OBJSL2
=
+pngwutil
$(O)
+pngmem
$(O)
+pngpread
$(O)
+pngread
$(O)
+pngerror
$(O)
OBJSL3
=
+pngwrite
$(O)
+pngrtran
$(O)
+pngwtran
$(O)
+pngrio
$(O)
+pngwio
$(O)
OBJSL2
=
+pngwutil
$(O)
+pngmem
$(O)
+pngpread
$(O)
+pngread
$(O)
+pngerror$(O)
OBJSL3
=
+pngwrite
$(O)
+pngrtran
$(O)
+pngwtran
$(O)
+pngrio
$(O)
+pngwio$(O)
all
:
libpng.lib pngtest.exe
...
...
@@ -79,4 +82,4 @@ libpng.lib: $(OBJS1) $(OBJS2) $(OBJS3)
pngtest$(E)
:
pngtest$(O) libpng.lib
$(CC)
$(LDFLAGS)
pngtest.obj
libpng.lib
zlib.lib
# End of makefile for libpng
#
End
of
makefile
for
libpng
\ No newline at end of file
scripts/makefile.wat
浏览文件 @
397100eb
# Makefile for libpng
# Watcom 10a
and later
32-bit protected mode flat memory model
# Watcom 10a
+
32-bit protected mode flat memory model
# Adapted by Pawel Mrochen, based on makefile.msc
# For conditions of distribution and use, see copyright notice in png.h
...
...
@@ -7,7 +7,7 @@
# To use, do "wmake -f makefile.wat"
# ------------- Watcom 10a
and later
-------------
# ------------- Watcom 10a
+
-------------
MODEL
=
-mf
CFLAGS
=
$(MODEL)
-fpi87
-fp5
-5r
-oaeilmnrt
-s
-zp4
-i
=
..
\z
lib
CC
=
wcc386
...
...
scripts/smakefile.ppc
已删除
100644 → 0
浏览文件 @
4922b1b6
# Amiga powerUP (TM) Makefile
# makefile for libpng and SAS C V6.58/7.00 PPC compiler
# Copyright (C) 1998 by Andreas R. Kleinert
CC = scppc
CFLAGS = NOSTKCHK NOSINT OPTIMIZE OPTGO OPTPEEP OPTINLOCAL OPTINL IDIR /zlib \
OPTLOOP OPTRDEP=8 OPTDEP=8 OPTCOMP=8
LIBNAME = libpng.a
AR = ppc-amigaos-ar
AR_FLAGS = cr
RANLIB = ppc-amigaos-ranlib
LDFLAGS = -r -o
LDLIBS = ../zlib/libzip.a LIB:scppc.a
LN = ppc-amigaos-ld
RM = delete quiet
MKDIR = makedir
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o pngread.o \
pngerror.o pngpread.o pngwrite.o pngrtran.o pngwtran.o pngrio.o pngwio.o pngmem.o
all: $(LIBNAME) pngtest
$(LIBNAME): $(OBJS)
$(AR) $(AR_FLAGS) $@ $(OBJS)
$(RANLIB) $@
pngtest: pngtest.o $(LIBNAME)
$(LN) $(LDFLAGS) pngtest LIB:c_ppc.o pngtest.o $(LIBNAME) $(LDLIBS) \
LIB:end.o
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录