本人之前在介绍Apple's OpenCL的时候出过一份代码,是用于图像半透明算法的,并且提供了OpenCL版本与x86的SSE版本。 这次,俺将提供ARMv7架构的NEON版本进行对照。通过对比,各位可以清晰地看到ARMv7架构具有比传统的x86拥有更强的计算能力。在处理器拥有相同的流水线特征的情况下,ARMv7能提供更精简,更强大的计算性能。
首先提供初始化以及应用的主程序:
上述代码含有iOS的Objective-C接口,但是这并不会影像我们的阅读理解。
下面是外部接口ZennySetCoefficient
这个接口用于将混合系数分别传给q2、q3寄存器
下面则是核心的利用NEON技术的代码:
代码很简短,但是提供的功能已经很强大了。