EDA驿站

去浮躁,求真知;重实干,勤与研

  博客园  :: 首页  :: 新随笔  ::  ::  :: 管理

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.hjmorecfg.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)JPEGHuffman熵编码。

jcphuff.c        逐步(progressive)JPEGHuffman熵编码。

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)JPEGHuffman熵解码。

jdphuff.c        逐步(progressive)JPEGHuffman熵解码。

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.hjinclude.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         对于那些缺少ShellUNIX系统而准备的安装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*.*            测试用的源图像和压缩文件,它们是二进制文件,而非文本文件。

 

posted on 2004-06-09 17:45  易学  阅读(6039)  评论(3编辑  收藏  举报