From patchwork Fri Mar 15 00:15:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 19719 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 7EE4EBD160 for ; Fri, 15 Mar 2024 00:16:17 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 6F81362C8C; Fri, 15 Mar 2024 01:16:16 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="U70WhS9T"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id ADC3762973 for ; Fri, 15 Mar 2024 01:16:15 +0100 (CET) Received: from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi [81.175.209.231]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 0387C667 for ; Fri, 15 Mar 2024 01:15:51 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1710461752; bh=B83Mg6iXi5LAbnQ1G/km5oO/24o+6e/YssT1Pv72zUY=; h=From:To:Subject:Date:From; b=U70WhS9Tj4MYqHQEGGqCD1+kuz1csnb+rhbmullfxY0pinvpwNRg3bDL48cFvXr7S IFUaolP3PkjmEMWB8uH6J9f/XwBWYRPSWUqW0qVmfWaznA6vzJmKRW/xg2FAdTcS5l bXNamYkvXaHiYck9zQAX5ENMxKrh00ZJDh9EZU+E= From: Laurent Pinchart To: libcamera-devel@lists.libcamera.org Subject: [PATCH v2 00/14] libcamera: Prepare for new camera sensor class Date: Fri, 15 Mar 2024 02:15:59 +0200 Message-ID: <20240315001613.2033-1-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.43.2 MIME-Version: 1.0 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Hello, This patch series is a subset of "[PATCH/RFC 00/32] libcamera: Support the upstream Unicam driver" that contains only the clean up, refactoring and improvement of the V4L2Subdevice and CameraSensor classes. During the review of the previous series, Jacopo proposed fast-tracking these patches while development of the V4L2 embedded data support API continues. I'm happy with that proposal as it reduces the size of the series, and all the patches here should not be controversial and are independent of the V4L2 API changes. Compared to the RFC, all review comments have been taken into account, and the patches have been rebased on top of the latest master branch. Please see individual patches for details. Laurent Pinchart (14): libcamera: v4l2_subdevice: Rename V4L2SubdeviceFormatInfo libcamera: v4l2_subdevice: Add code member to MediaBusFormatInfo libcamera: v4l2_subdevice: Expose media bus format info as internal API libcamera: v4l2_subdevice: Extend MediaBusFormatInfo with metadata formats libcamera: v4l2_subdevice: Drop V4L2SubdeviceFormat::bitsPerPixel() libcamera: v4l2_subdevice: Rename V4L2SubdeviceFormat::mbus_code to code libcamera: v4l2_subdevice: Add stream support to get/set functions libcamera: v4l2_subdevice: Replace Routing::toString() with operator<<() libcamera: v4l2_subdevice: Add V4L2Subdevice::Route structure libcamera: camera_sensor: Move related classes to subdirectory libcamera: camera_sensor: Drop updateControlInfo() function libcamera: camera_sensor: Reorder functions libcamera: camera_sensor: Test for read-only HBLANK with READ_ONLY flag libcamera: camera_sensor: Expose the Bayer order include/libcamera/internal/camera_sensor.h | 35 +- include/libcamera/internal/v4l2_subdevice.h | 103 +- src/libcamera/meson.build | 3 +- src/libcamera/pipeline/imx8-isi/imx8-isi.cpp | 24 +- src/libcamera/pipeline/ipu3/cio2.cpp | 8 +- src/libcamera/pipeline/ipu3/imgu.cpp | 4 +- src/libcamera/pipeline/rkisp1/rkisp1.cpp | 2 +- src/libcamera/pipeline/rkisp1/rkisp1_path.cpp | 2 +- .../pipeline/rpi/common/pipeline_base.cpp | 68 +- .../pipeline/rpi/common/pipeline_base.h | 6 +- src/libcamera/pipeline/rpi/vc4/vc4.cpp | 2 +- src/libcamera/pipeline/simple/simple.cpp | 20 +- src/libcamera/pipeline/vimc/vimc.cpp | 4 +- src/libcamera/{ => sensor}/camera_sensor.cpp | 557 ++++---- .../{ => sensor}/camera_sensor_properties.cpp | 0 src/libcamera/sensor/meson.build | 6 + src/libcamera/v4l2_subdevice.cpp | 1163 ++++++++++++++--- test/camera-sensor.cpp | 2 +- .../v4l2_videodevice_test.cpp | 2 +- 19 files changed, 1401 insertions(+), 610 deletions(-) rename src/libcamera/{ => sensor}/camera_sensor.cpp (95%) rename src/libcamera/{ => sensor}/camera_sensor_properties.cpp (100%) create mode 100644 src/libcamera/sensor/meson.build base-commit: d54abd32affdb7d7458cd2a0889a7afe6a5a5d33