使用NEON指令把UYVY数据转换为NV12
NEON是arm实现的向量操作指令集,在AARCH64架构上可以实现128bit(16个8位数据)的并行计算。
从UYVY格式转换成NV12的示意图是这样的。
![](https://pic3.zhimg.com/80/v2-e52de6ca4b9fc1a23c17b2701f7f6e26_720w.jpg)
NEON实现的关键代码是这样的
![](https://pic3.zhimg.com/80/v2-28296e3dad49192d2f81e3f3c9e0d076_720w.jpg)
下面的图解释了蓝色部分的指令流程
![](https://pic3.zhimg.com/80/v2-e42abc3adf2a0ec6fcdc0bd87310fbe2_720w.jpg)
这个算法在8155上面测试,转换1280x720分辨率的图片使用大约2.2ms
NEON是arm实现的向量操作指令集,在AARCH64架构上可以实现128bit(16个8位数据)的并行计算。
从UYVY格式转换成NV12的示意图是这样的。
NEON实现的关键代码是这样的
下面的图解释了蓝色部分的指令流程
这个算法在8155上面测试,转换1280x720分辨率的图片使用大约2.2ms