diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2021-09-02 04:09:18 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2021-09-07 19:18:19 +0300 |
commit | cc035f611f40f366c388bcc2627180349ac671f2 (patch) | |
tree | b0464a8682113a31132673cb7d4976ffe41cec06 /test/camera/capture.cpp | |
parent | 88589a25318ddf08106262aada6ff71142e42c9d (diff) |
libcamera: v4l2_videodevice: Coalesce planes when queuing buffer
When queueing a buffer to a V4L2VideoDevice, the number of planes in the
FrameBuffer may not match the number of V4L2 buffer planes if the
PixelFormat is multi-planar (has multiple colour planes) and the V4L2
format is single-planar (has a single buffer plane). In this case, we
need to coalesce all FrameBuffer planes into a single V4L2 buffer plane.
Do so, and add validity checks to reject frame buffers that can't be
described using a single V4L2 buffer plane.
This change prepares for proper multi-planar support, but isn't expected
to result in a change of behaviour with existing pipeline handlers, as
none of them queue an output buffer with multiple FrameBuffer planes or
use non-contiguous buffers for either capture or output.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Hirokazu Honda <hiroh@chromium.org>
Diffstat (limited to 'test/camera/capture.cpp')
0 files changed, 0 insertions, 0 deletions