From 04af745fec23e3f9fdb3e9b23dfe807cf521bc24 Mon Sep 17 00:00:00 2001
From: Yevgen Abramov <[EMAIL REDACTED]>
Date: Thu, 6 Nov 2025 09:42:42 -0500
Subject: [PATCH] Add support for V4L2 XB24 (32-bit RGBX) camera format
---
src/camera/v4l2/SDL_camera_v4l2.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/camera/v4l2/SDL_camera_v4l2.c b/src/camera/v4l2/SDL_camera_v4l2.c
index 87fb09d897280..86ea3f74ca5aa 100644
--- a/src/camera/v4l2/SDL_camera_v4l2.c
+++ b/src/camera/v4l2/SDL_camera_v4l2.c
@@ -418,6 +418,7 @@ static void format_v4l2_to_sdl(Uint32 fmt, SDL_PixelFormat *format, SDL_Colorspa
#define CASE(x, y, z) case x: *format = y; *colorspace = z; return
CASE(V4L2_PIX_FMT_YUYV, SDL_PIXELFORMAT_YUY2, SDL_COLORSPACE_BT709_LIMITED);
CASE(V4L2_PIX_FMT_MJPEG, SDL_PIXELFORMAT_MJPG, SDL_COLORSPACE_SRGB);
+ CASE(V4L2_PIX_FMT_RGBX32, SDL_PIXELFORMAT_RGBX32, SDL_COLORSPACE_SRGB);
#undef CASE
default:
#if DEBUG_CAMERA
@@ -439,6 +440,7 @@ static Uint32 format_sdl_to_v4l2(SDL_PixelFormat fmt)
#define CASE(y, x) case x: return y
CASE(V4L2_PIX_FMT_YUYV, SDL_PIXELFORMAT_YUY2);
CASE(V4L2_PIX_FMT_MJPEG, SDL_PIXELFORMAT_MJPG);
+ CASE(V4L2_PIX_FMT_RGBX32, SDL_PIXELFORMAT_RGBX32);
#undef CASE
default:
return 0;