【发布时间】:2015-12-02 11:07:36
【问题描述】:
我尝试使用 NEON 内在函数来优化 ARM 的一些图像处理算法。
对于某些过滤器,它需要加载该点附近的元素。
例如,要以像素p[x] 过滤图像,我需要加载p[x - 1]、p[x] 和p[x + 1]。
如果x=0,那么我加载p[0]、p[0] 和p[1]。如果x=width-1,那么我加载p[width-2]、p[width-1]和p[width-1]。
所以如果我有一个向量:
uint8x16_t a = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
我怎样才能从中得到以下向量:
uint8x16_t b = {0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14};
uint8x16_t c = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15};
【问题讨论】:
标签: c++ image-processing arm simd neon