一、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