我正在寻找将YUV Rec2020,Rec 601和Rec DCI-P3转换为rgb的矩阵(或转换公式)。 例如对于Rec。 709,我有:
// HDTV YCbCr coefficients
_shader->setUniform( "Koff", 0.0f, -0.5f, -0.5f );
_shader->setUniform( "Kr", 1.0f, 0.0f, 1.28033f );
_shader->setUniform( "Kg", 1.0f, -0.21482f, -0.38059f );
_shader->setUniform( "Kb", 1.0f, 2.12798f, 0.0f );
并在着色器中:
vec2 tc = gl_TexCoord[0].st;
pre.r = texture2D(YImage, tc.st).r; // Y
pre.g = texture2D(UImage, tc.st).r; // U
pre.b = texture2D(VImage, tc.st).r; // V
if ( coeffs )
{
pre += Koff;
c.r = dot(Kr, pre);
c.g = dot(Kg, pre);
c.b = dot(Kb, pre);
}