From patchwork Mon Jun 28 08:56:28 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Plowman X-Patchwork-Id: 12721 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 F297BC3221 for ; Mon, 28 Jun 2021 08:56:37 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 60166684DD; Mon, 28 Jun 2021 10:56:35 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="GtVI/bl+"; dkim-atps=neutral Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id B27E2684D2 for ; Mon, 28 Jun 2021 10:56:32 +0200 (CEST) Received: by mail-wr1-x42d.google.com with SMTP id y3so849937wrq.3 for ; Mon, 28 Jun 2021 01:56:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=1obICXaKbvbvTyx94FThBhBMS6JJdx9PmEMh+O34ghw=; b=GtVI/bl+8aDpnhTwDJRZJs+NZndRnlRHZdb+j8cPiJ2J1ILiH6XvDyQHUMM5EBCDME OGn2dnDcWbVIQLSoAiTObJEQIRz6qMDFHCHF55WL2P4+dqIf5GP3wwLVUfon3ENPfYtD Tl990KXkmKyEKBsADjnz29yYgihsuRspEqNbKzwuYrjn670b4ZVrI6GZgudKKOGrROAS r6NWKgc2KpToFuUgI3xH7cJCIwSh38jLtSOj1+e7BqmBmihop4aFzRh9qEdRgsqsQw9y Y8Tm7czyCWvgiCnt5SGJVRBzqDxEWXahd8sP2jMbw0CNs07mRiHz+4xLCrEK7x6et1jC cZow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=1obICXaKbvbvTyx94FThBhBMS6JJdx9PmEMh+O34ghw=; b=jWClk6rz52ZusdiKXFhDZ3YlaGBq34GfHyGViGb0/ovawSKcMvMXo1KxpHd2iWk13y tEEoCtNct3j18k+Ap8OnaTaR/LSKGECX9tNxnzVCnnwFxg336dcuXzwvChps0ENB/TKH ghL7zMAuUMiBxlT60vjU4cvlqA7kp0HFEMBYIUXAsaSFfhPWYpmrzF5CZiQU6/u9fq1P 5eY8TLZ8V9zlnL+IPLXFZNL1o5K/r4o+cp0PqVuIjytIf960V/rDFDW/K9H/oKE8Vd+F AT2Gp1qAl2gAmSXEgxWLMFL2alQ+Q6559UPM8wFyT0U5TBN7UUq8MRne1Bv6uyZZ2oZL 5mbQ== X-Gm-Message-State: AOAM532qB3vF0XdCwNN7nTxuk6tNnryK28FbCVvqKIfWCWjNJ/ViKbnn 4zkISpwPC3B7kacTgBdXmKFHMmUQmeDwhQ== X-Google-Smtp-Source: ABdhPJyQTz8PWaVMHGQApSmXUITrwBTnUzR1XKFjjajgJoCjyZ+D+AGt/gSRYcByUyDPoUDk2sJctA== X-Received: by 2002:a5d:4a49:: with SMTP id v9mr25367918wrs.128.1624870592136; Mon, 28 Jun 2021 01:56:32 -0700 (PDT) Received: from pi4-davidp.pitowers.org ([2a00:1098:3142:14:1ce1:9965:4328:89c4]) by smtp.gmail.com with ESMTPSA id g7sm10578243wmq.27.2021.06.28.01.56.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Jun 2021 01:56:31 -0700 (PDT) From: David Plowman To: libcamera-devel@lists.libcamera.org Date: Mon, 28 Jun 2021 09:56:28 +0100 Message-Id: <20210628085630.2081-1-david.plowman@raspberrypi.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH 0/2] Application support for per-mode sensitivities 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" Hi everyone Here's that potentially "missing piece" of support for per-mode sensitivities. The question was how an application could get hold of the selected mode's sensitivity before starting the camera, and solution implemented here returns it in the CameraConfiguration object. There are two patches, and they would need to be applied on top of the first set of "per-mode sensitivities" patches. 1. The first patch merely adds a modeSensitivity field to the CameraConfiguration and documents it. 2. The second patch returns the correct value from the Raspberry Pi pipeline handler. I note that if CamHelpers move out of the IPA and over to the pipeline handler, then this could become rather simpler. Thanks in advance for any feedback. Best regards David David Plowman (2): libcamera: camera: add a mode sensitivity field libcamera: raspberrypi: fetch correct value for sensor's modeSensitivity include/libcamera/camera.h | 2 ++ include/libcamera/ipa/raspberrypi.mojom | 7 ++++++- src/ipa/raspberrypi/raspberrypi.cpp | 7 +++++-- src/libcamera/camera.cpp | 16 +++++++++++++++- .../pipeline/raspberrypi/raspberrypi.cpp | 9 ++++++--- 5 files changed, 34 insertions(+), 7 deletions(-)