neon 如何快速实现44的整数倍的resize area
来源:互联网 发布:java 集合类 深入详解 编辑:程序博客网 时间:2024/06/14 09:13
static void resizeline4_32(uchar *src1, uchar *src2,uchar *src3, uchar *src4, uchar *dest,int src_width){ int w; for (w = 0; w < src_width; w += 32) { uint16x8_t line0 = vpaddlq_u8(vld1q_u8(src1)); uint16x8_t line1 = vpaddlq_u8(vld1q_u8(src2));uint16x8_t line2 = vpaddlq_u8(vld1q_u8(src3)); uint16x8_t line3 = vpaddlq_u8(vld1q_u8(src4));uint16x8_t line01 = vpaddlq_u8(vld1q_u8(src1+16)); uint16x8_t line11 = vpaddlq_u8(vld1q_u8(src2+16));uint16x8_t line21 = vpaddlq_u8(vld1q_u8(src3+16)); uint16x8_t line31 = vpaddlq_u8(vld1q_u8(src4+16)); uint16x8_t ab0 = vaddq_u16(line0, line1);uint16x8_t ab1 = vaddq_u16(line2, line3);uint16x8_t ab = vaddq_u16(ab0, ab1);uint32x4_t result = vpaddlq_u16(ab);uint16x8_t ab01 = vaddq_u16(line01, line11);uint16x8_t ab11 = vaddq_u16(line21, line31);uint16x8_t ab_ = vaddq_u16(ab01, ab11);uint32x4_t result_ = vpaddlq_u16(ab_);uint16x4_t resulta = vshrn_n_u32(result, 4);uint16x4_t resultb = vshrn_n_u32(result_, 4);uint16x8_t combile_result = vcombine_u16(resulta,resultb); vst1_u8(dest, vmovn_u16(combile_result)); src1 += 32; src2 += 32;src3 += 32; src4 += 32; dest += 8; }}void neon_resize_44(uchar * src, uchar * dest,int src_width,int src_height,int dst_width,int dst_height){//LOGE("src_width:%d int src_height:%d int dst_width :%d int dst_height :%d",src_width,src_height,dst_width,dst_height); for (int h = 0; h < dst_height; h++) { //LOGE("neon_resize_44 h :%d",h); #if 0 resizeline4(src + src_width * (h * 4 + 0), src + src_width * (h * 4 + 1), src + src_width * (h * 4 + 2), src + src_width * (h * 4 + 3), dest + dst_width * h,src_width);#else resizeline4_32(src + src_width * (h * 4 + 0), src + src_width * (h * 4 + 1), src + src_width * (h * 4 + 2), src + src_width * (h * 4 + 3), dest + dst_width * h,src_width);#endif }}大致的思路是一行处理32个数据 再将4行数据相加,然后求取平均值。
阅读全文
0 0
- neon 如何快速实现44的整数倍的resize area
- M的整数倍
- 算法 - 快速求一个整数的7倍
- 如何实现8倍的网站提速
- iOS 图片resize的实现
- 13、字体的整数倍放大
- [数字图像处理]数字图像的整数倍缩小
- 一个时间粒度整数倍的时间点
- 0.5的整数倍(任何位数)
- 一个RGB 快速resize 的实例
- 整数转字符串的一种快速实现
- 整数转字符串的一种快速实现
- android seekbar滑动条实现平滑滑动并回滚至指定值的整数倍
- 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-人机界面如何快速调整大量控件的位置
- OpenCV代码提取:resize函数的实现
- 整数的快速幂取模
- 如何快速找到一个整数的两个最接近的因子
- ARM NEON 编程系列4——如何将neon用来优化我们的程序
- 第1087期AI100_机器学习日报(2017-09-09)
- Dagger2
- KMP模板【两种格式】
- echart时日周分别统计
- 定时器 setInterval 的关闭问题
- neon 如何快速实现44的整数倍的resize area
- 第1091期AI100_机器学习日报(2017-09-13)
- 第1089期AI100_机器学习日报(2017-09-11)
- 第1092期AI100_机器学习日报(2017-09-14)
- 第1090期AI100_机器学习日报(2017-09-12)
- 第1088期AI100_机器学习日报(2017-09-10)
- 第1095期AI100_机器学习日报(2017-09-17)
- CentOS6.5之Zabbix3.2.2 Server安装、汉化
- SpringCloud 教程 | 终章