All of lore.kernel.org
 help / color / mirror / Atom feed
From: Louis Chauvet <louis.chauvet@bootlin.com>
To: "Rodrigo Siqueira" <rodrigosiqueiramelo@gmail.com>,
	"Melissa Wen" <melissa.srw@gmail.com>,
	"Maíra Canal" <mairacanal@riseup.net>,
	"Haneen Mohammed" <hamohammed.sa@gmail.com>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
	"Maxime Ripard" <mripard@kernel.org>,
	"Thomas Zimmermann" <tzimmermann@suse.de>,
	"David Airlie" <airlied@gmail.com>,
	rdunlap@infradead.org, arthurgrillo@riseup.net,
	"Jonathan Corbet" <corbet@lwn.net>,
	pekka.paalanen@haloniitty.fi
Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	 jeremie.dautheribes@bootlin.com, miquel.raynal@bootlin.com,
	 thomas.petazzoni@bootlin.com, seanpaul@google.com,
	marcheu@google.com,  nicolejadeyee@google.com,
	Louis Chauvet <louis.chauvet@bootlin.com>
Subject: [PATCH v6 13/17] drm/vkms: Add range and encoding properties to the plane
Date: Tue, 09 Apr 2024 15:25:31 +0200	[thread overview]
Message-ID: <20240409-yuv-v6-13-de1c5728fd70@bootlin.com> (raw)
In-Reply-To: <20240409-yuv-v6-0-de1c5728fd70@bootlin.com>

From: Arthur Grillo <arthurgrillo@riseup.net>

Now that the driver internally handles these quantization ranges and YUV
encoding matrices, expose the UAPI for setting them.

Signed-off-by: Arthur Grillo <arthurgrillo@riseup.net>
[Louis Chauvet: retained only relevant parts, updated the commit message]
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
---
 drivers/gpu/drm/vkms/vkms_formats.c | 2 +-
 drivers/gpu/drm/vkms/vkms_plane.c   | 9 +++++++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/vkms/vkms_formats.c b/drivers/gpu/drm/vkms/vkms_formats.c
