[libcamera-devel] [PATCH] qcam: Fix YUV planar fragment shaders
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Fri Sep 30 18:57:31 CEST 2022
Commit 251f0534b74b ("qcam: viewfinder_gl: Take color space into account
for YUV rendering") introduced compilation failures in the YUV
semi-planar and planar fragment shaders due to a bad copy & paste. Fix
it.
Fixes: 251f0534b74b ("qcam: viewfinder_gl: Take color space into account for YUV rendering")
Reported-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
Kieran,
This should fix the issue you have reported. I haven't tested the patch
yet, could you give it a try ?
---
src/qcam/assets/shader/YUV_2_planes.frag | 2 +-
src/qcam/assets/shader/YUV_3_planes.frag | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/qcam/assets/shader/YUV_2_planes.frag b/src/qcam/assets/shader/YUV_2_planes.frag
index da8dbcc5f801..1d5d1206248f 100644
--- a/src/qcam/assets/shader/YUV_2_planes.frag
+++ b/src/qcam/assets/shader/YUV_2_planes.frag
@@ -36,7 +36,7 @@ void main(void)
#error Invalid pattern
#endif
- vec3 rgb = yuv2rgb_matrix * (vec3(y, uv) - yuv2rgb_offset);
+ vec3 rgb = yuv2rgb_matrix * (yuv - yuv2rgb_offset);
gl_FragColor = vec4(rgb, 1.0);
}
diff --git a/src/qcam/assets/shader/YUV_3_planes.frag b/src/qcam/assets/shader/YUV_3_planes.frag
index e754129d74d1..8f788e90a6f8 100644
--- a/src/qcam/assets/shader/YUV_3_planes.frag
+++ b/src/qcam/assets/shader/YUV_3_planes.frag
@@ -30,7 +30,7 @@ void main(void)
yuv.y = texture2D(tex_u, textureOut).r;
yuv.z = texture2D(tex_v, textureOut).r;
- vec3 rgb = yuv2rgb_matrix * (vec3(y, uv) - yuv2rgb_offset);
+ vec3 rgb = yuv2rgb_matrix * (yuv - yuv2rgb_offset);
gl_FragColor = vec4(rgb, 1.0);
}
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list