aboutsummaryrefslogtreecommitdiff
path: root/src/color_conversion.c
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2023-07-25 04:46:45 +0200
committerdec05eba <dec05eba@protonmail.com>2023-07-25 04:46:45 +0200
commitbee99a69e39a0061790ffddbb84c991988681db5 (patch)
treeef2a669c0db24ce80c71fc4c5f2489396fde410a /src/color_conversion.c
parent44f84748f83d57a9b2c1dcefb47b676051435498 (diff)
Dont use jpeg color range (fixes too dark image on amd/intel in flatpak)
Diffstat (limited to 'src/color_conversion.c')
-rw-r--r--src/color_conversion.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/color_conversion.c b/src/color_conversion.c
index 6d9f9d2..caf0488 100644
--- a/src/color_conversion.c
+++ b/src/color_conversion.c
@@ -18,10 +18,11 @@ static float abs_f(float v) {
" 0.0, 0.0, 0.0, 1.0);\n" \
"}\n"
-#define RGB_TO_YUV "const mat4 RGBtoYUV = mat4(0.2126, 0.5000, -0.1146, 0.0,\n" \
- " 0.7152, -0.4542, -0.3854, 0.0,\n" \
- " 0.0722, -0.0468, 0.5000, 0.0,\n" \
- " 0.0000, 0.5000, 0.5000, 1.0);"
+/* BT709 limited */
+#define RGB_TO_YUV "const mat4 RGBtoYUV = mat4(0.1826, -0.1006, 0.4392, 0.0,\n" \
+ " 0.6142, -0.3386, -0.3989, 0.0,\n" \
+ " 0.0620, 0.4392, -0.0403, 0.0,\n" \
+ " 0.0625, 0.5000, 0.5000, 1.0);"
static int load_shader_rgb(gsr_shader *shader, gsr_egl *egl, int *rotation_uniform) {
char vertex_shader[2048];
@@ -122,7 +123,7 @@ static unsigned int load_shader_uv(gsr_shader *shader, gsr_egl *egl, int *rotati
"void main() \n"
"{ \n"
" vec4 pixel = texture(tex1, texcoords_out); \n"
- " FragColor.xy = (RGBtoYUV * vec4(pixel.rgb, 1.0)).zy; \n"
+ " FragColor.xy = (RGBtoYUV * vec4(pixel.rgb, 1.0)).yz; \n"
" FragColor.w = pixel.a; \n"
"} \n";