JPEG软编解码器介绍

系统 1735 0
首先介绍几个名词:
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实现,有空儿也可以研究研究。

JPEG软编解码器介绍


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论