{"id":22421,"url":"https://patchwork.libcamera.org/api/1.1/patches/22421/?format=json","web_url":"https://patchwork.libcamera.org/patch/22421/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20241219211010.103310-4-mzamazal@redhat.com>","date":"2024-12-19T21:10:08","name":"[v2,3/5] ipa: simple: Report the ColourGains in metadata","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"9a759b25b17c7d455d7b257a706b6c051a6f427e","submitter":{"id":177,"url":"https://patchwork.libcamera.org/api/1.1/people/177/?format=json","name":"Milan Zamazal","email":"mzamazal@redhat.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/22421/mbox/","series":[{"id":4920,"url":"https://patchwork.libcamera.org/api/1.1/series/4920/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4920","date":"2024-12-19T21:10:05","name":"ipa: simple: Introduce metadata reporting","version":2,"mbox":"https://patchwork.libcamera.org/series/4920/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/22421/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/22421/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 7C464BD7D8\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 19 Dec 2024 21:10:38 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1621F68482;\n\tThu, 19 Dec 2024 22:10:38 +0100 (CET)","from us-smtp-delivery-124.mimecast.com\n\t(us-smtp-delivery-124.mimecast.com [170.10.129.124])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 73C7068483\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 19 Dec 2024 22:10:34 +0100 (CET)","from mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com\n\t(ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63])\n\tby relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n\tcipher=TLS_AES_256_GCM_SHA384) id us-mta-621-Sf7AasC2MxKcMdqrigOChA-1;\n\tThu, 19 Dec 2024 16:10:30 -0500","from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com\n\t(mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\tkey-exchange X25519 server-signature RSA-PSS (2048 bits)\n\tserver-digest SHA256) (No client certificate requested)\n\tby mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix)\n\twith ESMTPS id 0F0BE19560A1; Thu, 19 Dec 2024 21:10:29 +0000 (UTC)","from nuthatch.redhat.com (unknown [10.45.224.37])\n\tby mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix)\n\twith ESMTP id A229E30044C1; Thu, 19 Dec 2024 21:10:27 +0000 (UTC)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=redhat.com header.i=@redhat.com\n\theader.b=\"S8nKrmQJ\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1734642633;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\tto:to:cc:cc:mime-version:mime-version:content-type:content-type:\n\tcontent-transfer-encoding:content-transfer-encoding:\n\tin-reply-to:in-reply-to:references:references;\n\tbh=Q88QYC47SQ9p6s7ro2hqAMhJcn/ZImIqRmqY0+UKbfU=;\n\tb=S8nKrmQJFdLqkTMhgzkENy4HmGA3tT6T0Yt2OPSGh6vpqaeAKiRD4TpWz3xC6RmSlf8v64\n\tpglzlJfz2FRSkJtRk6FX8vEa45FKxO9ROHNHf7lVnABCC9vURElQD/OSYzWy3x+1i10FUx\n\tJnrjJm1Qu/kHCfDqgWTYrdtmKftlTag=","X-MC-Unique":"Sf7AasC2MxKcMdqrigOChA-1","X-Mimecast-MFC-AGG-ID":"Sf7AasC2MxKcMdqrigOChA","From":"Milan Zamazal <mzamazal@redhat.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Kieran Bingham <kieran.bingham@ideasonboard.com>,\n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>","Subject":"[PATCH v2 3/5] ipa: simple: Report the ColourGains in metadata","Date":"Thu, 19 Dec 2024 22:10:08 +0100","Message-ID":"<20241219211010.103310-4-mzamazal@redhat.com>","In-Reply-To":"<20241219211010.103310-1-mzamazal@redhat.com>","References":"<20241219211010.103310-1-mzamazal@redhat.com>","MIME-Version":"1.0","X-Scanned-By":"MIMEDefang 3.4.1 on 10.30.177.4","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"N7-ru4cm-XJC-Oi0slSkttkxrofu5B0-IJt_eWqjTpQ_1734642629","X-Mimecast-Originator":"redhat.com","Content-Transfer-Encoding":"8bit","content-type":"text/plain; charset=\"US-ASCII\"; x-default=true","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":"From: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\nProvide the determined colour gains back into the metadata\nto add to completed requests.\n\nMetadata must be set before computing the new gain values in order to\nreport the metadata used to process the image rather than the metadata\ndetermined from the image (and to be used for processing the next\nimage).\n\nSigned-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n---\n src/ipa/simple/algorithms/awb.cpp | 11 +++++++++--\n 1 file changed, 9 insertions(+), 2 deletions(-)","diff":"diff --git a/src/ipa/simple/algorithms/awb.cpp b/src/ipa/simple/algorithms/awb.cpp\nindex 195de41d..95ff4434 100644\n--- a/src/ipa/simple/algorithms/awb.cpp\n+++ b/src/ipa/simple/algorithms/awb.cpp\n@@ -14,6 +14,8 @@\n \n #include \"simple/ipa_context.h\"\n \n+#include \"control_ids.h\"\n+\n namespace libcamera {\n \n LOG_DEFINE_CATEGORY(IPASoftAwb)\n@@ -33,10 +35,16 @@ void Awb::process(IPAContext &context,\n \t\t  [[maybe_unused]] const uint32_t frame,\n \t\t  [[maybe_unused]] IPAFrameContext &frameContext,\n \t\t  const SwIspStats *stats,\n-\t\t  [[maybe_unused]] ControlList &metadata)\n+\t\t  ControlList &metadata)\n {\n \tconst SwIspStats::Histogram &histogram = stats->yHistogram;\n \tconst uint8_t blackLevel = context.activeState.blc.level;\n+\tauto &gains = context.activeState.gains;\n+\n+\tconst float maxGain = 1024.0;\n+\tconst float mdGains[] = { static_cast<float>(gains.red / maxGain),\n+\t\t\t\t  static_cast<float>(gains.blue / maxGain) };\n+\tmetadata.set(controls::ColourGains, mdGains);\n \n \t/*\n \t * Black level must be subtracted to get the correct AWB ratios, they\n@@ -54,7 +62,6 @@ void Awb::process(IPAContext &context,\n \t * Calculate red and blue gains for AWB.\n \t * Clamp max gain at 4.0, this also avoids 0 division.\n \t */\n-\tauto &gains = context.activeState.gains;\n \tgains.red = sumR <= sumG / 4 ? 4.0 : static_cast<double>(sumG) / sumR;\n \tgains.blue = sumB <= sumG / 4 ? 4.0 : static_cast<double>(sumG) / sumB;\n \t/* Green gain is fixed to 1.0 */\n","prefixes":["v2","3/5"]}