我的图像处理项目适用于灰度图像.我有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/