[host] added YUV420 output support

This commit is contained in:
Geoffrey McRae
2018-07-28 06:15:55 +10:00
parent 2a03d1c4a9
commit e515cdc8dd
10 changed files with 339 additions and 177 deletions

View File

@@ -0,0 +1,31 @@
Texture2D texTexture;
SamplerState texSampler;
struct VS
{
float4 pos : SV_Position;
float2 tex : TEXCOORD;
};
struct OUT
{
float4 y: SV_TARGET0;
float4 u: SV_TARGET1;
float4 v: SV_TARGET2;
};
OUT main(VS input)
{
OUT o;
const float4 rgba = texTexture.Sample(texSampler, input.tex);
o.y.gba = 0.0f;
o.u.gba = 0.0f;
o.v.gba = 0.0f;
o.y.r = rgba.r * 0.2126 + 0.7152 * rgba.g + 0.0722 * rgba.b;
o.u.r = (rgba.b - o.y.r) / 1.8556;
o.v.r = (rgba.r - o.y.r) / 1.5748;
return o;
}