Patch Detail
Show a patch.
GET /api/1.1/patches/25914/?format=api
{ "id": 25914, "url": "https://patchwork.libcamera.org/api/1.1/patches/25914/?format=api", "web_url": "https://patchwork.libcamera.org/patch/25914/", "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": "<20260121173737.376113-8-kieran.bingham@ideasonboard.com>", "date": "2026-01-21T17:37:26", "name": "[v6,07/16] ipa: rkisp1: cproc: Report metadata", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "92fcf61379a06c2e194ae8e0885ed1a377e7eeac", "submitter": { "id": 4, "url": "https://patchwork.libcamera.org/api/1.1/people/4/?format=api", "name": "Kieran Bingham", "email": "kieran.bingham@ideasonboard.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/25914/mbox/", "series": [ { "id": 5730, "url": "https://patchwork.libcamera.org/api/1.1/series/5730/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5730", "date": "2026-01-21T17:37:19", "name": "libipa: Introduce a Quantized type", "version": 6, "mbox": "https://patchwork.libcamera.org/series/5730/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/25914/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/25914/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 C317CBDCBF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 21 Jan 2026 17:37:56 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 610DA61FF7;\n\tWed, 21 Jan 2026 18:37:53 +0100 (CET)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B9A2261FD4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 21 Jan 2026 18:37:43 +0100 (CET)", "from Monstersaurus.hippo-penny.ts.net\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id ADB451E5A;\n\tWed, 21 Jan 2026 18:37:11 +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=\"RfuwBHOB\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1769017031;\n\tbh=VqyQdtobbcbOg0DatNTBqEkmJcihEw3cYOb/Ib1BH7o=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=RfuwBHOBmJIC34YgrqxTpcpkfk/wFLsXTlGQx9UMMjAa3DYQyF5l7Rv9jr/nXcC4U\n\tL/Ut2b0t2p3ki+cAwUB+5z3nVeP/P8H0nRpAYzfLlxnA8rPOkLKjqRmxte65iuMNYE\n\thd/+b/Lw2jtFA//17fSOd6zmUuzkXsdOKSySjKaA=", "From": "Kieran Bingham <kieran.bingham@ideasonboard.com>", "To": "libcamera devel <libcamera-devel@lists.libcamera.org>", "Cc": "Kieran Bingham <kieran.bingham@ideasonboard.com>, Isaac Scott\n\t<isaac.scott@ideasonboard.com>, =?utf-8?q?Barnab=C3=A1s_P=C5=91cze?=\n\t<barnabas.pocze@ideasonboard.com>, Laurent Pinchart\n\t<laurent.pinchart@ideasonboard.com>", "Subject": "[PATCH v6 07/16] ipa: rkisp1: cproc: Report metadata", "Date": "Wed, 21 Jan 2026 17:37:26 +0000", "Message-ID": "<20260121173737.376113-8-kieran.bingham@ideasonboard.com>", "X-Mailer": "git-send-email 2.52.0", "In-Reply-To": "<20260121173737.376113-1-kieran.bingham@ideasonboard.com>", "References": "<20260121173737.376113-1-kieran.bingham@ideasonboard.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "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\nReviewed-by: Isaac Scott <isaac.scott@ideasonboard.com>\nReviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\nSigned-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n---\n\nv5:\n- Fix line wraps\n\nSigned-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n---\n src/ipa/rkisp1/algorithms/cproc.cpp | 14 ++++++++++++++\n src/ipa/rkisp1/algorithms/cproc.h | 4 ++++\n 2 files changed, 18 insertions(+)", "diff": "diff --git a/src/ipa/rkisp1/algorithms/cproc.cpp b/src/ipa/rkisp1/algorithms/cproc.cpp\nindex 4374c08c2a4f..e9e2b5444bc9 100644\n--- a/src/ipa/rkisp1/algorithms/cproc.cpp\n+++ b/src/ipa/rkisp1/algorithms/cproc.cpp\n@@ -143,6 +143,20 @@ 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,\n+\t\t\t [[maybe_unused]] const uint32_t frame,\n+\t\t\t IPAFrameContext &frameContext,\n+\t\t\t [[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": [ "v6", "07/16" ] }