IJG JPEG 函数库:文件列表
版权 (C) 1991-1996, Thomas G. Lane.
本文是Independent JPEG Group软件中的一部分。
针对于如何分发与使用,请参照随本库一起发放的README 文件。
本文是对已经发布的IJG JPEG库中文件的指南。该发布版包括专门的JPEG库,另加两个应用程序("cjpeg" and "djpeg"),这两个程序用JPEG库实现了将其他格式的图像压缩成JPEG图像格式与解压JPEG图像为其他格式。第三方的应用程序"jpegtran"应用该库在JPEG与其他不同格式之间进行无损转换。还有两个独立的应用:"rdjpgcom" and "wrjpgcom"。
JPEG 函数库
================
Include文件:
jpeglib.h
JPEG 库中输出的数据与函数声明。
jconfig.h
配置声明。注:该文件并不存在于该发布中,它将在安装期间生成。
jmorecfg.h
额外的配置声明;在标准的安装中无需更改。
jerror.h
声明JPEG 库的错误并跟踪消息代码。
jinclude.h
所有IJG.c文件要用到的核心include文件,用来关联系统include文件。
jpegint.h
JPEG库的内部数据结构。
jchuff.h
Huffman编码模块所需的私有声明。
jdhuff.h
Huffman解码模块所需的私有声明
jdct.h
前向和反向DCT子系统所需的私有声明。
jmemsys.h
内存管理子系统所需的私有声明。
jversion.h
版本信息。
应用JPEG库需要包含jpeglib.h (它又引用了jconfig.h和jmorecfg.h)。 jerror.h 是可选的。如果应用程序需要参考个别的JPEG错误代码。其他的头文件都供库内部使用,通常不应被应用程序引用。(cjpeg/djpeg等应用了jinclude.h,这是为了提高它们的函数在整个IJG发布版中的可移植性。大多数其他的应用程序将直接引用它们所需要的系统include文件,且因些而不需包含jinclude.h。)
C 源代码文件:
这些文件包含大多数可在应用程序中直接调用的函数:
jcapimin.c
应用编程接口:压缩的核心子程序。
jcapistd.c
应用编程接口:标准压缩。
jdapimin.c
应用编程接口:解压的核心子程序。
jdapistd.c
应用编程接口:标准解压缩。
jcomapi.c
应用编程接口:压缩与解压通用的子程序。
jcparam.c
压缩参数设置助手子程序。
jctrans.c
用于转换编码(transcoding )的压缩库程序与API。
jdtrans.c
用于转换编码(transcoding )的解压缩库程序与API。
与压缩相关的库文件:
jcinit.c
初始化:确定要用哪些其他模块。
jcmaster.c
主控制:建立和交互顺序逻辑。
jcmainct.c
主缓冲区控制(Preprocessor => JPEG压缩器)。
jcprepct.c
Preprocessor缓冲区控制。
jccoefct.c
DCT系数缓存的缓冲区控制。
jccolor.c
色彩空间转换。
jcsample.c
下载样本。
jcdctmgr.c
DCT 管理 (DCT 实现的选择和控制).
jfdctint.c
使用慢-而高精度的整数方法的前向DCT。
jfdctfst.c
使用快-而-低精度的整数方法的前向DCT。
jfdctflt.c
使用浮点数算法的前向DCT。
jchuff.c
顺序(sequential)JPEG的Huffman熵编码。
jcphuff.c
逐步(progressive)JPEG的Huffman熵编码。
jcmarker.c
JPEG marker writing。
jdatadst.c
针对stdio 输出的数据目的端管理。
与解压缩相关的库文件
jdmaster.c
主控制:确定要用哪些其他模块。
jdinput.c
输入控制:控制输入处理模块。
jdmainct.c
主缓冲区控制(预处理器 => JPEG压缩器)。
jdcoefct.c
DCT系数缓存的缓冲区控制。
jdpostct.c
Postprocessor 缓冲区控制
jdmarker.c
JPEG marker reading.
jdhuff.c
顺序(sequential)JPEG的Huffman熵解码。
jdphuff.c
逐步(progressive)JPEG的Huffman熵解码。
jddctmgr.c
IDCT 管理 (IDCT DCT 实现的选择和控制)。
jidctint.c
使用慢-而高精度的整数方法的反向DCT。
jidctfst.c
使用快-而-低精度的整数方法的前向DCT。.
jidctflt.c
使用浮点数算法的反向DCT。
jidctred.c
带减小输出大小的反向DCT。
jdsample.c
下载样本。
jdcolor.c
色彩空间转换。
jdmerge.c
合并的下载样本/色彩空间转换(快速, 低质量)。
jquant1.c
One-pass color quantization using a fixed-spacing colormap.
jquant2.c
Two-pass color quantization using a custom-generated colormap.
jdatasrc.c
stdio 输入的数据源管理。
压缩与解压的支持文件:
jerror.c
标准错误处理子程序 (可由应用程序替换)。
jmemmgr.c
系统独立(或多或少)内存管理代码。
jutils.c
其他工具子程序。
jmemmgr.c
依赖于系统独立性的内存管理模块。
IJG发布版本中包含如下系统独立的模块:
jmemnobs.c
"No backing store(无后备存储)":假设足够的虚拟内存存在。
jmemansi.c
使用ANSI 标准函数tmpfile()生成临时文件。
jmemname.c
用程序生成的文件名创建临时文件。
jmemdos.c
为MS-DOS (只对16位环境)的客户实现:可用来扩展和扩充内存和临时文件。
jmemmac.c
为苹果公司的Macintosh提供的客户实现。
准确说,仅有一个系统相关的模块应当在JPEG库的安装时被加入。(参见install.doc以获取哪一个要用的提示)。
在通常的系统上,你或许会发现创建一个特别的与系统相关的内存管理是值得的。
非C的源代码文件:
jmemdosa.asm
支持jmemdos.c 的80x86 汇编代码;只用于MS-DOS-指定的 JPEG库的配置。
CJPEG/DJPEG/JPEGTRAN
====================
Include 文件:
cdjpeg.h
由cjpeg/djpeg/jpegtran共享的模块的声明。
cderror.h
为cjpeg等附加的错误和调试消息代码。
transupp.h
在transupp.c中,为支持jpegtran的声明。
C 源代码文件:
cjpeg.c
cjpeg的主程序。
djpeg.c
djpeg的主程序。
jpegtran.c
jpegtran的主程序。
cdjpeg.c
这三个应用程序用到的工具函数。
rdcolmap.c
读取djpeg的 "-map" 开关的colormap文件的代码。
rdswitch.c
处理一些cjpeg的更为复杂的开关的代码,也用于jpegtran。
transupp.c
jpegtran的支持代码:无损图像操作。
cjpeg
rdbmp.c
BMP文件输入。
rdgif.c
GIF 文件输入 (目前仅仅是个雏形)。
rdppm.c
PPM/PGM文件输入。
rdrle.c
Utah RLE文件输入。
rdtarga.c
Targa 文件输入
djpeg中写图像文件的模块:
wrbmp.c
BMP 文件输出。
wrgif.c
GIF文件输出(仅仅是该文件前身的一个映射)。
wrppm.c
PPM/PGM文件输出。
wrrle.c
Utah RLE文件输出。
wrtarga.c
Targa 文件输出。
RDJPGCOM/WRJPGCOM
=================
C 源代码文件:
rdjpgcom.c
独立的rdjpgcom应用。
wrjpgcom.c
独立的wrjpgcom应用。
这些程序不需要依赖于IJG库。可它们真的用了jconfig.h和jinclude.h,却只不过是为了提高可移植性。
附加的文件
================
Documentation (see README for a guide to the documentation files):
README
主文档文件。
*.doc
其他文档文件。
*.1
Unix 手册文件格式的文档。
change.log
版本到版本之间更改的集锦。
example.c
调用JPEG库的例子程序。
配置/安装文件和程序 (参见install.do以获取更多的信息):
configure
在UNIX下执行自动配置的Unix shell script。
ltconfig
配置用的scripts (使用GNU libtool).
ltmain.sh
config.guess
config.sub
install-sh
对于那些缺少Shell的UNIX系统而准备的安装shell script。
ckconfig.c
在非UNIX系统上用于生成jconfig.h的程序。
jconfig.doc
用于手工生成jconfig.h的 模板。
makefile.*
针对于特定系统的makefiles样例。
jconfig.*
针对于特定系统的jconfig.h样例。
ansi2knr.c
De-ANSIfier for pre-ANSI C compilers (courtesy of
测试文件 (参见install.doc 寻找测试流程):
test*.*
测试用的源图像和压缩文件,它们是二进制文件,而非文本文件