{"id":20894,"url":"https://patchwork.libcamera.org/api/1.1/patches/20894/?format=json","web_url":"https://patchwork.libcamera.org/patch/20894/","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":"<20240813084451.44099-2-stefan.klug@ideasonboard.com>","date":"2024-08-13T08:44:18","name":"[v4,1/6] libcamera: controls: Update the ColourTemperature control to be writable","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"9622d726f8f42e35b5f1e807ff4c6c441a70e26c","submitter":{"id":184,"url":"https://patchwork.libcamera.org/api/1.1/people/184/?format=json","name":"Stefan Klug","email":"stefan.klug@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/20894/mbox/","series":[{"id":4514,"url":"https://patchwork.libcamera.org/api/1.1/series/4514/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4514","date":"2024-08-13T08:44:17","name":"rkisp1: Add manual colour temperature control","version":4,"mbox":"https://patchwork.libcamera.org/series/4514/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/20894/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/20894/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 37AFFC32A9\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 13 Aug 2024 08:45:08 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id CA016633B5;\n\tTue, 13 Aug 2024 10:45:07 +0200 (CEST)","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 A798B6337E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 13 Aug 2024 10:45:06 +0200 (CEST)","from ideasonboard.com (unknown\n\t[IPv6:2a00:6020:448c:6c00:7025:8d00:1ffd:751a])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id C1EF8827;\n\tTue, 13 Aug 2024 10:44:09 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"EIhAtKy0\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1723538649;\n\tbh=g0EGizF8N6P27EL622ay/ZuWAfTMJgo8pFvqFqDWh+s=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=EIhAtKy0McuoXUjTtSIgRi8Vqmm/Ykl+ta3y39NpLrJTAWamtQ36jw6R3xS0bxV7j\n\tRNL4QSG7O9mdMBNqItf/4AUeTK1Sd2bv2kTKv2bRagrLK95hVCXm5UihUlGs1u6XCT\n\trkGA5+bqpnFg640HoGL4GMmihYgfme5/cLUTlOAU=","From":"Stefan Klug <stefan.klug@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Stefan Klug <stefan.klug@ideasonboard.com>","Subject":"[PATCH v4 1/6] libcamera: controls: Update the ColourTemperature\n\tcontrol to be writable","Date":"Tue, 13 Aug 2024 10:44:18 +0200","Message-ID":"<20240813084451.44099-2-stefan.klug@ideasonboard.com>","X-Mailer":"git-send-email 2.43.0","In-Reply-To":"<20240813084451.44099-1-stefan.klug@ideasonboard.com>","References":"<20240813084451.44099-1-stefan.klug@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":"For manual control it is helpful to be able to specify a fixed colour\ntemperature. It also provides an easy way to apply the temperature\nspecific CCMs and colour gains that are contained in the tuning files.\n\nDocument this and update the control dependencies.\n\nSigned-off-by: Stefan Klug <stefan.klug@ideasonboard.com>\n---\n src/libcamera/control_ids_core.yaml | 24 ++++++++++++++++++++----\n 1 file changed, 20 insertions(+), 4 deletions(-)","diff":"diff --git a/src/libcamera/control_ids_core.yaml b/src/libcamera/control_ids_core.yaml\nindex cf40771d3896..04dcc4af67fc 100644\n--- a/src/libcamera/control_ids_core.yaml\n+++ b/src/libcamera/control_ids_core.yaml\n@@ -252,9 +252,12 @@ controls:\n   - AwbEnable:\n       type: bool\n       description: |\n-        Enable or disable the AWB.\n+        Enable or disable the AWB. Disabling AWB stops updates to the\n+        ColourGains and to the ColourCorrectionMatrix.\n \n+        \\sa ColourCorrectionMatrix\n         \\sa ColourGains\n+        \\sa ColourTemperature\n \n   # AwbMode needs further attention:\n   # - Auto-generate max enum value.\n@@ -309,13 +312,24 @@ controls:\n         disabled.\n \n         \\sa AwbEnable\n+        \\sa ColourTemperature\n       size: [2]\n \n   - ColourTemperature:\n       type: int32_t\n-      description: Report the current estimate of the colour temperature, in\n-        kelvin, for this frame. The ColourTemperature control can only be\n-        returned in metadata.\n+      description: |\n+        Report the current estimate of the colour temperature, in kelvin, for\n+        this frame. An implementation may also allow this control to be set when\n+        AWB is disabled. In that case ColourGains and the ColourCorrectionMatrix\n+        get set accordingly. If either ColourGains or ColourCorrectionMatrix are\n+        specified at the same time, they take precedence.\n+\n+        The metadata will only report measured colour temperature values when\n+        available, even if set manually.\n+\n+        \\sa AwbEnable\n+        \\sa ColourCorrectionMatrix\n+        \\sa ColourGains\n \n   - Saturation:\n       type: float\n@@ -365,6 +379,8 @@ controls:\n         transformation. The 3x3 matrix is stored in conventional reading\n         order in an array of 9 floating point values.\n \n+        \\sa AwbEnable\n+        \\sa ColourTemperature\n       size: [3,3]\n \n   - ScalerCrop:\n","prefixes":["v4","1/6"]}