赞
踩
转自:http://www.cnblogs.com/wantfei/articles/14524.html
版权 (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.
Also handles one-pass quantization to an externally given map.
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
L. Peter Deutsch and Aladdin Enterprises).
测试文件 (参见install.doc 寻找测试流程):
test*.* 测试用的源图像和压缩文件,它们是二进制文件,而非文本文件。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。