From patchwork Tue Dec 21 04:36:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Elder X-Patchwork-Id: 15178 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 7887ABE080 for ; Tue, 21 Dec 2021 04:36:22 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 672A2608E7; Tue, 21 Dec 2021 05:36:21 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="hZnOvl63"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id B77AD6021D for ; Tue, 21 Dec 2021 05:36:19 +0100 (CET) Received: from pyrite.mediacom.info (unknown [IPv6:2604:2d80:ad90:fb00:96fd:8874:873:6c16]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id AAA25881; Tue, 21 Dec 2021 05:36:18 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1640061379; bh=lHW3s8IJRZMpNiicHVn/QgZKSt2QaLBY8K7xOYRC1zc=; h=From:To:Cc:Subject:Date:From; b=hZnOvl639NlpqqvpB88O7Um0DDSaMgLmSN1r8Hxeri6ohAx30rh3b9hWPDyRmCq3m v7mgbwi33I4QGDTP5K11xU1ijkDTIbuYbN1bjtBMtuujbJu57dhZ9n53ALNrT6Z+Ba N/XdxgyKODrZWQ5NGUE/V6ty9efPcPgfZHhD6jfg= From: Paul Elder To: libcamera-devel@lists.libcamera.org Date: Mon, 20 Dec 2021 22:36:02 -0600 Message-Id: <20211221043610.2512334-1-paul.elder@ideasonboard.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v3 0/8] The Great AE Changes 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" This patch series aims to solve all our AE problems. The most important patches are 1/8, 6/8, and 8/8. 1/8 defines the new AE controls, and replaces the old ones. This will not compile without 2/8 to 5/8. Should this be squashed, to prevent bisection breakage, or left separate, for clean history? 6/8 plumbs the AE controls through the HAL layer. It is fairly large and complex. This one needs a bit more discussion, and as a result has not been changed much since v2. 8/8 plumbs the sensitivity-related controls, which are also related to the AE controls, which is why it is included in this series. It also did not have any reviews, so it's being grouped with this series. 7/8 was moved from "android: Miscellaneous fixes", as of v3, to avoid breakage in that series. It is already reviewed (and actually one version ahead) and is included here to avoid getting lost. Paul Elder (8): controls: Reorganize the AE-related controls libcamera: pipeline: uvcvideo: Support the new AE controls libcamera: pipeline: raspberrypi: Support the new AE controls test: ipa_data_serializer: Remove controls::AeEnable libcamera: pipeline: rkisp1: Support the new AE controls android: Plumb all AE-related controls android: Check exposure time range for manual sensor capability android: Plumb all sensitivity-related controls include/libcamera/ipa/raspberrypi.h | 3 +- src/android/camera_capabilities.cpp | 169 +++++++++++-- src/android/camera_capabilities.h | 3 +- src/android/camera_device.cpp | 157 +++++++++++- src/android/camera_device.h | 14 + src/android/camera_hal_config.cpp | 10 +- src/android/camera_hal_config.h | 1 + src/android/camera_request.h | 9 + .../raspberrypi/controller/agc_algorithm.hpp | 4 + src/ipa/raspberrypi/controller/rpi/agc.cpp | 22 +- src/ipa/raspberrypi/controller/rpi/agc.hpp | 5 + src/ipa/raspberrypi/raspberrypi.cpp | 42 ++- src/ipa/rkisp1/rkisp1.cpp | 9 +- src/libcamera/control_ids.yaml | 239 +++++++++++++----- src/libcamera/pipeline/rkisp1/rkisp1.cpp | 4 +- src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 43 +++- .../ipa_data_serializer_test.cpp | 1 - 17 files changed, 624 insertions(+), 111 deletions(-)