IJG JPEG 函數庫:文件列表

轉自: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*.*            測試用的源圖像和壓縮文件,它們是二進制文件,而非文本文件。

發佈了23 篇原創文章 · 獲贊 17 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章