From ed7ec77fddaf1533cf913b8931ccaf767a1e5874 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Thu, 1 Dec 2022 22:56:51 -0800 Subject: [PATCH] yuv2rgb: scale before centering uv --- app/shaders/yuv2rgb.frag | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/shaders/yuv2rgb.frag b/app/shaders/yuv2rgb.frag index 7f0d87a16..49da773b7 100644 --- a/app/shaders/yuv2rgb.frag +++ b/app/shaders/yuv2rgb.frag @@ -27,15 +27,17 @@ void main() // Convert 0.0-1.0 to -0.5-0.5 yuv.gb -= (128.0/255.0); } else if (bits_per_pixel == 10) { + // Scale from 10-bit to 16-bit + yuv *= (65535.0/1023.0); + // Convert 0.0-1.0 to -0.5-0.5 yuv.gb -= (512.0/1023.0); - - yuv *= 64.0; } else if (bits_per_pixel == 12) { + // Scale from 12-bit to 16-bit + yuv *= (65535.0/4095.0); + // Convert 0.0-1.0 to -0.5-0.5 yuv.gb -= (2048.0/4095.0); - - yuv *= 16.0; } // Convert YUV limited range from 16-235 to 0-255