Patch Detail
Show a patch.
GET /api/patches/24827/?format=api
{ "id": 24827, "url": "https://patchwork.libcamera.org/api/patches/24827/?format=api", "web_url": "https://patchwork.libcamera.org/patch/24827/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/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": "<20251026233048.175689-5-kieran.bingham@ideasonboard.com>", "date": "2025-10-26T23:30:41", "name": "[4/6] ipa: rkisp1: cproc: Report metadata", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "b052b26192a365423b294a836b7af291935a1f40", "submitter": { "id": 4, "url": "https://patchwork.libcamera.org/api/people/4/?format=api", "name": "Kieran Bingham", "email": "kieran.bingham@ideasonboard.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/24827/mbox/", "series": [ { "id": 5532, "url": "https://patchwork.libcamera.org/api/series/5532/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5532", "date": "2025-10-26T23:30:37", "name": "libipa: Introduce a Quantized type", "version": 1, "mbox": "https://patchwork.libcamera.org/series/5532/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/24827/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/24827/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 BB61FBE080\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun, 26 Oct 2025 23:31:04 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 352AC60756;\n\tMon, 27 Oct 2025 00:31:00 +0100 (CET)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 7F86F606E9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 27 Oct 2025 00:30:54 +0100 (CET)", "from charm.hippo-penny.ts.net (unknown [209.38.108.23])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 1A0AB1661;\n\tMon, 27 Oct 2025 00:29:07 +0100 (CET)" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"YbdaoOOG\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1761521347;\n\tbh=RuIDESQUBiZB1UO6fuAvGg5sdBF5b7pkHvg/3Mbpqig=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=YbdaoOOGrVBn2GJEgYWZsVKWVoEF2dkY1ki5e8j5RwyD0L4zhalk5yUhiflZegBAS\n\twDK+s1tzqXtF/1PVBN3Qfv8ntBfZpse+f4ERzSE09ugF9E0SAlugWgPkZwQKVWBr+i\n\tfAyx1Et9LcRom1RtaTVvTOe5jecVBBTIlgiuRNFk=", "From": "Kieran Bingham <kieran.bingham@ideasonboard.com>", "To": "libcamera devel <libcamera-devel@lists.libcamera.org>", "Cc": "Kieran Bingham <kieran.bingham@ideasonboard.com>", "Subject": "[PATCH 4/6] ipa: rkisp1: cproc: Report metadata", "Date": "Sun, 26 Oct 2025 23:30:41 +0000", "Message-ID": "<20251026233048.175689-5-kieran.bingham@ideasonboard.com>", "X-Mailer": "git-send-email 2.51.0", "In-Reply-To": "<20251026233048.175689-1-kieran.bingham@ideasonboard.com>", "References": "<20251026233048.175689-1-kieran.bingham@ideasonboard.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "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": "Presently the colour processing component exposes controls for\nbrightness, saturation, and contrast to the applications which are\nhandled and processed accordingly on the ISP.\n\nThe implementation lacks reporting the values that are set back to the\napplication.\n\nUtilise the new Quantised types to provide the values that were applied\nto the hardware and report them in the completed request metadata.\n\nSigned-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n---\n src/ipa/rkisp1/algorithms/cproc.cpp | 12 ++++++++++++\n src/ipa/rkisp1/algorithms/cproc.h | 4 ++++\n 2 files changed, 16 insertions(+)", "diff": "diff --git a/src/ipa/rkisp1/algorithms/cproc.cpp b/src/ipa/rkisp1/algorithms/cproc.cpp\nindex 44c0fb8425de..d19d808cce4d 100644\n--- a/src/ipa/rkisp1/algorithms/cproc.cpp\n+++ b/src/ipa/rkisp1/algorithms/cproc.cpp\n@@ -184,6 +184,18 @@ void ColorProcessing::prepare([[maybe_unused]] IPAContext &context,\n \tconfig->sat = frameContext.cproc.saturation.quantized();\n }\n \n+/**\n+ * \\copydoc libcamera::ipa::Algorithm::process\n+ */\n+void ColorProcessing::process([[maybe_unused]] IPAContext &context, [[maybe_unused]] const uint32_t frame,\n+\t\t\t IPAFrameContext &frameContext, [[maybe_unused]] const rkisp1_stat_buffer *stats,\n+\t\t\t ControlList &metadata)\n+{\n+\tmetadata.set(controls::Brightness, frameContext.cproc.brightness.value());\n+\tmetadata.set(controls::Contrast, frameContext.cproc.contrast.value());\n+\tmetadata.set(controls::Saturation, frameContext.cproc.saturation.value());\n+}\n+\n REGISTER_IPA_ALGORITHM(ColorProcessing, \"ColorProcessing\")\n \n } /* namespace ipa::rkisp1::algorithms */\ndiff --git a/src/ipa/rkisp1/algorithms/cproc.h b/src/ipa/rkisp1/algorithms/cproc.h\nindex fd38fd17e8bb..9b589ebd4ad7 100644\n--- a/src/ipa/rkisp1/algorithms/cproc.h\n+++ b/src/ipa/rkisp1/algorithms/cproc.h\n@@ -30,6 +30,10 @@ public:\n \tvoid prepare(IPAContext &context, const uint32_t frame,\n \t\t IPAFrameContext &frameContext,\n \t\t RkISP1Params *params) override;\n+\tvoid process(IPAContext &context, const uint32_t frame,\n+\t\t IPAFrameContext &frameContext,\n+\t\t const rkisp1_stat_buffer *stats,\n+\t\t ControlList &metadata) override;\n };\n \n } /* namespace ipa::rkisp1::algorithms */\n", "prefixes": [ "4/6" ] }