From ee13f1690b932be96e4a06fbc154f096f358e774 Mon Sep 17 00:00:00 2001 From: Martin Tuma Date: Mon, 2 Dec 2024 12:36:22 +0100 Subject: [PATCH] access/v4l2: add support for V4L2_PIX_FMT_ABGR32 and V4L2_PIX_FMT_XBGR32 Fix broken v4l2 pixel format selection when the device supports/uses the V4L2_PIX_FMT_ABGR32 or V4L2_PIX_FMT_XBGR32 pixel formats. See the v4l2 documentation for the pixel formats details: https://docs.kernel.org/userspace-api/media/v4l/pixfmt-rgb.html Gbp-Pq: Name 0112-access-v4l2-add-support-for-V4L2_PIX_FMT_ABGR32-and-.patch --- modules/access/v4l2/demux.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/access/v4l2/demux.c b/modules/access/v4l2/demux.c index 81a479ff..bed02b88 100644 --- a/modules/access/v4l2/demux.c +++ b/modules/access/v4l2/demux.c @@ -155,10 +155,13 @@ static const vlc_v4l2_fmt_t v4l2_fmts[] = // { V4L2_PIX_FMT_NV12MT, }, // { V4L2_PIX_FMT_M420, }, + { V4L2_PIX_FMT_ABGR32, VLC_CODEC_BGRA, 4, 0, 0, 0 }, + /* Packed RGB */ #ifdef WORDS_BIGENDIAN { V4L2_PIX_FMT_RGB32, VLC_CODEC_RGB32, 4, 0xFF00, 0xFF0000, 0xFF000000 }, { V4L2_PIX_FMT_BGR32, VLC_CODEC_RGB32, 4, 0xFF000000, 0xFF0000, 0xFF00 }, + { V4L2_PIX_FMT_XBGR32, VLC_CODEC_RGB32, 4, 0xFF000000, 0xFF0000, 0xFF00 }, { V4L2_PIX_FMT_RGB24, VLC_CODEC_RGB24, 3, 0xFF0000, 0x00FF00, 0x0000FF }, { V4L2_PIX_FMT_BGR24, VLC_CODEC_RGB24, 3, 0x0000FF, 0x00FF00, 0xFF0000 }, // { V4L2_PIX_FMT_BGR666, }, @@ -170,6 +173,7 @@ static const vlc_v4l2_fmt_t v4l2_fmts[] = #else { V4L2_PIX_FMT_RGB32, VLC_CODEC_RGB32, 4, 0x0000FF, 0x00FF00, 0xFF0000 }, { V4L2_PIX_FMT_BGR32, VLC_CODEC_RGB32, 4, 0xFF0000, 0x00FF00, 0x0000FF }, + { V4L2_PIX_FMT_XBGR32, VLC_CODEC_RGB32, 4, 0xFF0000, 0x00FF00, 0x0000FF }, { V4L2_PIX_FMT_RGB24, VLC_CODEC_RGB24, 3, 0x0000FF, 0x00FF00, 0xFF0000 }, { V4L2_PIX_FMT_BGR24, VLC_CODEC_RGB24, 3, 0xFF0000, 0x00FF00, 0x0000FF }, // { V4L2_PIX_FMT_BGR666, }, -- 2.30.2