HPC
文章平均质量分 73
lifesider
人生就是一次在自我迷失中寻找自我的长途旅行
展开
-
使用PMULHW或PMADDWD指令对RGB颜色转换至YCbCr颜色的汇编优化
在视频处理中,常会遇到颜色空间的转换(高清和标清下的转换公式不同),下面是使用SIMD指令对RGBA颜色转换至YUYV颜色的汇编优化假设转换公司如下:Y = Yr * R + Yg * G + Yb * BU = Ur * R + Ug * G + Ub * BV = Vr * R + Vg * G + Vb * B转换后,这里选择直接丢弃第二个像素的U和V,这里暂不考虑A通常的存储为了考虑性能,通常会将浮点系数放大成短整型系数,经放大后最后的结果需进行0.5的补偿(同样进行放大)下面对使用pmulhw和p原创 2011-05-27 21:59:00 · 2483 阅读 · 0 评论 -
使用SSE4指令集优化双线性插值图像缩放
原理:p = p(0) *(1-t) + p(1) * t = p(0) + (p(1) - p(0)) * t水平方向和垂直方向均进行线性插值,缩放系数分别计算,由于水平和垂直成正交关系,因而与计算的先后次序无关。 缩放比例系数:double scale_x = (des_width - 1)/(src_width - 1);double scale_y = (des_height - 1)/(原创 2011-06-05 21:19:00 · 6519 阅读 · 3 评论 -
自动矢量化编译优化技术(Automatic Vectorization)
自动矢量化技术,是编译器代码优化技术的一种,即在不改变C/C++源代码的情况下,自动编译产生使用单指令多数据(Single Instruction Multiple Data,SIMD)指令集的二进制码,包括MMX,SSE,SSE2,SSE3,SSSE3,SSE4,AVX,而不是程序员手动编写汇编层次的优化代码。 举例如下:float a[N], b[N], c[N];for(int i=0;原创 2011-06-27 21:49:00 · 5908 阅读 · 0 评论