From cd3266466ee28ebe97962d99277e7a23ecf83701 Mon Sep 17 00:00:00 2001 From: Kristian Vos Date: Sat, 11 May 2024 19:28:26 +0200 Subject: [PATCH] Improve readability of shader selecting based on pixel format, add more bayer formats --- src/gles2_debayer.c | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/src/gles2_debayer.c b/src/gles2_debayer.c index f0bb401..e815b72 100644 --- a/src/gles2_debayer.c +++ b/src/gles2_debayer.c @@ -19,14 +19,31 @@ gles2_debayer_new(int format) int shader = 0; - if (pixfmt == V4L2_PIX_FMT_SBGGR8 || pixfmt == V4L2_PIX_FMT_SGBRG8 || - pixfmt == V4L2_PIX_FMT_SGRBG8 || pixfmt == V4L2_PIX_FMT_SRGGB8 || - pixfmt == V4L2_PIX_FMT_SBGGR10P || pixfmt == V4L2_PIX_FMT_SGBRG10P || - pixfmt == V4L2_PIX_FMT_SGRBG10P || pixfmt == V4L2_PIX_FMT_SRGGB10P) { - shader = SHADER_DEBAYER; - } else if (pixfmt == V4L2_PIX_FMT_YUYV) { - shader = SHADER_YUV; - } else { + switch (pixfmt) { + case V4L2_PIX_FMT_SBGGR8: + case V4L2_PIX_FMT_SGBRG8: + case V4L2_PIX_FMT_SGRBG8: + case V4L2_PIX_FMT_SRGGB8: + case V4L2_PIX_FMT_SBGGR10P: + case V4L2_PIX_FMT_SGBRG10P: + case V4L2_PIX_FMT_SGRBG10P: + case V4L2_PIX_FMT_SRGGB10P: + case V4L2_PIX_FMT_SBGGR10: + case V4L2_PIX_FMT_SGBRG10: + case V4L2_PIX_FMT_SGRBG10: + case V4L2_PIX_FMT_SRGGB10: + case V4L2_PIX_FMT_SBGGR12: + case V4L2_PIX_FMT_SGBRG12: + case V4L2_PIX_FMT_SGRBG12: + case V4L2_PIX_FMT_SRGGB12: + shader = SHADER_DEBAYER; + break; + case V4L2_PIX_FMT_YUYV: + shader = SHADER_YUV; + break; + } + + if (shader == 0) { return NULL; }