[libcamera-devel] [PATCH v2 5/8] libcamera: v4l2_device: Use non-interlaced frames

Kieran Bingham kieran.bingham at ideasonboard.com
Wed Feb 13 16:10:24 CET 2019


Use V4L2_FIELD_NONE where applicable to disable support for interlaced frames.
We are unlikely to support interlaced frames on cameras so hardcode this field
type for now. If we decide to support interlacing later it can be revisited.

Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
---
 src/libcamera/v4l2_device.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp
index 8c038239cf24..d690be9823f5 100644
--- a/src/libcamera/v4l2_device.cpp
+++ b/src/libcamera/v4l2_device.cpp
@@ -423,6 +423,7 @@ int V4L2Device::setFormatSingleplane(V4L2DeviceFormat *format)
 	pix->height = format->height;
 	pix->pixelformat = format->fourcc;
 	pix->bytesperline = format->planes[0].bpl;
+	pix->field = V4L2_FIELD_NONE;
 
 	ret = ioctl(fd_, VIDIOC_S_FMT, &v4l2Format);
 	if (ret) {
@@ -483,6 +484,7 @@ int V4L2Device::setFormatMultiplane(V4L2DeviceFormat *format)
 	pix->height = format->height;
 	pix->pixelformat = format->fourcc;
 	pix->num_planes = format->planesCount;
+	pix->field = V4L2_FIELD_NONE;
 
 	for (unsigned int i = 0; i < pix->num_planes; ++i) {
 		pix->plane_fmt[i].bytesperline = format->planes[i].bpl;
@@ -681,6 +683,7 @@ int V4L2Device::queueBuffer(Buffer *buffer)
 	buf.index = buffer->index();
 	buf.type = bufferType_;
 	buf.memory = memoryType_;
+	buf.field = V4L2_FIELD_NONE;
 
 	if (V4L2_TYPE_IS_MULTIPLANAR(buf.type)) {
 		buf.length = buffer->planes().size();
-- 
2.19.1



More information about the libcamera-devel mailing list