From patchwork Fri Apr 24 21:52:51 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jacopo Mondi X-Patchwork-Id: 3518 Return-Path: Received: from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net [217.70.183.195]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id D0E39603FC for ; Fri, 24 Apr 2020 23:50:01 +0200 (CEST) X-Originating-IP: 87.3.55.240 Received: from uno.homenet.telecomitalia.it (host240-55-dynamic.3-87-r.retail.telecomitalia.it [87.3.55.240]) (Authenticated sender: jacopo@jmondi.org) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 1881F60003; Fri, 24 Apr 2020 21:50:00 +0000 (UTC) From: Jacopo Mondi To: libcamera-devel@lists.libcamera.org Date: Fri, 24 Apr 2020 23:52:51 +0200 Message-Id: <20200424215304.558317-1-jacopo@jmondi.org> X-Mailer: git-send-email 2.26.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v3 00/13] libcamera: Add CameraSensorInfo 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: , X-List-Received-Date: Fri, 24 Apr 2020 21:50:02 -0000 Hello, this series implements support for CameraSensorInfo as it has been already sent in conjunction with CameraSensorFactory, which has been removed from this series. This new version retrieves all the information required to assemble the CameraSensorInfo from the kernel interface, by introducing requriements on the sensor driver to expose: - Selection API targets - NATIVE_SIZE - CROP - HBLANK control - PIXEL_RATE control CameraSensorFactory could be re-introduced on top to add per-sensor specific controls support and to support reporting more properties whose information are not available from the kernel API at the moment. Thanks j Jacopo Mondi (13): libcamera: geometry: Rename Rectangle fields libcamera: properties: Define pixel array properties libcamera: properties: Define 'lens' properties libcamera: v4l2_subdevice: Implement get selection libcamera: camera_sensor: Break out properties initialization libcamera: camera_sensor: Collect pixel array properties libcamera: camera_sensor: Define CameraSensorInfo libcamera: v4l2_subdevice: Add format information libcamera: v4l2_device: Add method to read a control test: v4l2_device: Test getControl() API libcamera: camera_sensor: Add method to get sensor info libcamera: v4l2_device: Update documentation libcamera: ipa: Add support for CameraSensorInfo include/ipa/ipa_interface.h | 21 +- include/libcamera/geometry.h | 4 +- src/ipa/libipa/ipa_interface_wrapper.cpp | 19 +- src/ipa/libipa/ipa_interface_wrapper.h | 1 + src/ipa/rkisp1/rkisp1.cpp | 13 +- src/ipa/vimc/vimc.cpp | 4 +- src/libcamera/camera_sensor.cpp | 305 +++++++++++++++++--- src/libcamera/geometry.cpp | 8 +- src/libcamera/include/camera_sensor.h | 15 + src/libcamera/include/ipa_context_wrapper.h | 4 +- src/libcamera/include/v4l2_device.h | 18 ++ src/libcamera/include/v4l2_subdevice.h | 9 + src/libcamera/ipa_context_wrapper.cpp | 24 +- src/libcamera/ipa_interface.cpp | 60 ++++ src/libcamera/pipeline/ipu3/ipu3.cpp | 4 +- src/libcamera/pipeline/rkisp1/rkisp1.cpp | 9 +- src/libcamera/property_ids.yaml | 189 ++++++++++++ src/libcamera/proxy/ipa_proxy_linux.cpp | 4 +- src/libcamera/proxy/ipa_proxy_thread.cpp | 9 +- src/libcamera/v4l2_device.cpp | 30 +- src/libcamera/v4l2_subdevice.cpp | 213 +++++++++++++- src/libcamera/v4l2_videodevice.cpp | 8 +- test/ipa/ipa_wrappers_test.cpp | 21 +- test/v4l2_videodevice/controls.cpp | 16 + 24 files changed, 921 insertions(+), 87 deletions(-) --- 2.26.1