summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules
diff options
context:
space:
mode:
author MooglyGuy <MooglyGuy@users.noreply.github.com>2022-03-16 18:40:38 +0100
committer GitHub <noreply@github.com>2022-03-17 04:40:38 +1100
commit0ae650ffbb3ae2cf87103074def1e7f51c9c7190 (patch)
tree5268a39066a9474b1c25b4aeb60f1d8714f195b0 /src/osd/modules
parent7c7bab4dd0f7aecac4934b46fba18dd6c67d195f (diff)
-bgfx: Fixed YUV shader to have better brightness balance. [Ryan Holtz] (#9425)
Diffstat (limited to 'src/osd/modules')
-rw-r--r--src/osd/modules/render/bgfx/shaders/chains/misc/fs_blit_yuy16.sc9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/osd/modules/render/bgfx/shaders/chains/misc/fs_blit_yuy16.sc b/src/osd/modules/render/bgfx/shaders/chains/misc/fs_blit_yuy16.sc
index 91e3c3ed462..af3eb3e3954 100644
--- a/src/osd/modules/render/bgfx/shaders/chains/misc/fs_blit_yuy16.sc
+++ b/src/osd/modules/render/bgfx/shaders/chains/misc/fs_blit_yuy16.sc
@@ -13,9 +13,10 @@ uniform vec4 u_inv_tex_size0;
vec3 ycc_to_rgb(float y, float cb, float cr)
{
- float r = saturate(y + 1.40200 * (cr - 0.5));
- float g = saturate(y - 0.34414 * (cb - 0.5) - 0.71414 * (cr - 0.5));
- float b = saturate(y + 1.77200 * (cb - 0.5));
+ float common = 1.168627 * (y - 0.062745);
+ float r = saturate(common + 1.603922 * (cr - 0.5));
+ float g = saturate(common - 0.392157 * (cb - 0.5) - 0.815686 * (cr - 0.5));
+ float b = saturate(common + 2.023529 * (cb - 0.5));
return vec3(r, g, b);
}
@@ -27,7 +28,7 @@ void main()
float mod_val = mod(original_uv.x, 2.0);
vec2 rounded_uv = vec2(original_uv.x - mod_val, original_uv.y);
vec4 srcpix = texture2D(s_tex, rounded_uv * u_inv_tex_size0.xy + half_texel.x);
-
+
float cr = srcpix.r;
float cb = srcpix.b;
if (mod_val < 1.0)