Patch Detail
Show a patch.
GET /api/1.1/patches/14650/?format=api
{ "id": 14650, "url": "https://patchwork.libcamera.org/api/1.1/patches/14650/?format=api", "web_url": "https://patchwork.libcamera.org/patch/14650/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/1.1/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20211119111654.68445-2-jeanmichel.hautbois@ideasonboard.com>", "date": "2021-11-19T11:16:47", "name": "[libcamera-devel,v1,1/8] ipa: rkisp1: Pass IPASettings at init call", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "0894a5acbe324c45dd0d480924f0caf81f4f79e0", "submitter": { "id": 75, "url": "https://patchwork.libcamera.org/api/1.1/people/75/?format=api", "name": "Jean-Michel Hautbois", "email": "jeanmichel.hautbois@ideasonboard.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/14650/mbox/", "series": [ { "id": 2735, "url": "https://patchwork.libcamera.org/api/1.1/series/2735/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=2735", "date": "2021-11-19T11:16:46", "name": "Introduce AGC for RkISP1", "version": 1, "mbox": "https://patchwork.libcamera.org/series/2735/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/14650/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/14650/checks/", "tags": {}, "headers": { "Return-Path": "<libcamera-devel-bounces@lists.libcamera.org>", "X-Original-To": "parsemail@patchwork.libcamera.org", "Delivered-To": "parsemail@patchwork.libcamera.org", "Received": [ "from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 26D84C324F\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 19 Nov 2021 11:17:04 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id F2C6B603C2;\n\tFri, 19 Nov 2021 12:17:02 +0100 (CET)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9F4C560233\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 19 Nov 2021 12:16:59 +0100 (CET)", "from tatooine.ideasonboard.com (unknown\n\t[IPv6:2a01:e0a:169:7140:db30:8e54:a96:9838])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 4C3581C19;\n\tFri, 19 Nov 2021 12:16:59 +0100 (CET)" ], "Authentication-Results": "lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"q6ll+eDI\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1637320619;\n\tbh=brE+Bfy873jsRdIG1pEdUtihwUkm/680lVM2HL+3/Jg=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=q6ll+eDIcEMaQuPqmOUk/pEt+orsMKcf01IuKeEJDUkp9LUZWy7HmMVT8o7y/dN3b\n\t5554yRyxr5gVFNmUQaaynUXlclWJk8dmbgc3ik1ceTVd0AW1dnodMcoyDs13+YD0Rg\n\tEblcSkJ9Gztc3mTV2CGkElsr/erP+WZDPl3I5YhQ=", "From": "Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Fri, 19 Nov 2021 12:16:47 +0100", "Message-Id": "<20211119111654.68445-2-jeanmichel.hautbois@ideasonboard.com>", "X-Mailer": "git-send-email 2.32.0", "In-Reply-To": "<20211119111654.68445-1-jeanmichel.hautbois@ideasonboard.com>", "References": "<20211119111654.68445-1-jeanmichel.hautbois@ideasonboard.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH v1 1/8] ipa: rkisp1: Pass IPASettings at\n\tinit call", "X-BeenThere": "libcamera-devel@lists.libcamera.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "<libcamera-devel.lists.libcamera.org>", "List-Unsubscribe": "<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>", "List-Archive": "<https://lists.libcamera.org/pipermail/libcamera-devel/>", "List-Post": "<mailto:libcamera-devel@lists.libcamera.org>", "List-Help": "<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>", "List-Subscribe": "<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "When the IPA will be initialized, it will need to know the sensor model\nused in order to properly call CameraSensorHelper for the analogue gain.\nModify the init definition in the pipeline handler and in the IPA as\nwell as the mojo interface to pass a IPASettings.\n\nSigned-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>\n---\n include/libcamera/ipa/rkisp1.mojom | 4 +++-\n src/ipa/rkisp1/rkisp1.cpp | 5 +++--\n src/libcamera/pipeline/rkisp1/rkisp1.cpp | 9 +++++----\n 3 files changed, 11 insertions(+), 7 deletions(-)", "diff": "diff --git a/include/libcamera/ipa/rkisp1.mojom b/include/libcamera/ipa/rkisp1.mojom\nindex cae757ea..a6991d4f 100644\n--- a/include/libcamera/ipa/rkisp1.mojom\n+++ b/include/libcamera/ipa/rkisp1.mojom\n@@ -29,7 +29,9 @@ struct RkISP1Action {\n };\n \n interface IPARkISP1Interface {\n-\tinit(uint32 hwRevision) => (int32 ret);\n+\tinit(libcamera.IPASettings settings,\n+\t uint32 hwRevision)\n+\t\t=> (int32 ret);\n \tstart() => (int32 ret);\n \tstop();\n \ndiff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp\nindex bf2c13b6..7ecbf8ae 100644\n--- a/src/ipa/rkisp1/rkisp1.cpp\n+++ b/src/ipa/rkisp1/rkisp1.cpp\n@@ -34,7 +34,7 @@ namespace ipa::rkisp1 {\n class IPARkISP1 : public IPARkISP1Interface\n {\n public:\n-\tint init(unsigned int hwRevision) override;\n+\tint init(const IPASettings &settings, unsigned int hwRevision) override;\n \tint start() override;\n \tvoid stop() override {}\n \n@@ -75,7 +75,8 @@ private:\n \tunsigned int hwHistogramWeightGridsSize_;\n };\n \n-int IPARkISP1::init(unsigned int hwRevision)\n+int IPARkISP1::init([[maybe_unused]] const IPASettings &settings,\n+\t\t unsigned int hwRevision)\n {\n \t/* \\todo Add support for other revisions */\n \tswitch (hwRevision) {\ndiff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\nindex 98008862..db8856d3 100644\n--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n@@ -88,7 +88,7 @@ public:\n \t}\n \n \tPipelineHandlerRkISP1 *pipe();\n-\tint loadIPA(unsigned int hwRevision);\n+\tint loadIPA(const IPASettings &settings, unsigned int hwRevision);\n \n \tStream mainPathStream_;\n \tStream selfPathStream_;\n@@ -310,7 +310,7 @@ PipelineHandlerRkISP1 *RkISP1CameraData::pipe()\n \treturn static_cast<PipelineHandlerRkISP1 *>(Camera::Private::pipe());\n }\n \n-int RkISP1CameraData::loadIPA(unsigned int hwRevision)\n+int RkISP1CameraData::loadIPA(const IPASettings &settings, unsigned int hwRevision)\n {\n \tipa_ = IPAManager::createIPA<ipa::rkisp1::IPAProxyRkISP1>(pipe(), 1, 1);\n \tif (!ipa_)\n@@ -319,7 +319,7 @@ int RkISP1CameraData::loadIPA(unsigned int hwRevision)\n \tipa_->queueFrameAction.connect(this,\n \t\t\t\t &RkISP1CameraData::queueFrameAction);\n \n-\tint ret = ipa_->init(hwRevision);\n+\tint ret = ipa_->init(settings, hwRevision);\n \tif (ret < 0) {\n \t\tLOG(RkISP1, Error) << \"IPA initialization failure\";\n \t\treturn ret;\n@@ -965,7 +965,8 @@ int PipelineHandlerRkISP1::createCamera(MediaEntity *sensor)\n \tisp_->frameStart.connect(data->delayedCtrls_.get(),\n \t\t\t\t &DelayedControls::applyControls);\n \n-\tret = data->loadIPA(media_->hwRevision());\n+\tret = data->loadIPA(IPASettings{ \"\", data->sensor_->model() },\n+\t\t\t media_->hwRevision());\n \tif (ret)\n \t\treturn ret;\n \n", "prefixes": [ "libcamera-devel", "v1", "1/8" ] }