summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert+renesas@glider.be>2023-07-05 15:24:02 +0200
committerDmitry Baryshkov <dbaryshkov@gmail.com>2023-09-08 17:42:38 +0000
commitbe42051eadc53c55ca1920a7bfedb9ad867838dc (patch)
tree6b9985c0ff197c2cc2a5c3bce478f3f27a16b41e
parent8e5286d4f982b7dd372a8747d5cf55438e74d02d (diff)
modetest: add support for DRM_FORMAT_NV{24,42}
Add support for creating buffers using semi-planar YUV formats with non-subsampled chroma planes. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> --- v2: - Add Reviewed-by.
-rw-r--r--tests/modetest/buffers.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/modetest/buffers.c b/tests/modetest/buffers.c
index 4119f048..c122fb3f 100644
--- a/tests/modetest/buffers.c
+++ b/tests/modetest/buffers.c
@@ -129,6 +129,8 @@ bo_create(int fd, unsigned int format,
case DRM_FORMAT_NV21:
case DRM_FORMAT_NV16:
case DRM_FORMAT_NV61:
+ case DRM_FORMAT_NV24:
+ case DRM_FORMAT_NV42:
case DRM_FORMAT_YUV420:
case DRM_FORMAT_YVU420:
bpp = 8;
@@ -208,6 +210,11 @@ bo_create(int fd, unsigned int format,
virtual_height = height * 2;
break;
+ case DRM_FORMAT_NV24:
+ case DRM_FORMAT_NV42:
+ virtual_height = height * 3;
+ break;
+
default:
virtual_height = height;
break;
@@ -255,6 +262,19 @@ bo_create(int fd, unsigned int format,
planes[1] = virtual + offsets[1];
break;
+ case DRM_FORMAT_NV24:
+ case DRM_FORMAT_NV42:
+ offsets[0] = 0;
+ handles[0] = bo->handle;
+ pitches[0] = bo->pitch;
+ pitches[1] = pitches[0] * 2;
+ offsets[1] = pitches[0] * height;
+ handles[1] = bo->handle;
+
+ planes[0] = virtual;
+ planes[1] = virtual + offsets[1];
+ break;
+
case DRM_FORMAT_YUV420:
case DRM_FORMAT_YVU420:
offsets[0] = 0;