OpenGL ES之深入解析RGB图像与YUV格式之间的相互转换

一、YUV(NV21)到 RGBA 的转换

① 如何使用 Shader 实现 RGBA 转 NV21 ?

  • 在OpenGL之深入解析YUV图像的基本处理一文中,了解了 YUV 的采样方式和常用格式、YUV 图像的旋转、缩放、裁剪以及 YUV 的渲染原理和实现,我们知道 YUV 图不能直接用于显示,需要转换为 RGB 格式,而 YUV 转 RGB 是一个逐像素处理的耗时操作,在 CPU 端进行转换效率过低,正好可以利用 GPU 强大的并行处理能力来实现 YUV 到 RGB 的转换。实际上就是利用 shader 实现了 YUV(NV21)到 RGBA 的转换,然后渲染到屏幕上。
  • 以渲染 NV21 格式的图像为例,如下是 (4x4) NV21 图像的 YUV 排布:
(0  ~  3) Y00  Y01  Y02  Y03  
(4  

你可能感兴趣的:(OpenGL,ES,YUV格式转RGB图像,RGB图像转YUV格式,RGBA转NV21的原理分析,RGBA转NV21的实现代码)