加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

arm – 加载8bit uint8_t作为uint32_t?

发布时间:2020-12-13 20:45:13 所属栏目:Windows 来源:网络整理
导读:我的图像处理项目适用于灰度图像.我有ARM Cortex-A8处理器平台.我想利用NEON. 我有一个灰度图像(考虑下面的例子),在我的alogorithm中,我只需要添加列. 如何将4个uint32_t并行加载到128位NEON寄存器中,将8个8位像素值并行加载uint8_t?我必须使用什么内在的东
我的图像处理项目适用于灰度图像.我有ARM Cortex-A8处理器平台.我想利用NEON.

我有一个灰度图像(考虑下面的例子),在我的alogorithm中,我只需要添加列.

如何将4个uint32_t并行加载到128位NEON寄存器中,将8个8位像素值并行加载uint8_t?我必须使用什么内在的东西?

我的意思是:

我必须将它们加载为32位,因为如果你仔细观察,我做255 255的那一刻是512,它不能保存在8位寄存器中.

例如

255 255 255 255 ......... (640 pixels)
255 255 255 255
255 255 255 255
255 255 255 255
.
.
.
.
.
(480 pixels)
我建议您花一点时间了解SIMD在ARM上的工作原理.看着:

看一眼:

> http://blogs.arm.com/software-enablement/161-coding-for-neon-part-1-load-and-stores/
> http://blogs.arm.com/software-enablement/196-coding-for-neon-part-2-dealing-with-leftovers/
> http://blogs.arm.com/software-enablement/241-coding-for-neon-part-3-matrix-multiplication/
> http://blogs.arm.com/software-enablement/277-coding-for-neon-part-4-shifting-left-and-right/

让你入门然后,您可以使用内联汇编程序或domen推荐的相应ARM内在函数来实现您的SIMD代码.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读