IJG:Independent JPEG Group
IJL: Intel JPEG Library
IPP: Intel Integrated Performance Primitives
IJG提供的JPEG軟編解碼器是使用最廣泛的,可以從官方網站
www.ijg.org
下載最新版本6b。
優點:免費、開源;純C編寫,支持眾多硬件平臺和操作系統;
缺點:速度一般
IJL是Intel提供的JPEG軟編解碼器,2001以前IJL是免費的。
你可以編程實現從buffer讀取jpeg圖像數據然后解碼到輸出buffer,實現如下:
//read JPEG image from buffer and decompress it and write to output buffer.
JPEG_CORE_PROPERTIES jcprops;
// Initialize the IntelR JPEG Library.
IJLERR jerr = ijlInit(&jcprops);
..
..
// Use the IJL to read data from a buffer or a file.
jerr = ijlRead(&jcprops, iotype);
..
..
// Now get the actual JPEG image data into the pixel buffer.
jerr = ijlRead(&jcprops, IJL_JBUFF_READWHOLEIMAGE);
// Use the IJL to write data into a buffer or a file.
IJLERR ijlWrite (JPEG_CORE_PROPERTIES *jcprops, IJLIOTYPE iotype);
// Clean up the IJL.
但是,2001年以后,IJL就被集成到IPP里面了。注意:IPP是收費的,不提供源碼。現在,你要使用IPP來進行JPEG編解碼。
首先,你需要安裝IPP,然后下載IPP
Sample解壓,里面的image-codecs提供了jpeg的編解碼例程,其中提供ijp、jpeg-ijl,此處的ijp源碼文件中,intel已經加入了IPP的函數,你可以通過修改頭文件jconfig.h來決定是否使用調用IPP庫進行編譯,據intel稱:使用IPP后,ijg的性能提高了1.5~2倍。
優點:針對intel CPU優化過,速度很快;
缺點:收費,只針對Intel CPU
AMD開源了它的處理庫FrameWave,也有jpeg實現,有空兒也可以研究研究。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
