图形电脑图像处理-之-高质量快速电脑图像缩放补充的使用SSE2优化.docxVIP

图形电脑图像处理-之-高质量快速电脑图像缩放补充的使用SSE2优化.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图形图像处理-之-高质量的快速的图像缩放 补充 使用SSE2优化 ??????????????????????????? HYPERLINK mailto:HouSisong@GM HouSisong@GM??? 2011.04.12 ? tag:?图像缩放,速度优化,线性插值,三次卷积插值,SSE2,scale,bilinear,bicubic,StretchBlt ? 摘要:? ? 本文章对线性插值和三次卷积插值(bicubic)的实现做了一些新的优化尝试; 使用了SSE2的128bit寄存器及相关指令;并预先建立SSE2用到的缩放系数表;? 实现的结果在我的i7电脑上比以前的版本分别快出145%和75%! 线性插值的速度是StretchBlt的13倍! ? 正文:? (请先看看我的blog里高质量的快速的图像缩放的前3篇文章!) 支持SSE2指令集的CPU越来越多,CPU的SSE2实现性能也好了很多(以前不比MMX好多少), 而且软件在64位模式的时候不再支持MMX,所以尝试了SSE2的缩放优化,效果不错! ? 速度测试说明:? ? 只测试内存数据到内存数据的??放 ? 测试图片都是800*600缩放到1024*768,单线程;fps表示每秒钟的帧数,值越大表示函数越快. ? 速度测试对比:?(CPU:i7 920 内存:DDR3 1333 3通道) ? (windows) StretchBlt? 近邻取样?????????? 869.09 fps StretchBlt? 线性插值??????????? 44.46 fps //SetStretchBltMode(dc,4);? ? PicZoom0:?????????????????????? 95.69 fps PicZoom1:????????????????????? 158.35 fps PicZoom2:????????????????????? 332.78 fps PicZoom3:???????????????????? 1172.79 fps PicZoom3_float:??????????????? 874.13 fps PicZoom3_Table:?????????????? 1158.30 fps PicZoom3_SSE:???????????????? 1908.40 fps PicZoom_Bilinear0:????????????? 28.80 fps PicZoom_Bilinear1:????????????? 56.09 fps PicZoom_Bilinear2:????????????? 97.09 fps PicZoom_Bilinear_Common:?????? 119.83 fps PicZoom_Bilinear_MMX:????????? 180.12 fps PicZoom_Bilinear_MMX_Ex:?????? 237.34 fps PicZoom_ftBilinear_Common:???? 118.67 fps PicZoom_ftBilinear_MMX:??????? 213.68 fps PicZoom_ThreeOrder0:???????????? 6.11 fps PicZoom_ThreeOrder_Common:????? 25.38 fps PicZoom_ThreeOrder_MMX:???????? 52.32 fps ? (SSE2的实现) PicZoom_ftBilinearTable_SSE2:? 588.24 fps PicZoom_ThreeOrderTable_SSE2:?? 93.24 fps ? ? PicZoom_ftBilinearTable_SSE2实现代码如下:  HYPERLINK /housisong/article/details/6318890 \o view plain view plain ????typedef?UInt64?TMMXData64;?? ????//ftBilinearTable_SSE2(out?[edi+ebx*4];?xmm5=v,xmm6=vr,xmm7=0,[ebp]=(u,ur),[edx]=srx_x,esi=PSrcLineColor,ecx=PSrcLineColorNext)?? ????//void?__declspec(naked)?ftBilinearTable_SSE2(){?? ????#define??ftBilinearTable_SSE2()?????????????????????/?? ????????asm?mov?????????eax,[edx+ebx]??????

文档评论(0)

xina171127 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档