index 2d7445a3de93..a294744d29d6 100644
--- a/drivers/gpu/drm/vkms/vkms_formats.c
+++ b/drivers/gpu/drm/vkms/vkms_formats.c
@@ -238,7 +238,7 @@ static struct pixel_argb_u16 argb_u16_from_RGB565(const u16 *pixel)
 static struct pixel_argb_u16 argb_u16_from_yuv888(u8 y, u8 channel_1, u8 channel_2,
 						  const struct conversion_matrix *matrix)
 {
-	u8 r, g, b;
+	u16 r, g, b;
 	s64 fp_y, fp_channel_1, fp_channel_2;
 	s64 fp_r, fp_g, fp_b;
 
diff --git a/drivers/gpu/drm/vkms/vkms_plane.c b/drivers/gpu/drm/vkms/vkms_plane.c
index d4e375913122..8f764a108b00 100644
--- a/drivers/gpu/drm/vkms/vkms_plane.c
+++ b/drivers/gpu/drm/vkms/vkms_plane.c
@@ -218,5 +218,14 @@ struct vkms_plane *vkms_plane_init(struct vkms_device *vkmsdev,
 	drm_plane_create_rotation_property(&plane->base, DRM_MODE_ROTATE_0,
 					   DRM_MODE_ROTATE_MASK | DRM_MODE_REFLECT_MASK);
 
+	drm_plane_create_color_properties(&plane->base,
+					  BIT(DRM_COLOR_YCBCR_BT601) |
+					  BIT(DRM_COLOR_YCBCR_BT709) |
+					  BIT(DRM_COLOR_YCBCR_BT2020),
+					  BIT(DRM_COLOR_YCBCR_LIMITED_RANGE) |
+					  BIT(DRM_COLOR_YCBCR_FULL_RANGE),
+					  DRM_COLOR_YCBCR_BT601,
+					  DRM_COLOR_YCBCR_FULL_RANGE);
+
 	return plane;
 }

-- 
2.43.0


  parent reply	other threads:[~2024-04-09 13:26 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-09 13:25 [PATCH v6 00/17] drm/vkms: Reimplement line-per-line pixel conversion for plane reading Louis Chauvet
2024-04-09 13:25 ` [PATCH v6 01/17] drm/vkms: Code formatting Louis Chauvet
2024-04-09 13:25 ` [PATCH v6 02/17] drm/vkms: Use drm_frame directly Louis Chauvet
2024-04-09 13:25 ` [PATCH v6 03/17] drm/vkms: write/update the documentation for pixel conversion and pixel write functions Louis Chauvet
2024-04-22 10:33   ` Pekka Paalanen
2024-05-13  6:31     ` Louis Chauvet
2024-04-09 13:25 ` [PATCH v6 04/17] drm/vkms: Add typedef and documentation for pixel_read and pixel_write functions Louis Chauvet
2024-04-09 13:25 ` [PATCH v6 05/17] drm/vkms: Add dummy pixel_read/pixel_write callbacks to avoid NULL pointers Louis Chauvet
2024-04-09 13:25 ` [PATCH v6 06/17] drm/vkms: Use const for input pointers in pixel_read an pixel_write functions Louis Chauvet
2024-04-09 13:25 ` [PATCH v6 07/17] drm/vkms: Update pixels accessor to support packed and multi-plane formats Louis Chauvet
2024-04-22 11:07   ` Pekka Paalanen
2024-05-13  7:15     ` Louis Chauvet
2024-05-13 11:14       ` Pekka Paalanen
2024-04-09 13:25 ` [PATCH v6 08/17] drm/vkms: Avoid computing blending limits inside pre_mul_alpha_blend Louis Chauvet
2024-04-22 11:12   ` Pekka Paalanen
2024-04-09 13:25 ` [PATCH v6 09/17] drm/vkms: Introduce pixel_read_direction enum Louis Chauvet
2024-04-22 11:39   ` Pekka Paalanen
2024-05-13  7:15     ` Louis Chauvet
2024-04-09 13:25 ` [PATCH v6 10/17] drm/vkms: Re-introduce line-per-line composition algorithm Louis Chauvet
2024-04-22 12:38   ` Pekka Paalanen
2024-04-09 13:25 ` [PATCH v6 11/17] drm/vkms: Remove useless drm_rotation_simplify Louis Chauvet
2024-04-09 13:25 ` [PATCH v6 12/17] drm/vkms: Add YUV support Louis Chauvet
2024-04-22 14:47   ` Pekka Paalanen
2024-04-09 13:25 ` Louis Chauvet [this message]
2024-04-22 14:49   ` [PATCH v6 13/17] drm/vkms: Add range and encoding properties to the plane Pekka Paalanen
2024-04-09 13:25 ` [PATCH v6 14/17] drm/vkms: Drop YUV formats TODO Louis Chauvet
2024-04-09 13:25 ` [PATCH v6 15/17] drm/vkms: Create KUnit tests for YUV conversions Louis Chauvet
2024-04-23 13:29   ` Pekka Paalanen
2024-04-09 13:25 ` [PATCH v6 16/17] drm/vkms: Add how to run the Kunit tests Louis Chauvet
2024-04-09 13:25 ` [PATCH v6 17/17] drm/vkms: Add support for DRM_FORMAT_R* Louis Chauvet
2024-04-23 14:26   ` Pekka Paalanen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240409-yuv-v6-13-de1c5728fd70@bootlin.com \
    --to=louis.chauvet@bootlin.com \
    --cc=airlied@gmail.com \
    --cc=arthurgrillo@riseup.net \
    --cc=corbet@lwn.net \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hamohammed.sa@gmail.com \
    --cc=jeremie.dautheribes@bootlin.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mairacanal@riseup.net \
    --cc=marcheu@google.com \
    --cc=melissa.srw@gmail.com \
    --cc=miquel.raynal@bootlin.com \
    --cc=mripard@kernel.org \
    --cc=nicolejadeyee@google.com \
    --cc=pekka.paalanen@haloniitty.fi \
    --cc=rdunlap@infradead.org \
    --cc=rodrigosiqueiramelo@gmail.com \
    --cc=seanpaul@google.com \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.