arm - 将 8 位 uint8_t 加载为 uint32_t?

标签 arm neon intrinsics cortex-a

我的图像处理项目适用于灰度图像。我有 ARM Cortex-A8 处理器平台。我想利用 NEON 。

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

如何加载 四个 8 位像素值 并行,它们是 uint8_t , 如 四个 uint32_t 进入 128 位 NEON 寄存器之一?我必须使用什么内在来做到这一点?

我的意思是:

alt text

我必须将它们加载为 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) 

最佳答案

关于arm - 将 8 位 uint8_t 加载为 uint32_t?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3675538/

相关文章:

c - 为什么我在STM32编程中需要死循环?

linux - 如何使用QEMU学习ARM Linux内核开发?

android - 将 0.0 分配给 NEON 寄存器时为 "Immediate out of range errors"

c++ - SSE/NEON查表优化

c - 在 GCC 中生成没有 cmp 指令的循环

python - 在不同的机器上加载 pickle 的对象

c - 我正在尝试为 ARM Cortex M3 编写模拟器。如何读取二进制文件然后对其进行解码?

ios - 如何在 NEON 程序集中编写 double 值的乘法?

android - 与 neon 内在函数中的 float 比较

c++ - AVX __m256i 有符号 32 位元素的整数除法