我的图像处理项目适用于灰度图像。我有 ARM Cortex-A8 处理器平台。我想利用 NEON 。
我有一个灰度图像(考虑下面的例子),在我的算法中,我只需要添加列。
如何加载 四个 8 位像素值 并行,它们是 uint8_t , 如 四个 uint32_t 进入 128 位 NEON 寄存器之一?我必须使用什么内在来做到这一点?
我的意思是:
我必须将它们加载为 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 上工作。看着:
看一眼:
让你开始。然后,您可以使用内联汇编程序或 domen 推荐的相应 ARM 内在函数来实现您的 SIMD 代码。
关于arm - 将 8 位 uint8_t 加载为 uint32_t?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3675538/