[libcamera-devel] [PATCH 13/14] py: cam_kms: support multiplanar formats
Tomi Valkeinen
tomi.valkeinen at ideasonboard.com
Mon May 16 16:10:21 CEST 2022
Support multiplanar formats in the kms renderer. Tested with RPi and
NV12.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ideasonboard.com>
---
src/py/cam/cam_kms.py | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/py/cam/cam_kms.py b/src/py/cam/cam_kms.py
index da3dd4e0..90aac5f6 100644
--- a/src/py/cam/cam_kms.py
+++ b/src/py/cam/cam_kms.py
@@ -127,10 +127,16 @@ class KMSRenderer:
for fb in ctx['allocator'].buffers(stream):
w = cfg.size.width
h = cfg.size.height
- stride = cfg.stride
- fd = fb.fd(0)
+ fds = []
+ strides = []
+ offsets = []
+ for i in range(fb.num_planes):
+ fds.append(fb.fd(i))
+ strides.append(cfg.stride)
+ offsets.append(fb.offset(i))
+
drmfb = pykms.DmabufFramebuffer(self.card, w, h, fmt,
- [fd], [stride], [0])
+ fds, strides, offsets)
self.cam_2_drm[fb] = drmfb
idx += 1
--
2.34.1
More information about the libcamera-devel
mailing list