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

Laurent Pinchart laurent.pinchart at ideasonboard.com
Wed Feb 13 16:46:06 CET 2019


Hi Kieran,

Thank you for the patch.

On Wed, Feb 13, 2019 at 03:10:24PM +0000, Kieran Bingham wrote:
> 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>

Reviewed-by: Laurent Pinchart <laurent.pinchart 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();

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list