#include<stdio.h>
#include"arm_neon.h"
int main()
{
int i,j;
//src is 3*32
uint8_t src[]={9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6,9,8,6};
uint8x8_t rfac = vdup_n_u8 (77);
uint8x8_t gfac = vdup_n_u8 (151);
uint8x8_t bfac = vdup_n_u8 (28);
unsigned int n=96;//n=32*3
n/=24;
for(j=0;j<50000;j++)
{
for (i=0; i<n; i++)//n=3
{
uint16x8_t temp;
uint8x8x3_t rgb=vld3_u8(&src[i*24]);
temp = vmull_u8 (rgb.val[0], rfac);
temp = vmlal_u8 (temp,rgb.val[1], gfac);
temp = vmlal_u8 (temp,rgb.val[2], bfac);
// src += 8*3;
printf("now is %d------temp = %d\n",j,temp);
}
}
printf("neon ts is Done !!\n");
}
本文探讨了在图像处理应用中利用ARM NEON指令集进行优化的方法,通过实例展示了如何加速图像处理任务,具体包括加载、混合和保存图像操作。文中详细介绍了ARM NEON指令的使用技巧,以及在不同场景下的性能提升效果。
&spm=1001.2101.3001.5002&articleId=6741659&d=1&t=3&u=b93958774f5f42ba9da457def1bdda13)
2万+

被折叠的 条评论
为什么被折叠?



