Patch "media: uvcvideo: Add GUID for BGRA/X 8:8:8:8" has been added to the 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    media: uvcvideo: Add GUID for BGRA/X 8:8:8:8

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     media-uvcvideo-add-guid-for-bgra-x-8-8-8-8.patch
and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 42560117d4ba587584c38d69adfde150c5903be4
Author: Marek Vasut <marex@xxxxxxx>
Date:   Fri Jan 27 00:14:52 2023 +0100

    media: uvcvideo: Add GUID for BGRA/X 8:8:8:8
    
    [ Upstream commit 015d44c2b700ba9639dd29672ba362796cc0be54 ]
    
    The Cypress EZUSB FX3 UVC example can be configured to report pixel
    format "e436eb7e-524f-11ce-9f53-0020af0ba770". This is its GUID for
    BGRA/X 8:8:8:8.
    
    The UVC 1.5 spec [1] only defines GUIDs for YUY2, NV12, M420 and I420.
    This seems to be an extension documented in the Microsoft Windows Media
    Format SDK[2]. This Media Format SDK defines this GUID as corresponding
    to `MEDIASUBTYPE_RGB32`, which is confirmed by [4] as `MEDIASUBTYPE_ARGB32`
    has different GUID.
    
    Note that in my case, the FX3 UVC can output either channel order,
    BGR or RGB or any other mix for that matter. Since Linux commit
    1b8dc32286a1a ("[media] uvcvideo: Add GUID for BGR 8:8:8")
    defined a GUID for `MEDIASUBTYPE_RGB24` channel order as BGR, keep
    this change consistent and define `MEDIASUBTYPE_RGB32` as BGR as well.
    Document [3] also indicates the channel order is BGR.
    
    [1] https://www.usb.org/document-library/video-class-v15-document-set
    [2] https://learn.microsoft.com/en-us/windows/win32/wmformat/media-type-identifiers
    [3] https://learn.microsoft.com/en-us/windows/win32/directshow/uncompressed-rgb-video-subtypes
    [4] https://gix.github.io/media-types/
    
    Signed-off-by: Marek Vasut <marex@xxxxxxx>
    Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
    Reviewed-by: Ricardo Ribalda <ricardo@xxxxxxxxxxx>
    Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20230126231456.3402323-2-m.grzeschik@xxxxxxxxxxxxxx
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/include/media/v4l2-uvc.h b/include/media/v4l2-uvc.h
index f83e31661333b..b010a36fc1d95 100644
--- a/include/media/v4l2-uvc.h
+++ b/include/media/v4l2-uvc.h
@@ -99,6 +99,9 @@
 #define UVC_GUID_FORMAT_BGR3 \
 	{ 0x7d, 0xeb, 0x36, 0xe4, 0x4f, 0x52, 0xce, 0x11, \
 	 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70}
+#define UVC_GUID_FORMAT_BGR4 \
+	{ 0x7e, 0xeb, 0x36, 0xe4, 0x4f, 0x52, 0xce, 0x11, \
+	 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70}
 #define UVC_GUID_FORMAT_M420 \
 	{ 'M',  '4',  '2',  '0', 0x00, 0x00, 0x10, 0x00, \
 	 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
@@ -266,6 +269,11 @@ static struct uvc_format_desc uvc_fmts[] = {
 		.guid		= UVC_GUID_FORMAT_BGR3,
 		.fcc		= V4L2_PIX_FMT_BGR24,
 	},
+	{
+		.name		= "BGRA/X 8:8:8:8 (BGR4)",
+		.guid		= UVC_GUID_FORMAT_BGR4,
+		.fcc		= V4L2_PIX_FMT_XBGR32,
+	},
 	{
 		.name		= "H.264",
 		.guid		= UVC_GUID_FORMAT_H264,



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux