[{"id":36998,"web_url":"https://patchwork.libcamera.org/comment/36998/","msgid":"<85ikf39yuu.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>","date":"2025-11-21T15:42:01","subject":"Re: [PATCH 19/22] libcamera: software_isp: lut: Make CCM available\n\tin debayer params","submitter":{"id":177,"url":"https://patchwork.libcamera.org/api/people/177/","name":"Milan Zamazal","email":"mzamazal@redhat.com"},"content":"Hi Bryan,\n\nsee\nhttps://lists.libcamera.org/pipermail/libcamera-devel/2025-October/053872.html\n\nBryan O'Donoghue <bryan.odonoghue@linaro.org> writes:\n\n> Provide the CCM calculated in LUT to the debayer params structure for\n> consumption in the debayer shaders.\n>\n> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>\n> ---\n>  include/libcamera/internal/software_isp/debayer_params.h | 7 +++++++\n>  src/ipa/simple/algorithms/lut.cpp                        | 1 +\n>  2 files changed, 8 insertions(+)\n>\n> diff --git a/include/libcamera/internal/software_isp/debayer_params.h b/include/libcamera/internal/software_isp/debayer_params.h\n> index 217cd5d92..019df2048 100644\n> --- a/include/libcamera/internal/software_isp/debayer_params.h\n> +++ b/include/libcamera/internal/software_isp/debayer_params.h\n> @@ -13,6 +13,8 @@\n>  #include <array>\n>  #include <stdint.h>\n>  \n> +#include \"libcamera/internal/matrix.h\"\n> +\n>  namespace libcamera {\n>  \n>  struct DebayerParams {\n> @@ -49,6 +51,11 @@ struct DebayerParams {\n>  \tCcmLookupTable greenCcm;\n>  \tCcmLookupTable blueCcm;\n>  \tLookupTable gammaLut;\n> +\n> +\t/*\n> +\t * Per frame CCM values as calcualted by the IPA\n> +\t */\n> +\tMatrix<float, 3, 3> ccm;\t/**< Per frame colour correction matrix for GPUISP */\n>  };\n>  \n>  } /* namespace libcamera */\n> diff --git a/src/ipa/simple/algorithms/lut.cpp b/src/ipa/simple/algorithms/lut.cpp\n> index d4a79e101..49482d711 100644\n> --- a/src/ipa/simple/algorithms/lut.cpp\n> +++ b/src/ipa/simple/algorithms/lut.cpp\n> @@ -133,6 +133,7 @@ void Lut::prepare(IPAContext &context,\n>  \t\tauto &red = params->redCcm;\n>  \t\tauto &green = params->greenCcm;\n>  \t\tauto &blue = params->blueCcm;\n> +\t\tparams->ccm = ccm;\n>  \t\tfor (unsigned int i = 0; i < DebayerParams::kRGBLookupSize; i++) {\n>  \t\t\tred[i].r = ccmValue(i, ccm[0][0]);\n>  \t\t\tred[i].g = ccmValue(i, ccm[1][0]);","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 555ABC3333\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 21 Nov 2025 15:42:11 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8943D60A81;\n\tFri, 21 Nov 2025 16:42:10 +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 D0A1860805\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 21 Nov 2025 16:42:08 +0100 (CET)","from mail-wm1-f69.google.com (mail-wm1-f69.google.com\n\t[209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS\n\t(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n\tus-mta-335-dHuyVcGoNYy5Bq-UWiCW2g-1; Fri, 21 Nov 2025 10:42:04 -0500","by mail-wm1-f69.google.com with SMTP id\n\t5b1f17b1804b1-477a11d9e67so16826135e9.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 21 Nov 2025 07:42:04 -0800 (PST)","from mzamazal-thinkpadp1gen7.tpbc.csb\n\t(ip-77-48-47-2.net.vodafone.cz. [77.48.47.2])\n\tby smtp.gmail.com with ESMTPSA id\n\t5b1f17b1804b1-477bf1df392sm51263365e9.1.2025.11.21.07.42.02\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tFri, 21 Nov 2025 07:42:02 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=redhat.com header.i=@redhat.com\n\theader.b=\"COfkWc3A\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1763739727;\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\tin-reply-to:in-reply-to:references:references;\n\tbh=csqvT9voufN1t+Jf0a7V+7SyEVUj+acUXlJKDl80ZyY=;\n\tb=COfkWc3AlJi8+0d40s7mGWlyVz0yh0t0/cTccFhEHD/IYcM0jLglCucCt7JQMpolpq/VDF\n\tXdd4j4p8cZxZOlE13LtibI3zR32PmR9IkyjmSQJ6QkTTa+GEWrTAmS3gNVHvt+0M974FuV\n\tOEgwjxEEciRlc+0MhDZJsOXD0JlpAjc=","X-MC-Unique":"dHuyVcGoNYy5Bq-UWiCW2g-1","X-Mimecast-MFC-AGG-ID":"dHuyVcGoNYy5Bq-UWiCW2g_1763739723","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1763739723; x=1764344523;\n\th=mime-version:user-agent:message-id:date:references:in-reply-to\n\t:subject:cc:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject\n\t:date:message-id:reply-to;\n\tbh=csqvT9voufN1t+Jf0a7V+7SyEVUj+acUXlJKDl80ZyY=;\n\tb=EmLkjPRkAp/jINu4xcISGm2zDgKutLK/WyHfmUzfziNEqi5oE2zqixNNevZDVDJPPx\n\tUUKqR6dBCmAEHAEt3QWGlzAnCLbkZxjBAAFx0WsZGbeXdgRGFne6MN+MkyVf22i3zViV\n\tO/2UNngGCUPUPOVNLdtk1gX0dRBQPgXNjrMU8DdtDzramGkRiGYZzlJNOvaj4Qa8cSsS\n\tUB/8+0MAyi1WCPjzysBxfdNCv7RvXP1PFf/arWPqL5pJpfjWkvuEFUNHC7mJDvsfhMkW\n\tMHwJYNycr/dBuhx07UgrdY4j+zIZ7wzuQDr7JPHJ3RkGd0z39GpC5vAo9UIOl+GUMmax\n\tmElQ==","X-Gm-Message-State":"AOJu0YyH/1hHvOp1jlQFoHdrTa3fjTh1Ctpua9p3z84mSz4/p5V+/JqZ\n\tHFb7gSuOHYhroqwiXP0tlcxmpdKSbJCS1vfv3uKUk0/QmVPo/FGTUwa9F6YUth/JytxjBX86yDH\n\tkNT+NSdFSN9Ps2XQRRweQipmAXRSVb1Rx52QIIoGzkg2BC+RPWDmEjtXw/kNzlnGj8HiPVMvsdL\n\tI=","X-Gm-Gg":"ASbGncukNwKHY5cnoSx6vp5oaZP+t26v7TfK49Rytr8nOZW7peMJapoCkM50Er1OpXd\n\t4/C+fQ1yRzug+GU+WsRHx9k9gDo10aRFlMkZrMqBolpMCpcBA7rePs6jsgHzm+sDFsvEiXWZ0PI\n\tOAOPn0usgrpZ8HE/2J3onVgW6JelLeqh8j8IdWZX+PJC2cWb53+MAXLn+u/l6o0RdzaJDHRMVQH\n\t7MHFpo60246XZ83vXjHLCBajvWPZBlIkTZB4jcAL/+HuzwwAfqdDdZGX7Up8sWnHrMCH44rnq7P\n\t9kxvFRmva+6z3Hs61+CxFr9LubjggdD1MwMUWWgRH7/jLR3hZTgfXo20ehxpnv9i70LYQ6T70mx\n\tny6/L+GUX5ICajurEqE41QZUxRxupLl9KaaZMptG5b5snuSkKmRAILfLuMF+8ujE=","X-Received":["by 2002:a05:600c:3b86:b0:477:7ae0:cd6e with SMTP id\n\t5b1f17b1804b1-477c10c8038mr25953335e9.5.1763739723139; \n\tFri, 21 Nov 2025 07:42:03 -0800 (PST)","by 2002:a05:600c:3b86:b0:477:7ae0:cd6e with SMTP id\n\t5b1f17b1804b1-477c10c8038mr25953135e9.5.1763739722776; \n\tFri, 21 Nov 2025 07:42:02 -0800 (PST)"],"X-Google-Smtp-Source":"AGHT+IGliqpIdf+X7+CBs6sLwIuMR+BDXs4DauLrLcFmqu/Vnak/LZgslwUP8N/HfHniaNotNtJyxA==","From":"Milan Zamazal <mzamazal@redhat.com>","To":"Bryan O'Donoghue <bryan.odonoghue@linaro.org>","Cc":"libcamera-devel@lists.libcamera.org,  pavel@ucw.cz","Subject":"Re: [PATCH 19/22] libcamera: software_isp: lut: Make CCM available\n\tin debayer params","In-Reply-To":"<20251120232019.3590-20-bryan.odonoghue@linaro.org> (Bryan\n\tO'Donoghue's message of \"Thu, 20 Nov 2025 23:20:16 +0000\")","References":"<20251120232019.3590-1-bryan.odonoghue@linaro.org>\n\t<20251120232019.3590-20-bryan.odonoghue@linaro.org>","Date":"Fri, 21 Nov 2025 16:42:01 +0100","Message-ID":"<85ikf39yuu.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>","User-Agent":"Gnus/5.13 (Gnus v5.13)","MIME-Version":"1.0","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"McXYdQbIb3kLeWi1jHSDbAyx3Bh4cR3bqDSSwDe1dHA_1763739723","X-Mimecast-Originator":"redhat.com","Content-Type":"text/plain","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>"}},{"id":36999,"web_url":"https://patchwork.libcamera.org/comment/36999/","msgid":"<85ecpr9ymc.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>","date":"2025-11-21T15:47:07","subject":"Re: [PATCH 19/22] libcamera: software_isp: lut: Make CCM available\n\tin debayer params","submitter":{"id":177,"url":"https://patchwork.libcamera.org/api/people/177/","name":"Milan Zamazal","email":"mzamazal@redhat.com"},"content":"Milan Zamazal <mzamazal@redhat.com> writes:\n\n> Hi Bryan,\n>\n> see\n> https://lists.libcamera.org/pipermail/libcamera-devel/2025-October/053872.html\n\nSorry, wrong link, it should have been\nhttps://lists.libcamera.org/pipermail/libcamera-devel/2025-June/050886.html\n\n> Bryan O'Donoghue <bryan.odonoghue@linaro.org> writes:\n>\n>> Provide the CCM calculated in LUT to the debayer params structure for\n>> consumption in the debayer shaders.\n>>\n>> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>\n>> ---\n>>  include/libcamera/internal/software_isp/debayer_params.h | 7 +++++++\n>>  src/ipa/simple/algorithms/lut.cpp                        | 1 +\n>>  2 files changed, 8 insertions(+)\n>>\n>> diff --git a/include/libcamera/internal/software_isp/debayer_params.h b/include/libcamera/internal/software_isp/debayer_params.h\n>> index 217cd5d92..019df2048 100644\n>> --- a/include/libcamera/internal/software_isp/debayer_params.h\n>> +++ b/include/libcamera/internal/software_isp/debayer_params.h\n>> @@ -13,6 +13,8 @@\n>>  #include <array>\n>>  #include <stdint.h>\n>>  \n>> +#include \"libcamera/internal/matrix.h\"\n>> +\n>>  namespace libcamera {\n>>  \n>>  struct DebayerParams {\n>> @@ -49,6 +51,11 @@ struct DebayerParams {\n>>  \tCcmLookupTable greenCcm;\n>>  \tCcmLookupTable blueCcm;\n>>  \tLookupTable gammaLut;\n>> +\n>> +\t/*\n>> +\t * Per frame CCM values as calcualted by the IPA\n>> +\t */\n>> +\tMatrix<float, 3, 3> ccm;\t/**< Per frame colour correction matrix for GPUISP */\n>>  };\n>>  \n>>  } /* namespace libcamera */\n>> diff --git a/src/ipa/simple/algorithms/lut.cpp b/src/ipa/simple/algorithms/lut.cpp\n>> index d4a79e101..49482d711 100644\n>> --- a/src/ipa/simple/algorithms/lut.cpp\n>> +++ b/src/ipa/simple/algorithms/lut.cpp\n>> @@ -133,6 +133,7 @@ void Lut::prepare(IPAContext &context,\n>>  \t\tauto &red = params->redCcm;\n>>  \t\tauto &green = params->greenCcm;\n>>  \t\tauto &blue = params->blueCcm;\n>> +\t\tparams->ccm = ccm;\n>>  \t\tfor (unsigned int i = 0; i < DebayerParams::kRGBLookupSize; i++) {\n>>  \t\t\tred[i].r = ccmValue(i, ccm[0][0]);\n>>  \t\t\tred[i].g = ccmValue(i, ccm[1][0]);","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 78504C3335\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 21 Nov 2025 15:47:17 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 7C75360A9E;\n\tFri, 21 Nov 2025 16:47:16 +0100 (CET)","from us-smtp-delivery-124.mimecast.com\n\t(us-smtp-delivery-124.mimecast.com [170.10.133.124])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 66F4E60805\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 21 Nov 2025 16:47:14 +0100 (CET)","from mail-wr1-f69.google.com (mail-wr1-f69.google.com\n\t[209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS\n\t(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n\tus-mta-86-kCVoSh0dPQmFDDT0TtYYyg-1; Fri, 21 Nov 2025 10:47:11 -0500","by mail-wr1-f69.google.com with SMTP id\n\tffacd0b85a97d-42b30184be7so1072552f8f.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 21 Nov 2025 07:47:11 -0800 (PST)","from mzamazal-thinkpadp1gen7.tpbc.csb\n\t(ip-77-48-47-2.net.vodafone.cz. [77.48.47.2])\n\tby smtp.gmail.com with ESMTPSA id\n\tffacd0b85a97d-42cb7f49a7bsm11559737f8f.19.2025.11.21.07.47.08\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tFri, 21 Nov 2025 07:47:08 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=redhat.com header.i=@redhat.com\n\theader.b=\"OZmz+fzE\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1763740033;\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\tin-reply-to:in-reply-to:references:references;\n\tbh=p6YTStnjX/YBtmAbiwjaP6qaP6Xjx/oUascg1aqoeDQ=;\n\tb=OZmz+fzES/U7fC5vhvEkhW37utHgtNYiYW0Es99T87Ei52ojKmzCi/myy57Rlok5grRnSh\n\t4QPtW3i+txWSSQiVisAFkD6sHG0hEWWrubUwq/3Kjc995ieECK+EiFcZgRo6DFAhD/H/cW\n\tKRRIUUlmglzNn+z23+Scr6bfpnjqW08=","X-MC-Unique":"kCVoSh0dPQmFDDT0TtYYyg-1","X-Mimecast-MFC-AGG-ID":"kCVoSh0dPQmFDDT0TtYYyg_1763740031","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1763740029; x=1764344829;\n\th=mime-version:user-agent:message-id:date:references:in-reply-to\n\t:subject:cc:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject\n\t:date:message-id:reply-to;\n\tbh=p6YTStnjX/YBtmAbiwjaP6qaP6Xjx/oUascg1aqoeDQ=;\n\tb=W9THuEKMqwm2veGBFBv1IDuLyCkBBumU3KEdCKLroXD3Wyv7MtCabPPjBoVi72dB4Z\n\tbhkL5hFm+1nXTQN5+hNQ49d06xuQZ4emqXwc2HeNSJWJtnxdXt5qkNul6uiuESZKMicz\n\tneMY3iWj4m69h7H7TlnR2pXPfd6iIoDknD6Wb5UHXnr2slWLd36bk8UxNPD/Zpyp3Lu3\n\tztJpS2Dpz9k6AuHwakVDZw1h6NG7bLRmH+vWDLvSYUYD5z9SEHkG9hUWVXCHmRVu3TbY\n\tWOHKX3FrULV/39RUzuBAhZxgiNJPmDeJxWLLU/+rbx0U39inSgQiAHZa317YWs3IvnrH\n\tUjFg==","X-Gm-Message-State":"AOJu0Yxnejy3ocNQM0CyJ/EY6S9Jmcw2Qu1dNY+hewt7Ay44DVGnTiHe\n\tmO4fnplrMOSNLT2xfQUIw4fHUnU1IjATNhgdpqW12aFjDip5LL/WPuoxzSaKWX15/4G+ScEEJ1M\n\tr6hVdcXdwA88lPxdSs043hlAQrjIEiITG54BrHVCApEYp3o3I7CI63zTTYLklYIAfqJfhVhqPrv\n\ts=","X-Gm-Gg":"ASbGncuhVlJ0ZOvYzglfqyKhiGnMyVYlYuMABvHMja5HPSSKcnzG9ri5k4ZgbMOxxRD\n\t5FCsi5M3BZPWFWVOUXL8GUlWWMNhvbLtOSRf2aeZ1nX6zGwKqmkKCuyv1D2l8OevmG8resW65Wt\n\ts7gFt7rbRhc/VAwtBRBRoLhy/KMl4RUX5EFKylMWp5kpLt9lRYsBkCxub7TSBs0gT5cyuaRCQdE\n\tYktnhlDu4cGqbK8FtZ6QrXGFvJafcHRvOH4rSvTmRWLUaV9PLRoGAyMKFqkHLRn2MJXtk7ut8vL\n\tZTlugMPfjSbIc1zBv9emdPnYMq4U2Jha7klcjND4aWRVHdGE+2ytzfhYpOfcNo/6KXV+E4TP8xx\n\tybvPNEv6RUQDEKw5XZX8E0jCX+MpzfJGVUbIiClFu6wimODtxvxfwnia7EtPgMxE=","X-Received":["by 2002:a5d:5850:0:b0:42b:3746:3b86 with SMTP id\n\tffacd0b85a97d-42cc1d61bd1mr2946954f8f.54.1763740029312; \n\tFri, 21 Nov 2025 07:47:09 -0800 (PST)","by 2002:a5d:5850:0:b0:42b:3746:3b86 with SMTP id\n\tffacd0b85a97d-42cc1d61bd1mr2946930f8f.54.1763740028821; \n\tFri, 21 Nov 2025 07:47:08 -0800 (PST)"],"X-Google-Smtp-Source":"AGHT+IHj52eqiZtjri/+djDM6OItqr1vRIy1CNyyVtOmJnhdoKNlE/hlsSEqKLvPtSov7Jhglz/d+Q==","From":"Milan Zamazal <mzamazal@redhat.com>","To":"Bryan O'Donoghue <bryan.odonoghue@linaro.org>","Cc":"libcamera-devel@lists.libcamera.org,  pavel@ucw.cz","Subject":"Re: [PATCH 19/22] libcamera: software_isp: lut: Make CCM available\n\tin debayer params","In-Reply-To":"<85ikf39yuu.fsf@mzamazal-thinkpadp1gen7.tpbc.csb> (Milan\n\tZamazal's message of \"Fri, 21 Nov 2025 16:42:01 +0100\")","References":"<20251120232019.3590-1-bryan.odonoghue@linaro.org>\n\t<20251120232019.3590-20-bryan.odonoghue@linaro.org>\n\t<85ikf39yuu.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>","Date":"Fri, 21 Nov 2025 16:47:07 +0100","Message-ID":"<85ecpr9ymc.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>","User-Agent":"Gnus/5.13 (Gnus v5.13)","MIME-Version":"1.0","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"jVx2DCnoPY5wG-R0vthUUGWpyCK64ruEqAX7xlr-g-k_1763740031","X-Mimecast-Originator":"redhat.com","Content-Type":"text/plain","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>"}}]