Patch Detail
Show a patch.
GET /api/patches/25803/?format=api
{ "id": 25803, "url": "https://patchwork.libcamera.org/api/patches/25803/?format=api", "web_url": "https://patchwork.libcamera.org/patch/25803/", "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": "<20260114173918.1744023-8-kieran.bingham@ideasonboard.com>", "date": "2026-01-14T17:39:07", "name": "[v5,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/people/4/?format=api", "name": "Kieran Bingham", "email": "kieran.bingham@ideasonboard.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/25803/mbox/", "series": [ { "id": 5708, "url": "https://patchwork.libcamera.org/api/series/5708/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5708", "date": "2026-01-14T17:39:00", "name": "libipa: Introduce a Quantized type", "version": 5, "mbox": "https://patchwork.libcamera.org/series/5708/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/25803/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/25803/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 CC18BC32A2\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 14 Jan 2026 17:39:36 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 9419461FBC;\n\tWed, 14 Jan 2026 18:39:31 +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 9E52F61FCC\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 14 Jan 2026 18:39:24 +0100 (CET)", "from Monstersaurus.infra.iob\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 8746A2830;\n\tWed, 14 Jan 2026 18:38:57 +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=\"Y6nvASCE\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1768412337;\n\tbh=VqyQdtobbcbOg0DatNTBqEkmJcihEw3cYOb/Ib1BH7o=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=Y6nvASCEZCeDM2rqTVJWWpkSzsNiArU8t0Dh2kR0fM1W2vOnqutLILpfKejWlko7b\n\tvD51X37olDd53jHUrBBvp8Jd4A1RahhQ2a4fp//6dpPtDgm891jd/NOOcZXqTQQPHX\n\taSnU/lj5jWnebbiRxTnfM8qNwxGmkYu72YAey0Bc=", "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 v5 07/16] ipa: rkisp1: cproc: Report metadata", "Date": "Wed, 14 Jan 2026 17:39:07 +0000", "Message-ID": "<20260114173918.1744023-8-kieran.bingham@ideasonboard.com>", "X-Mailer": "git-send-email 2.52.0", "In-Reply-To": "<20260114173918.1744023-1-kieran.bingham@ideasonboard.com>", "References": "<20260114173918.1744023-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": [ "v5", "07/16" ] }