[raw2rgbpnm,2/2] Add YUVA32 and YUVX32 4:4:4 packed pixel formats support

Message ID 20240324004447.3399-2-laurent.pinchart@ideasonboard.com (mailing list archive)
State New
Headers
Series [raw2rgbpnm,1/2] Update the kernel headers to v6.8 to support new pixel formats |

Commit Message

Laurent Pinchart March 24, 2024, 12:44 a.m. UTC
  From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

The YUVA32 and YUVX32 formats are permutations of other YUV 4:4:4 packed
pixel formats. Support them.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
 raw2rgbpnm.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
  

Comments

sakari.ailus@iki.fi March 24, 2024, 12:04 p.m. UTC | #1
On Sun, Mar 24, 2024 at 02:44:40AM +0200, Laurent Pinchart wrote:
> From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> 
> The YUVA32 and YUVX32 formats are permutations of other YUV 4:4:4 packed
> pixel formats. Support them.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

Thanks, I've applied both!
  

Patch

diff --git a/raw2rgbpnm.c b/raw2rgbpnm.c
index 6cada340776f..a2e278975d90 100644
--- a/raw2rgbpnm.c
+++ b/raw2rgbpnm.c
@@ -76,6 +76,8 @@  static const struct format_info {
 	{ V4L2_PIX_FMT_XYUV32,	32, 8,  "XYUV32 (32-bit XYUV 8-8-8-8)", 1, 2, 3 },
 	{ V4L2_PIX_FMT_VUYA32,	32, 8,  "VUYA32 (32-bit VUYA 8-8-8-8)", 2, 1, 0 },
 	{ V4L2_PIX_FMT_VUYX32,	32, 8,  "VUYX32 (32-bit VUYX 8-8-8-8)", 2, 1, 0 },
+	{ V4L2_PIX_FMT_YUVA32,	32, 8,  "YUVA32 (32-bit YUVA 8-8-8-8)", 0, 1, 2 },
+	{ V4L2_PIX_FMT_YUVX32,	32, 8,  "YUVX32 (32-bit YUVX 8-8-8-8)", 0, 1, 2 },
 	{ V4L2_PIX_FMT_YUV411P,	12, 8,  "YUV411P (12 YUV 4:1:1 planar)", 0, 0, 1 },
 	{ V4L2_PIX_FMT_YUV420,	12, 8,  "YUV420P (12 YUV 4:2:0 planar)", 0, 0, 1 },
 	{ V4L2_PIX_FMT_YVU420,	12, 8,  "YVU420P (12 YVU 4:2:2 planar)", 0, 1, 0 },
@@ -267,7 +269,9 @@  static void raw_to_rgb(const struct format_info *info,
 	case V4L2_PIX_FMT_AYUV32:
 	case V4L2_PIX_FMT_XYUV32:
 	case V4L2_PIX_FMT_VUYA32:
-	case V4L2_PIX_FMT_VUYX32:		/* Packed YUV 4:4:4 */
+	case V4L2_PIX_FMT_VUYX32:
+	case V4L2_PIX_FMT_YUVA32:
+	case V4L2_PIX_FMT_YUVX32:	/* Packed YUV 4:4:4 */
 		y_pos = info->y_pos;
 		cb_pos = info->cb_pos;
 		cr_pos = info->cr_pos;