我OpenGL ES在 Android 编程中使用,当我在着色器中将 YUV(NV21) 转换为 RGB 时,例如:
vec3 yuv = vec3(
(texture2D(u_TextureY, vTextureCoord).r - 0.0625),
texture2D(u_TextureUV, vTextureCoord).a - 0.5,
texture2D(u_TextureUV, vTextureCoord).r - 0.5
);
Run Code Online (Sandbox Code Playgroud)
然后我会得到与u_TextureY和分开的 YUV 数据u_TextureUV。
我知道 NV21 格式是这样的:YYYYYY...UVUV...但是我如何将 YUYV422 转换为 RGB?所以,我的问题是“r”和“a”在texture2D(u_TextureY, vTextureCoord).r和 .a 中是什么意思?然后我可以找到做 YUYV422->RGB 的方法。