33、X86-AVX编程:整数处理与新指令应用

X86-AVX编程:整数处理与新指令应用

1. 像素裁剪与阈值处理

1.1 像素裁剪

在处理图像时,像素裁剪是一个常见的操作。 vpmovmskb eax,ymm1 指令可以创建裁剪像素的掩码,并将其保存到寄存器 EAX 中。具体操作对应于 eax[i] = ymm1[i*8+7] (其中 i = 0,1,2, ... 31 )。接着, popcnt eax,eax 指令会统计当前像素块中裁剪像素的数量,并将结果保存到 EAX 中。最后, add edx,eax 指令会更新 EDX 中维护的裁剪像素总数。

以下是示例程序 AvxPackedIntegerPixelClip 的结果:
| 项目 | 值 |
| — | — |
| NumClippedPixels1 | 327228 |
| NumClippedPixels2 | 327228 |
| 目标缓冲区内存比较结果 | 通过 |

同时,该程序的基准测试时间保存到了文件 __AvxPackedIntegerPixelClipTimed.csv 中。不同CPU下,C++和x86 - AVX版本的像素裁剪算法的平均执行时间如下表所示:
| CPU | AvxPiPixelClipCpp (C++) | AvxPiPixelClip_ (x86 - AV

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值