From patchwork Mon Nov 25 18:03:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Milan Zamazal X-Patchwork-Id: 22083 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 16329BD160 for ; Mon, 25 Nov 2024 18:03:33 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id C5C6E6603A; Mon, 25 Nov 2024 19:03:32 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.b="KsyBHa2T"; dkim-atps=neutral Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 295DE65F7C for ; Mon, 25 Nov 2024 19:03:31 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1732557810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=QNJCpZOST9RzzDb5ZifNelAOmIVM9PCUEa8YDg/JSuU=; b=KsyBHa2TaAMwvv1sgNPjJbTNObc95dreWk5YAEavapgoKJB9IN5wy84rGRI+JeqSxbkbu/ 3PS0GEHrLOTM+FC1A6BJ+sob5Yv8Tjqqh6lWMKLSg8T4oBAYFnexhk77WNMLzluzMjIouV 9+b0a+lwHciBpHgAV8xz8LHolr3l4Pg= Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-661-3Ctdf95PPcqP1hCLdY-AcQ-1; Mon, 25 Nov 2024 13:03:26 -0500 X-MC-Unique: 3Ctdf95PPcqP1hCLdY-AcQ-1 X-Mimecast-MFC-AGG-ID: 3Ctdf95PPcqP1hCLdY-AcQ Received: from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.15]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id DC901195604F; Mon, 25 Nov 2024 18:03:25 +0000 (UTC) Received: from nuthatch.redhat.com (unknown [10.45.224.109]) by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 544551956086; Mon, 25 Nov 2024 18:03:24 +0000 (UTC) From: Milan Zamazal To: libcamera-devel@lists.libcamera.org Cc: Milan Zamazal , Robert Mader Subject: [PATCH v2 2/9] libcamera: software_isp: Store color temperature to metadata Date: Mon, 25 Nov 2024 19:03:03 +0100 Message-ID: <20241125180310.1254519-3-mzamazal@redhat.com> In-Reply-To: <20241125180310.1254519-1-mzamazal@redhat.com> References: <20241125180310.1254519-1-mzamazal@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.15 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: F7ie-uf5Lonkh07CARiSwqLhenozC_U7aTnjoPIlv8U_1732557806 X-Mimecast-Originator: redhat.com 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Image color temperature is a piece of information that should be reported in metadata, let's put it there. Metadata is currently not reported in simple pipeline but we should make at least newly added information ready to be reported. Signed-off-by: Milan Zamazal --- src/ipa/simple/algorithms/awb.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/ipa/simple/algorithms/awb.cpp b/src/ipa/simple/algorithms/awb.cpp index db384c3fa..eef8277fc 100644 --- a/src/ipa/simple/algorithms/awb.cpp +++ b/src/ipa/simple/algorithms/awb.cpp @@ -12,6 +12,8 @@ #include +#include + #include "libipa/colours.h" #include "simple/ipa_context.h" @@ -34,7 +36,7 @@ void Awb::process(IPAContext &context, [[maybe_unused]] const uint32_t frame, [[maybe_unused]] IPAFrameContext &frameContext, const SwIspStats *stats, - [[maybe_unused]] ControlList &metadata) + ControlList &metadata) { const SwIspStats::Histogram &histogram = stats->yHistogram; const uint8_t blackLevel = context.activeState.blc.level; @@ -60,8 +62,10 @@ void Awb::process(IPAContext &context, gains.blue = sumB <= sumG / 4 ? 4.0 : static_cast(sumG) / sumB; /* Green gain is fixed to 1.0 */ - context.activeState.awb.temperatureK = + uint32_t temperature = estimateCCT(1 / gains.red, 1 / gains.green, 1 / gains.blue); + context.activeState.awb.temperatureK = temperature; + metadata.set(controls::ColourTemperature, temperature); LOG(IPASoftAwb, Debug) << "gain R/B: " << gains.red << "/" << gains.blue