From patchwork Wed Oct 19 09:01:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Naushir Patuck X-Patchwork-Id: 17625 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 755E9C0DA4 for ; Wed, 19 Oct 2022 09:01:18 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 31E3662E3F; Wed, 19 Oct 2022 11:01:18 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1666170078; bh=TpykLQOJ9Y22AzmL02sFIPOAdOnb2uo0Tt69aguWdtI=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=uDLuSJ96WmYpZ+O91l3ozIBE/U2ZsA9agLFV4YfW/FfxvbA1Ettu7INHN633HULGO fmYaujCRje06OU8sHQlUzj0FgrRFkQfAsijoutaScf98VQ0jrFiH6HoX8dKaVKtmyg MIc1wBbNIaYihpbtZRPo0Mz7C1DLFrXACxBV1BQc+aaDM5jOdnJz7XOOkSH/YXF8uZ o5jiwAbAHgP9xmC/XhXkaZweYmQja3kvz4Uqu21PsUAzs7JP71kNQmT+myz9Tsmggy EtEq7jLJm58rTXEdswQxz1XAvKhnPcQVl19pvWlGrfmtP6CNn4AdExi3+IjDlK4L2/ PYPqTBxCaFBHQ== Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com [IPv6:2a00:1450:4864:20::332]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id CC3AC62DD7 for ; Wed, 19 Oct 2022 11:01:16 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="VDm9A3ow"; dkim-atps=neutral Received: by mail-wm1-x332.google.com with SMTP id c3-20020a1c3503000000b003bd21e3dd7aso17050059wma.1 for ; Wed, 19 Oct 2022 02:01:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=MSsFH8R3o7HyZ7WUGnSNlTmNjjVh+2/7YxpRZtUAVEY=; b=VDm9A3owweaNn3zpOh75q3B4k5KRbi+7MwKDba18kk5u0ORlWzyBE1X3CjFdn0wsUN xUTrMBIoLrwIqPeUZ++Zra2sKfuj3kY07Fj2hxFrYzNOZZAcKh4w9dmtVRrv4qXgpQ5u G0WQPNqyloPY4qAKUpcCzlyz/0gFrWXGyJ5agcPsdT8MUm8taYU8q5LAYSH6hW3rS2+4 hAkVj192rnafMyMQbK/DpgD39/eyxBXoBOwtSBIja2VmWFaimcN+kAkuEdS8F13Qfpai fV34xjDS/vCiDCeDpYF9kDFJCiuZe44qEO6EK5NpLUvx0kekZOHkSLEMqpC/fu5A9NbT qqSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=MSsFH8R3o7HyZ7WUGnSNlTmNjjVh+2/7YxpRZtUAVEY=; b=D5iFv2k2ZQPhJ+q1SElNVEdX0cjymgQAAjJkL+4IiFRnStt1X9kcSVzgVzKqqTO/p3 oCWfZkfxKMEUKn3GYXkesybzALL+mNJHuz+FQqQ2hXiPRRjCgmp7wGtQ1k8668Scfh3u veXtYiJAGVTryUF2c9kazQhJcSB/malp/GinoQ1aFjIS7yA56cQiY5EBkVIq4GNIddQJ thTuVk13pnbQNMbP5AwvVDlS33qJZ+a8eVD4JnXaDOVaCFPmibyelKmEhbo6/89/Xm3B ZRIe/e8A1kRtuB6kpx/LUYuujCfUczV9cFFS8eHC4MfmKuiXpCeVaeTTq595hqwgxn46 ORyQ== X-Gm-Message-State: ACrzQf2Kxu2JEDZLK4Y1vEbLvSWi1GHWffOX5/pjyQa39B8RRFl375at jW8iKJn/P4q7v2IC5QzxhakEzdyiu3qwgg== X-Google-Smtp-Source: AMsMyM4/XsKEwHQ8uMtxYtq2JkyIswE6J8tLRaXrbqq0b1RBsK1fz5SrWNQ6gtbwi2gr/F3pZ76OXA== X-Received: by 2002:a1c:f60d:0:b0:3be:708b:c96c with SMTP id w13-20020a1cf60d000000b003be708bc96cmr26218984wmc.168.1666170076190; Wed, 19 Oct 2022 02:01:16 -0700 (PDT) Received: from naush-laptop.localdomain ([93.93.133.154]) by smtp.gmail.com with ESMTPSA id r9-20020a05600c458900b003b47b913901sm1017595wmo.1.2022.10.19.02.01.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Oct 2022 02:01:15 -0700 (PDT) To: libcamera-devel@lists.libcamera.org Date: Wed, 19 Oct 2022 10:01:00 +0100 Message-Id: <20221019090107.19975-1-naush@raspberrypi.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v4 0/7] Raspberry Pi AGC digital gain fixes 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-Patchwork-Original-From: Naushir Patuck via libcamera-devel From: Naushir Patuck Reply-To: Naushir Patuck Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Hi, Version 4 of this series only has one change from the previous versions: In patch 6/7, the IPA cookie (index into the RPiMetadata array) is passed from the pipeline handler into the IPA rather than the other way around. This helps simplify some of our future work on per-frame-control. There is still lots of discussion on this series to be had, particularly for patch 1/7 where we add a cookie to DelayedControls, so feel free to provide some feedback. Regards, Naush Naushir Patuck (7): delayed_controls: Template the ControlRingBuffer class delayed_controls: Add user cookie to DelayedControls tests: delayed_controls: Add cookie value test ipa: raspberrypi: Add RPiController::Metadata::mergeCopy ipa: raspberrypi: Use an array of RPiController::Metadata objects pipeline: ipa: raspberrypi: Use IPA cookies ipa: raspberrypi: agc: Fix digital gain calculation for manual mode include/libcamera/internal/delayed_controls.h | 21 +++-- include/libcamera/ipa/raspberrypi.mojom | 4 +- src/ipa/raspberrypi/controller/metadata.h | 10 +++ src/ipa/raspberrypi/controller/rpi/agc.cpp | 10 ++- src/ipa/raspberrypi/raspberrypi.cpp | 82 ++++++++++++------- src/libcamera/delayed_controls.cpp | 20 +++-- src/libcamera/pipeline/ipu3/ipu3.cpp | 3 +- .../pipeline/raspberrypi/raspberrypi.cpp | 19 +++-- src/libcamera/pipeline/rkisp1/rkisp1.cpp | 3 +- test/delayed_controls.cpp | 52 +++++++++++- 10 files changed, 163 insertions(+), 61 deletions(-)