加载8bit uint8_t作为uint32_t?

Hag*_*ble 5 arm intrinsics neon cortex-a

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

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

我怎样才能加载4个8位的像素值在并行,这是uint8_t,如4个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) 
Run Code Online (Sandbox Code Playgroud)

dom*_*men 5

取决于您的编译器和(可能缺少)扩展.

IE浏览器.对于海湾合作委员会来说,这可能是一个起点:http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html