From 43fd7d0fc84035793639d6f432f621dba3c64ef8 Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Tue, 22 Jun 2021 16:46:51 +0300 Subject: qcam: viewfinder_gl: Add support for RAW8 Bayer formats This integrates the vertex and the fragment shaders by Morgan McGuire into qcam. Signed-off-by: Andrey Konovalov Reviewed-by: Paul Elder Reviewed-by: Laurent Pinchart Signed-off-by: Laurent Pinchart --- src/qcam/assets/shader/bayer_8.frag | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/qcam/assets/shader/bayer_8.frag') diff --git a/src/qcam/assets/shader/bayer_8.frag b/src/qcam/assets/shader/bayer_8.frag index a7d65e1d..4ece44ab 100644 --- a/src/qcam/assets/shader/bayer_8.frag +++ b/src/qcam/assets/shader/bayer_8.frag @@ -9,20 +9,23 @@ Morgan McGuire This paper appears in issue Volume 13, Number 4. --------------------------------------------------------- Copyright (c) 2008, Morgan McGuire. All rights reserved. + +Modified by Linaro Ltd to integrate it into libcamera. +Copyright (C) 2021, Linaro */ //Pixel Shader /** Monochrome RGBA or GL_LUMINANCE Bayer encoded texture.*/ -uniform sampler2D source; +uniform sampler2D tex_y; varying vec4 center; varying vec4 yCoord; varying vec4 xCoord; void main(void) { - #define fetch(x, y) texture2D(source, vec2(x, y)).r + #define fetch(x, y) texture2D(tex_y, vec2(x, y)).r - float C = texture2D(source, center.xy).r; // ( 0, 0) + float C = texture2D(tex_y, center.xy).r; // ( 0, 0) const vec4 kC = vec4( 4.0, 6.0, 5.0, 5.0) / 8.0; // Determine which of four types of pixels we are on. -- cgit v1.2.1