[{"id":38793,"web_url":"https://patchwork.libcamera.org/comment/38793/","msgid":"<46d8b5a3-9438-470c-b36c-3189b3372cd3@oss.qualcomm.com>","date":"2026-05-07T19:00:29","subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","submitter":{"id":242,"url":"https://patchwork.libcamera.org/api/people/242/","name":"Hans de Goede","email":"johannes.goede@oss.qualcomm.com"},"content":"Hi Javier,\n\nOn 7-May-26 18:03, Javier Tia wrote:\n> Add a tuning file for the OV2740 sensor calibrated from the Intel IPU6\n> AIQB binary (OV2740_CJFLE23_ADL.aiqb) shipped with the Lenovo ThinkPad\n> X1 Carbon Gen 10 (Alder Lake, JP2 module, Chicony CJFLE23 camera).\n\nOh, you extracted these from the AIQB file that is very useful.\n\nCan you share a script or some AIQB format documentation so we can\ndo the same for other sensors ?\n\nRegards.\n\nHans\n\n\n\n\n> \n> Black level is 0x40 at 10-bit (64 ADU), stored as the 16-bit value 4096\n> per the BlackLevel algorithm convention (value >> 8 = 16 at 8-bit scale).\n> \n> AWB gain limits are derived from the minimum R/G and B/G chromaticities\n> across the 8 calibrated illuminants (2319 K to 6302 K), with a 10%\n> headroom margin: maxGainR=2.49, maxGainB=3.07.\n> \n> Eight CCMs are extracted from the AIQB advanced color matrix records\n> (record id=25, float format), covering illuminants from 2319 K\n> (incandescent) to 6302 K (daylight).\n> \n> Signed-off-by: Javier Tia <floss@jetm.me>\n> ---\n>  src/ipa/simple/data/meson.build |  1 +\n>  src/ipa/simple/data/ov2740.yaml | 52 +++++++++++++++++++++++++++++++++\n>  2 files changed, 53 insertions(+)\n>  create mode 100644 src/ipa/simple/data/ov2740.yaml\n> \n> diff --git a/src/ipa/simple/data/meson.build b/src/ipa/simple/data/meson.build\n> index 92795ee4..e3e4de74 100644\n> --- a/src/ipa/simple/data/meson.build\n> +++ b/src/ipa/simple/data/meson.build\n> @@ -1,6 +1,7 @@\n>  # SPDX-License-Identifier: CC0-1.0\n>  \n>  conf_files = files([\n> +    'ov2740.yaml',\n>      'uncalibrated.yaml',\n>  ])\n>  \n> diff --git a/src/ipa/simple/data/ov2740.yaml b/src/ipa/simple/data/ov2740.yaml\n> new file mode 100644\n> index 00000000..da7e1efe\n> --- /dev/null\n> +++ b/src/ipa/simple/data/ov2740.yaml\n> @@ -0,0 +1,52 @@\n> +# SPDX-License-Identifier: CC0-1.0\n> +# Calibrated from OV2740_CJFLE23_ADL.aiqb (Lenovo JP2 module, IPU6 ADL)\n> +%YAML 1.1\n> +---\n> +version: 1\n> +algorithms:\n> +  - BlackLevel:\n> +      blackLevel: 4096\n> +  - Awb:\n> +      maxGainR: 2.49\n> +      maxGainB: 3.07\n> +      speed: 0.25\n> +  - Ccm:\n> +      ccms:\n> +        - ct: 2319\n> +          ccm: [  1.5938, -0.1714, -0.4224,\n> +                 -0.6134,  1.9612, -0.3478,\n> +                 -0.4710, -1.8500,  3.3210 ]\n> +        - ct: 2854\n> +          ccm: [  1.6119, -0.3132, -0.2987,\n> +                 -0.4418,  1.8227, -0.3809,\n> +                 -0.1017, -1.3958,  2.4975 ]\n> +        - ct: 2884\n> +          ccm: [  1.7739, -0.6655, -0.1085,\n> +                 -0.4113,  1.6619, -0.2506,\n> +                 -0.0150, -1.1661,  2.1811 ]\n> +        - ct: 3239\n> +          ccm: [  1.8298, -0.6636, -0.1662,\n> +                 -0.4086,  1.7373, -0.3287,\n> +                 -0.0500, -1.0836,  2.1335 ]\n> +        - ct: 3865\n> +          ccm: [  1.8836, -0.7430, -0.1406,\n> +                 -0.3653,  1.7000, -0.3348,\n> +                 -0.0542, -0.8442,  1.8984 ]\n> +        - ct: 4136\n> +          ccm: [  1.9043, -0.8348, -0.0695,\n> +                 -0.3241,  1.6389, -0.3148,\n> +                  0.0262, -0.9593,  1.9332 ]\n> +        - ct: 4939\n> +          ccm: [  1.6371, -0.4490, -0.1881,\n> +                 -0.2675,  1.6494, -0.3819,\n> +                 -0.0245, -0.7782,  1.8026 ]\n> +        - ct: 6302\n> +          ccm: [  1.6401, -0.4418, -0.1984,\n> +                 -0.2360,  1.7191, -0.4832,\n> +                 -0.0248, -0.7221,  1.7469 ]\n> +  - Adjust:\n> +      gamma: 2.2\n> +      contrast: 1.0\n> +      saturation: 1.0\n> +  - Agc:\n> +...","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 0F241BDCB5\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  7 May 2026 19:00:38 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 09F4162FEC;\n\tThu,  7 May 2026 21:00:38 +0200 (CEST)","from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com\n\t[205.220.168.131])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C935B62FE1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  7 May 2026 21:00:35 +0200 (CEST)","from pps.filterd (m0279864.ppops.net [127.0.0.1])\n\tby mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n\t647HJeea1971735 for <libcamera-devel@lists.libcamera.org>;\n\tThu, 7 May 2026 19:00:34 GMT","from mail-vs1-f71.google.com (mail-vs1-f71.google.com\n\t[209.85.217.71])\n\tby mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e0tej9q6j-1\n\t(version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 07 May 2026 19:00:33 +0000 (GMT)","by mail-vs1-f71.google.com with SMTP id\n\tada2fe7eead31-631289505b8so729954137.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 07 May 2026 12:00:33 -0700 (PDT)","from ?IPV6:2001:1c00:c32:7800:5bfa:a036:83f0:f9ec?\n\t(2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl.\n\t[2001:1c00:c32:7800:5bfa:a036:83f0:f9ec])\n\tby smtp.gmail.com with ESMTPSA id\n\ta640c23a62f3a-bca583c5f67sm17774466b.53.2026.05.07.12.00.30\n\t(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n\tThu, 07 May 2026 12:00:31 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=qualcomm.com header.i=@qualcomm.com\n\theader.b=\"o5tT1/+Z\"; dkim=pass (2048-bit key;\n\tunprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n\theader.b=\"gwGPf94N\"; dkim-atps=neutral","DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=\n\tcc:content-transfer-encoding:content-type:date:from:in-reply-to\n\t:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=\n\thhMVkWMzM8WMIiVPc3rlwlGpi5xKeZKo9FMaKEs3lvQ=; b=o5tT1/+ZW/Bj2aaH\n\t+JM7whDCh2uFAq3V4zAlINbf3a9Cfs5f+shU9I4sIRjFT2WGPp3EwKF19USapQKh\n\tehx9Ma3SNH1Ypdxz1kgycZUUMP5x4HWzsoJeOC8VgJaAD7+6P24pu06IzsCy2Zp2\n\tU4hKz4P7VLCOWskBdtXTOBqjJ4x5M3DzlVDYVwpIrCcrMKQ2/t6aSSne2f1RelMd\n\tNaW2a8yPiUpSvS0mdmlaqs7n3/9AJ2+wkSQQHwEJiV5BoUgZn1nAVXesd1+VBbJ/\n\tJ5RF3YFBb0/bSgI1bbxo5BmakupsjfFzUIV1N04POSw9TD1tPYg0m6llot3Q/yPZ\n\tESvTEg==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=oss.qualcomm.com; s=google; t=1778180433; x=1778785233;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:in-reply-to:content-language:references\n\t:cc:to:subject:from:user-agent:mime-version:date:message-id:from:to\n\t:cc:subject:date:message-id:reply-to;\n\tbh=hhMVkWMzM8WMIiVPc3rlwlGpi5xKeZKo9FMaKEs3lvQ=;\n\tb=gwGPf94NtpZe43H9nXa5SaK6XtGQzQI+F+Fv0w5mDTdoq/hROzPzD6a8wWNDzlvwgH\n\t8/6fGp0bmvRGvkrRC9utYCCVpDMggftDFEl34WCCwaXc9qqcYzCBPOlr6bN6uPXjalRT\n\trKxjQp9mNBpXAax0pPUeJA08B5AX9bbua5osLjJYeUdg9mEZhjmhSx9ErprlplEdGKsa\n\tM9a4ddBZxFrYMOb30Tm+K2r9OMGfPtIFcGIazS1e9+61BSw9vueoAy4jmQdH21yJX6jU\n\tyeRob+nvOUt4Oy2EWFHJwvyuYpkkIEYXJ7AQlS6VpAXHvAUIWiyD5fyiYVC8uLx+BMys\n\tu5nQ=="],"X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20251104; t=1778180433; x=1778785233;\n\th=content-transfer-encoding:in-reply-to:content-language:references\n\t:cc:to:subject:from:user-agent:mime-version:date:message-id:x-gm-gg\n\t:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n\tbh=hhMVkWMzM8WMIiVPc3rlwlGpi5xKeZKo9FMaKEs3lvQ=;\n\tb=XnKuCa/WiE7NCGsdn1Z98Fop3Spe9v1TgxNDlpFHgkoyGupSPGw1ywWMYDDzYMnSXi\n\t2RV4pcys3lY2kQDLaeIUDS2d28+OFbiL9WQJgSBW7QF/D2Ob3wdf/rj17haKQrI9Kogv\n\tVcKkNFSqbh4ZvXRFOSehforTrWRo7xlqi1iRAlQBKpJWFHu1/oxQh8yKsxVrT/9V0IB+\n\t1EzlZHN9uyN3wFfi0oz2NSbkRNRoZgtEUZ83HiVaB4Jvrw2Z2CtV7nDl+IqsGrT3wpOs\n\tOQj8WH9r3IunLOW/MYnEUHifhz9GNzMQU0H3KaVfZwK1sTtoVUVMPZVo0uYFoUb5iDlk\n\tt3Xw==","X-Forwarded-Encrypted":"i=1;\n\tAFNElJ/Fz/EEDLymKAtTpGmYN9XfSMo33b0xSXdoIMP3N11USo283xwvJSmOsNeaxQl4am8XzzOPnafYz3fywYO2uPo=@lists.libcamera.org","X-Gm-Message-State":"AOJu0Yy3lIVTuF6ePLz/bUUgy/OxYsCqYJSFlBaGyBnD3N68igC6ntlK\n\t1m/dd0Rp/g3UN1wuTwrWr+RQjx2cRcD4dDG9fZdo6v/r+KzTJYupkaLVsPkVCvfjqMYrzboxNo4\n\tnaGPnXztwhDsuVf3OaguubmeJTyAf78RbNOgD7qOoPdgNL8JYJ5lWTVKEu18MhyBH0P8znFd760\n\trq","X-Gm-Gg":"AeBDietQya9lLWUqqv9NWmozEVuu5Wwpw+n4sdUp7dEHPKO5ELkd4EGXsPGrC4dW/Yg\n\t86MOg9rSFG9hEed+IWw9Vf7UHsrH/hweuipHbAsHaOskx5/LmRZ08w7U57aV3XvTA3db/T37C1k\n\tDa9mqe0iLQuu3GkZxFG4V2z8Fs8zp4m7myXkT76+haLZX8ti6+H5GbKYLQxc3gbmfwnBS5nCeN9\n\t6SQRLKCkn1aykgvXT0VyuhR+oijM1mZca3HWEGthpw2AIZGpO3xgfb5G8d8pOPnjshOBEVXP+me\n\tdbghjZrNrsF3qWbqKf9IjqWcaY1ZhL2SfDlHU26LieCVxLltxOtZaoa9pRliaTPbXRYvuAq6s8b\n\tbnbI/8EFX29HFewCCUN11yU56TTdBX85G5GHwwK1Sm7ylSd+GG68BqQg9044y8N3F5QAFPyz0hz\n\t9ri16iQBglfX0Wro1UaNELaDCoum9cL/z8YHZvsi+ulZiRubWwWo3zSaROXV+ZdPfKiv3EhHl+P\n\tJIY4qpf6oV0HwaO","X-Received":["by 2002:a05:6102:5813:b0:605:558d:c7c2 with SMTP id\n\tada2fe7eead31-630f8ee258fmr4792848137.12.1778180432916; \n\tThu, 07 May 2026 12:00:32 -0700 (PDT)","by 2002:a05:6102:5813:b0:605:558d:c7c2 with SMTP id\n\tada2fe7eead31-630f8ee258fmr4792828137.12.1778180432236; \n\tThu, 07 May 2026 12:00:32 -0700 (PDT)"],"Message-ID":"<46d8b5a3-9438-470c-b36c-3189b3372cd3@oss.qualcomm.com>","Date":"Thu, 7 May 2026 21:00:29 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","From":"johannes.goede@oss.qualcomm.com","Subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","To":"Javier Tia <floss@jetm.me>, libcamera-devel@lists.libcamera.org","Cc":"mzamazal@redhat.com, kieran.bingham@ideasonboard.com,\n\trobert.mader@collabora.com, laurent.pinchart@ideasonboard.com","References":"<177817025814.1112523.8335692307235726369@jetm.me>\n\t<20260507161103.3D1441EA006B@mailuser.phl.internal>","Content-Language":"en-US, nl","In-Reply-To":"<20260507161103.3D1441EA006B@mailuser.phl.internal>","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"7bit","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNTA3MDE5MiBTYWx0ZWRfXwSVc4Y+RTlGY\n\tIe30DECBjgIuGdpu9fH0IC3YGeIdg+lbAGOj9gtcWfzXD6rQE0s6cRSvpfql/+iYgIQNt71acOO\n\t6ry4/l/SgNSBZRoEytBvzEVRW3xw9MMlTbkcGDhqoUggtcF3n+Bz6F4GgX5ROzLryt6idLjdpFw\n\tzcbGyKYrxI+2FonN6OEoDwVeXM+16QePp0SB1WfvNB8N6JIuE72vEIF8f//meMX2kJD0dO+6TvH\n\tHyVtKErxfWlTJFISXBK+XMevLeWP3So8fGdmyBuD1rNUTKF8vtqjZy3F+HLti/IeWNNhPOWIMs7\n\tvqGzEnn3WW6i0b17w1e0W1C0FiB6Oa7pBp4R6O9pou5KEEawFNwoZo/kif8T06uy9YElnWfHR2R\n\tMpcb+hJAVcHZhMyLiTwZ8/DqLzUoIFTVLF4Nz0o0YLcMxkAylGMH3XQNo4wiFqV5Pxiuw1/EfSQ\n\tAP6EGPg/jfryJJQkRow==","X-Proofpoint-GUID":"MDszc__N3DTQC7V57Iw4AtzeZqfI9xxb","X-Authority-Analysis":"v=2.4 cv=VNbtWdPX c=1 sm=1 tr=0 ts=69fce151 cx=c_pps\n\ta=P2rfLEam3zuxRRdjJWA2cw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10\n\ta=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22\n\ta=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22\n\ta=HBJ2ZFSt0O3zDxgPyNYA:9\n\ta=QEXdDO2ut3YA:10 a=ODZdjJIeia2B_SHc_B0f:22","X-Proofpoint-ORIG-GUID":"MDszc__N3DTQC7V57Iw4AtzeZqfI9xxb","X-Proofpoint-Virus-Version":"vendor=baseguard\n\tengine=ICAP:2.0.293, Aquarius:18.0.1143, Hydra:6.1.51,\n\tFMLib:17.12.100.49\n\tdefinitions=2026-05-07_02,2026-05-06_01,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n\tclxscore=1015 spamscore=0 impostorscore=0 priorityscore=1501\n\tmalwarescore=0\n\tbulkscore=0 lowpriorityscore=0 phishscore=0 suspectscore=0\n\tadultscore=0\n\tclassifier=typeunknown authscore=0 authtc= authcc= route=outbound\n\tadjust=0\n\treason=mlx scancount=1 engine=8.22.0-2604200000\n\tdefinitions=main-2605070192","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":38797,"web_url":"https://patchwork.libcamera.org/comment/38797/","msgid":"<9b71bd0b-fd0d-469b-93b4-38b8779ae8ea@ideasonboard.com>","date":"2026-05-08T08:07:26","subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","submitter":{"id":216,"url":"https://patchwork.libcamera.org/api/people/216/","name":"Barnabás Pőcze","email":"barnabas.pocze@ideasonboard.com"},"content":"2026. 05. 07. 18:03 keltezéssel, Javier Tia írta:\n> Add a tuning file for the OV2740 sensor calibrated from the Intel IPU6\n> AIQB binary (OV2740_CJFLE23_ADL.aiqb) shipped with the Lenovo ThinkPad\n> X1 Carbon Gen 10 (Alder Lake, JP2 module, Chicony CJFLE23 camera).\n> \n> Black level is 0x40 at 10-bit (64 ADU), stored as the 16-bit value 4096\n> per the BlackLevel algorithm convention (value >> 8 = 16 at 8-bit scale).\n> \n> AWB gain limits are derived from the minimum R/G and B/G chromaticities\n> across the 8 calibrated illuminants (2319 K to 6302 K), with a 10%\n> headroom margin: maxGainR=2.49, maxGainB=3.07.\n> \n> Eight CCMs are extracted from the AIQB advanced color matrix records\n> (record id=25, float format), covering illuminants from 2319 K\n> (incandescent) to 6302 K (daylight).\n> \n> Signed-off-by: Javier Tia <floss@jetm.me>\n> ---\n\nThis needs certain changes from https://patchwork.libcamera.org/project/libcamera/list/?series=5915,\nbut I don't think this is mentioned anywhere. I believe\n\n   git pw patch apply 26659 --no-deps\n\nis sufficient.\n\nAfter that I can confirm that it does change the image. I'm seeing a lot of \"pink\"\nareas with lights, but guess this is just an issue with the softisp.\n\nBut I'm curious to see the sensor controls in your case, e.g. in a certain scene I have\n\n$ v4l2-ctl -d /dev/v4l-subdev4 -L | grep -E '(exposure|analogue_gain|vertical_blanking)'\n            exposure 0x00980911 (int)    : min=4 max=1102 step=1 default=1102 value=1102 flags=has-min-max\n   vertical_blanking 0x009e0901 (int)    : min=18 max=955 step=1 default=18 value=18 flags=has-min-max\n       analogue_gain 0x009e0903 (int)    : min=128 max=1983 step=1 default=128 value=1983 flags=has-min-max\n\nUnfortunately the vertical blanking is kept at its minimum, and thus the range of exposure\nis not particularly big, so the agc algorithm has a tendency of maxing out the exposure\nalmost immediately, and then it operates with close-to-max analogue gain. I'm wondering\nif the same thing happens in your case as well?\n\n\n>   src/ipa/simple/data/meson.build |  1 +\n>   src/ipa/simple/data/ov2740.yaml | 52 +++++++++++++++++++++++++++++++++\n>   2 files changed, 53 insertions(+)\n>   create mode 100644 src/ipa/simple/data/ov2740.yaml\n> \n> diff --git a/src/ipa/simple/data/meson.build b/src/ipa/simple/data/meson.build\n> index 92795ee4..e3e4de74 100644\n> --- a/src/ipa/simple/data/meson.build\n> +++ b/src/ipa/simple/data/meson.build\n> @@ -1,6 +1,7 @@\n>   # SPDX-License-Identifier: CC0-1.0\n>   \n>   conf_files = files([\n> +    'ov2740.yaml',\n>       'uncalibrated.yaml',\n>   ])\n>   \n> diff --git a/src/ipa/simple/data/ov2740.yaml b/src/ipa/simple/data/ov2740.yaml\n> new file mode 100644\n> index 00000000..da7e1efe\n> --- /dev/null\n> +++ b/src/ipa/simple/data/ov2740.yaml\n> @@ -0,0 +1,52 @@\n> +# SPDX-License-Identifier: CC0-1.0\n> +# Calibrated from OV2740_CJFLE23_ADL.aiqb (Lenovo JP2 module, IPU6 ADL)\n> +%YAML 1.1\n> +---\n> +version: 1\n> +algorithms:\n> +  - BlackLevel:\n> +      blackLevel: 4096\n> +  - Awb:\n> +      maxGainR: 2.49\n> +      maxGainB: 3.07\n> +      speed: 0.25\n> +  - Ccm:\n> +      ccms:\n> +        - ct: 2319\n> +          ccm: [  1.5938, -0.1714, -0.4224,\n> +                 -0.6134,  1.9612, -0.3478,\n> +                 -0.4710, -1.8500,  3.3210 ]\n> +        - ct: 2854\n> +          ccm: [  1.6119, -0.3132, -0.2987,\n> +                 -0.4418,  1.8227, -0.3809,\n> +                 -0.1017, -1.3958,  2.4975 ]\n> +        - ct: 2884\n> +          ccm: [  1.7739, -0.6655, -0.1085,\n> +                 -0.4113,  1.6619, -0.2506,\n> +                 -0.0150, -1.1661,  2.1811 ]\n> +        - ct: 3239\n> +          ccm: [  1.8298, -0.6636, -0.1662,\n> +                 -0.4086,  1.7373, -0.3287,\n> +                 -0.0500, -1.0836,  2.1335 ]\n> +        - ct: 3865\n> +          ccm: [  1.8836, -0.7430, -0.1406,\n> +                 -0.3653,  1.7000, -0.3348,\n> +                 -0.0542, -0.8442,  1.8984 ]\n> +        - ct: 4136\n> +          ccm: [  1.9043, -0.8348, -0.0695,\n> +                 -0.3241,  1.6389, -0.3148,\n> +                  0.0262, -0.9593,  1.9332 ]\n> +        - ct: 4939\n> +          ccm: [  1.6371, -0.4490, -0.1881,\n> +                 -0.2675,  1.6494, -0.3819,\n> +                 -0.0245, -0.7782,  1.8026 ]\n> +        - ct: 6302\n> +          ccm: [  1.6401, -0.4418, -0.1984,\n> +                 -0.2360,  1.7191, -0.4832,\n> +                 -0.0248, -0.7221,  1.7469 ]\n> +  - Adjust:\n> +      gamma: 2.2\n> +      contrast: 1.0\n> +      saturation: 1.0\n> +  - Agc:\n> +...","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 B0758BE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  8 May 2026 08:07:32 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id DACE162FE1;\n\tFri,  8 May 2026 10:07:31 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id ACBB862E6A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  8 May 2026 10:07:30 +0200 (CEST)","from [192.168.33.85] (185.221.140.217.nat.pool.zt.hu\n\t[185.221.140.217])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 7FEBBABF;\n\tFri,  8 May 2026 10:07:25 +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=\"CncXTswp\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1778227646;\n\tbh=Q19OZuxYn6cA/O4eZtj7ZwNQCAYAzUZ6wQl2DVKJhgg=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=CncXTswp2y3nLkIVf1YBb0+Y7GrY/woiwD8sekZs6bY4hdt+LYdH1fmaigsME1KBM\n\thEgpUvdIbLeMIS8DZzw7W5ugFFwBDJbk8QMFpZnj3zUebPZbteBVMxFRSgxSoveK/2\n\t2/6i6ForopVAb6Gev+I2K0cq42Srv1O0htUOL4EQ=","Message-ID":"<9b71bd0b-fd0d-469b-93b4-38b8779ae8ea@ideasonboard.com>","Date":"Fri, 8 May 2026 10:07:26 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","To":"Javier Tia <floss@jetm.me>, libcamera-devel@lists.libcamera.org","Cc":"mzamazal@redhat.com, kieran.bingham@ideasonboard.com,\n\trobert.mader@collabora.com, johannes.goede@oss.qualcomm.com,\n\tlaurent.pinchart@ideasonboard.com","References":"<177817025814.1112523.8335692307235726369@jetm.me>\n\t<20260507161103.3D1441EA006B@mailuser.phl.internal>","From":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Content-Language":"en-US, hu-HU","In-Reply-To":"<20260507161103.3D1441EA006B@mailuser.phl.internal>","Content-Type":"text/plain; charset=UTF-8; format=flowed","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>"}},{"id":38809,"web_url":"https://patchwork.libcamera.org/comment/38809/","msgid":"<177823267803.3304204.10028479958753323977@ping.linuxembedded.co.uk>","date":"2026-05-08T09:31:18","subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Barnabás Pőcze (2026-05-08 09:07:26)\n> 2026. 05. 07. 18:03 keltezéssel, Javier Tia írta:\n> > Add a tuning file for the OV2740 sensor calibrated from the Intel IPU6\n> > AIQB binary (OV2740_CJFLE23_ADL.aiqb) shipped with the Lenovo ThinkPad\n> > X1 Carbon Gen 10 (Alder Lake, JP2 module, Chicony CJFLE23 camera).\n> > \n> > Black level is 0x40 at 10-bit (64 ADU), stored as the 16-bit value 4096\n> > per the BlackLevel algorithm convention (value >> 8 = 16 at 8-bit scale).\n> > \n> > AWB gain limits are derived from the minimum R/G and B/G chromaticities\n> > across the 8 calibrated illuminants (2319 K to 6302 K), with a 10%\n> > headroom margin: maxGainR=2.49, maxGainB=3.07.\n> > \n> > Eight CCMs are extracted from the AIQB advanced color matrix records\n> > (record id=25, float format), covering illuminants from 2319 K\n> > (incandescent) to 6302 K (daylight).\n> > \n> > Signed-off-by: Javier Tia <floss@jetm.me>\n> > ---\n> \n> This needs certain changes from https://patchwork.libcamera.org/project/libcamera/list/?series=5915,\n> but I don't think this is mentioned anywhere. I believe\n> \n>    git pw patch apply 26659 --no-deps\n> \n> is sufficient.\n> \n> After that I can confirm that it does change the image. I'm seeing a lot of \"pink\"\n> areas with lights, but guess this is just an issue with the softisp.\n\nhttps://gitlab.freedesktop.org/camera/libcamera-softisp/-/merge_requests/1\nhas my most up to date branch for the AWB split and saturation fixes for\nthat topic, and the previous version on the list has has some good\nreview comments this week, so I'll try and update and respin a new\nposting next week.\n\n> But I'm curious to see the sensor controls in your case, e.g. in a certain scene I have\n> \n> $ v4l2-ctl -d /dev/v4l-subdev4 -L | grep -E '(exposure|analogue_gain|vertical_blanking)'\n>             exposure 0x00980911 (int)    : min=4 max=1102 step=1 default=1102 value=1102 flags=has-min-max\n>    vertical_blanking 0x009e0901 (int)    : min=18 max=955 step=1 default=18 value=18 flags=has-min-max\n>        analogue_gain 0x009e0903 (int)    : min=128 max=1983 step=1 default=128 value=1983 flags=has-min-max\n> \n> Unfortunately the vertical blanking is kept at its minimum, and thus the range of exposure\n> is not particularly big, so the agc algorithm has a tendency of maxing out the exposure\n> almost immediately, and then it operates with close-to-max analogue gain. I'm wondering\n> if the same thing happens in your case as well?\n\nI think we need to fix this generically in libcamera as it's currently a\npipeline handler/IPA responsibility to manage frame rate and I bet it's\nnot implemented correctly in simple/softISP.\n\nI suspect only RPi and RKISP1 are anywhere close to doing the right things\nhere.\n\nI think we should probably move frame rate handling (and thus blanking\ncontrol) into the CameraSensor or CameraSensorHelper so that we don't\nrepeat code in each IPA, and make that usable by simple/softipa.\n\n\n--\nKieran","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 381F1BE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  8 May 2026 09:31:23 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3ED0F6301E;\n\tFri,  8 May 2026 11:31:22 +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 0547862E6A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  8 May 2026 11:31:20 +0200 (CEST)","from monstersaurus.ideasonboard.com\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 10E1BBCA;\n\tFri,  8 May 2026 11:31:16 +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=\"VTMoY8vp\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1778232676;\n\tbh=HXK4ofHvbuvk4J54Q2DM2/tdeC0U0tbb/XIIaey6MKg=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=VTMoY8vprD/IdP2D0N7VAWpwoAIPKnL27Dvr36uEcm6hVc37WBgAJXngxeRi09qYI\n\tdyGzE12YSwcGk15CDWJrteE58672JfBRrWigpjZy+gOQ+Q6k1Ua0KVN5ieoAVV3iYq\n\tAbi3mC3g9LOxNumds28LbEM7PssHNOFRvOftKZWo=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<9b71bd0b-fd0d-469b-93b4-38b8779ae8ea@ideasonboard.com>","References":"<177817025814.1112523.8335692307235726369@jetm.me>\n\t<20260507161103.3D1441EA006B@mailuser.phl.internal>\n\t<9b71bd0b-fd0d-469b-93b4-38b8779ae8ea@ideasonboard.com>","Subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"mzamazal@redhat.com, robert.mader@collabora.com,\n\tjohannes.goede@oss.qualcomm.com, laurent.pinchart@ideasonboard.com","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>,\n\tJavier Tia <floss@jetm.me>, libcamera-devel@lists.libcamera.org","Date":"Fri, 08 May 2026 10:31:18 +0100","Message-ID":"<177823267803.3304204.10028479958753323977@ping.linuxembedded.co.uk>","User-Agent":"alot/0.9.1","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":38813,"web_url":"https://patchwork.libcamera.org/comment/38813/","msgid":"<20260508093730.GC2176058@killaraus.ideasonboard.com>","date":"2026-05-08T09:37:30","subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Fri, May 08, 2026 at 10:31:18AM +0100, Kieran Bingham wrote:\n> Quoting Barnabás Pőcze (2026-05-08 09:07:26)\n> > 2026. 05. 07. 18:03 keltezéssel, Javier Tia írta:\n> > > Add a tuning file for the OV2740 sensor calibrated from the Intel IPU6\n> > > AIQB binary (OV2740_CJFLE23_ADL.aiqb) shipped with the Lenovo ThinkPad\n> > > X1 Carbon Gen 10 (Alder Lake, JP2 module, Chicony CJFLE23 camera).\n> > > \n> > > Black level is 0x40 at 10-bit (64 ADU), stored as the 16-bit value 4096\n> > > per the BlackLevel algorithm convention (value >> 8 = 16 at 8-bit scale).\n> > > \n> > > AWB gain limits are derived from the minimum R/G and B/G chromaticities\n> > > across the 8 calibrated illuminants (2319 K to 6302 K), with a 10%\n> > > headroom margin: maxGainR=2.49, maxGainB=3.07.\n> > > \n> > > Eight CCMs are extracted from the AIQB advanced color matrix records\n> > > (record id=25, float format), covering illuminants from 2319 K\n> > > (incandescent) to 6302 K (daylight).\n> > > \n> > > Signed-off-by: Javier Tia <floss@jetm.me>\n> > > ---\n> > \n> > This needs certain changes from https://patchwork.libcamera.org/project/libcamera/list/?series=5915,\n> > but I don't think this is mentioned anywhere. I believe\n> > \n> >    git pw patch apply 26659 --no-deps\n> > \n> > is sufficient.\n> > \n> > After that I can confirm that it does change the image. I'm seeing a lot of \"pink\"\n> > areas with lights, but guess this is just an issue with the softisp.\n> \n> https://gitlab.freedesktop.org/camera/libcamera-softisp/-/merge_requests/1\n> has my most up to date branch for the AWB split and saturation fixes for\n> that topic, and the previous version on the list has has some good\n> review comments this week, so I'll try and update and respin a new\n> posting next week.\n> \n> > But I'm curious to see the sensor controls in your case, e.g. in a certain scene I have\n> > \n> > $ v4l2-ctl -d /dev/v4l-subdev4 -L | grep -E '(exposure|analogue_gain|vertical_blanking)'\n> >             exposure 0x00980911 (int)    : min=4 max=1102 step=1 default=1102 value=1102 flags=has-min-max\n> >    vertical_blanking 0x009e0901 (int)    : min=18 max=955 step=1 default=18 value=18 flags=has-min-max\n> >        analogue_gain 0x009e0903 (int)    : min=128 max=1983 step=1 default=128 value=1983 flags=has-min-max\n> > \n> > Unfortunately the vertical blanking is kept at its minimum, and thus the range of exposure\n> > is not particularly big, so the agc algorithm has a tendency of maxing out the exposure\n> > almost immediately, and then it operates with close-to-max analogue gain. I'm wondering\n> > if the same thing happens in your case as well?\n> \n> I think we need to fix this generically in libcamera as it's currently a\n> pipeline handler/IPA responsibility to manage frame rate and I bet it's\n> not implemented correctly in simple/softISP.\n> \n> I suspect only RPi and RKISP1 are anywhere close to doing the right things\n> here.\n> \n> I think we should probably move frame rate handling (and thus blanking\n> control) into the CameraSensor or CameraSensorHelper so that we don't\n> repeat code in each IPA, and make that usable by simple/softipa.\n\nI'm not sure yet where exactly it belongs to, but it should certainly\nnot be duplicated everywhere. The AGC algorithm from libipa is a\ncandidate, CameraSensorHelper may help too but it's only meant to\nprovide information about camera sensors, not to implement algorithms\nand heuristics.","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 3901BBDCBD\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  8 May 2026 09:37:34 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 795CA6302B;\n\tFri,  8 May 2026 11:37:33 +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 8999962E6A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  8 May 2026 11:37:32 +0200 (CEST)","from killaraus.ideasonboard.com\n\t(2001-14ba-70f3-e800--a06.rev.dnainternet.fi\n\t[IPv6:2001:14ba:70f3:e800::a06])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 5FA85BCA;\n\tFri,  8 May 2026 11:37:27 +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=\"h2gmo0AM\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1778233047;\n\tbh=8JKYmFgvJUnKobMaM//No0BABa5/4l1timaOIzxDYkQ=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=h2gmo0AMUGkohUFUffxOAdVLmNSTzUIs9hWML/pfZdReDzpnEMjyKG95bif78LxI2\n\twesaiqXGSuvaGALfQpdiC82VowamrkW1Dt8CmF2r2BcQFz9wCUH0gMlreJlEuvklNr\n\tp1EfWlJ0A5u/yipagG17MSGrUPlPlq5+yTjjhVXQ=","Date":"Fri, 8 May 2026 12:37:30 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>,\n\tJavier Tia <floss@jetm.me>, libcamera-devel@lists.libcamera.org, \n\tmzamazal@redhat.com, robert.mader@collabora.com, \n\tjohannes.goede@oss.qualcomm.com","Subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","Message-ID":"<20260508093730.GC2176058@killaraus.ideasonboard.com>","References":"<177817025814.1112523.8335692307235726369@jetm.me>\n\t<20260507161103.3D1441EA006B@mailuser.phl.internal>\n\t<9b71bd0b-fd0d-469b-93b4-38b8779ae8ea@ideasonboard.com>\n\t<177823267803.3304204.10028479958753323977@ping.linuxembedded.co.uk>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<177823267803.3304204.10028479958753323977@ping.linuxembedded.co.uk>","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":38816,"web_url":"https://patchwork.libcamera.org/comment/38816/","msgid":"<177823371544.3304204.15176017559466690997@ping.linuxembedded.co.uk>","date":"2026-05-08T09:48:35","subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Laurent Pinchart (2026-05-08 10:37:30)\n> On Fri, May 08, 2026 at 10:31:18AM +0100, Kieran Bingham wrote:\n> > Quoting Barnabás Pőcze (2026-05-08 09:07:26)\n> > > 2026. 05. 07. 18:03 keltezéssel, Javier Tia írta:\n> > > > Add a tuning file for the OV2740 sensor calibrated from the Intel IPU6\n> > > > AIQB binary (OV2740_CJFLE23_ADL.aiqb) shipped with the Lenovo ThinkPad\n> > > > X1 Carbon Gen 10 (Alder Lake, JP2 module, Chicony CJFLE23 camera).\n> > > > \n> > > > Black level is 0x40 at 10-bit (64 ADU), stored as the 16-bit value 4096\n> > > > per the BlackLevel algorithm convention (value >> 8 = 16 at 8-bit scale).\n> > > > \n> > > > AWB gain limits are derived from the minimum R/G and B/G chromaticities\n> > > > across the 8 calibrated illuminants (2319 K to 6302 K), with a 10%\n> > > > headroom margin: maxGainR=2.49, maxGainB=3.07.\n> > > > \n> > > > Eight CCMs are extracted from the AIQB advanced color matrix records\n> > > > (record id=25, float format), covering illuminants from 2319 K\n> > > > (incandescent) to 6302 K (daylight).\n> > > > \n> > > > Signed-off-by: Javier Tia <floss@jetm.me>\n> > > > ---\n> > > \n> > > This needs certain changes from https://patchwork.libcamera.org/project/libcamera/list/?series=5915,\n> > > but I don't think this is mentioned anywhere. I believe\n> > > \n> > >    git pw patch apply 26659 --no-deps\n> > > \n> > > is sufficient.\n> > > \n> > > After that I can confirm that it does change the image. I'm seeing a lot of \"pink\"\n> > > areas with lights, but guess this is just an issue with the softisp.\n> > \n> > https://gitlab.freedesktop.org/camera/libcamera-softisp/-/merge_requests/1\n> > has my most up to date branch for the AWB split and saturation fixes for\n> > that topic, and the previous version on the list has has some good\n> > review comments this week, so I'll try and update and respin a new\n> > posting next week.\n> > \n> > > But I'm curious to see the sensor controls in your case, e.g. in a certain scene I have\n> > > \n> > > $ v4l2-ctl -d /dev/v4l-subdev4 -L | grep -E '(exposure|analogue_gain|vertical_blanking)'\n> > >             exposure 0x00980911 (int)    : min=4 max=1102 step=1 default=1102 value=1102 flags=has-min-max\n> > >    vertical_blanking 0x009e0901 (int)    : min=18 max=955 step=1 default=18 value=18 flags=has-min-max\n> > >        analogue_gain 0x009e0903 (int)    : min=128 max=1983 step=1 default=128 value=1983 flags=has-min-max\n> > > \n> > > Unfortunately the vertical blanking is kept at its minimum, and thus the range of exposure\n> > > is not particularly big, so the agc algorithm has a tendency of maxing out the exposure\n> > > almost immediately, and then it operates with close-to-max analogue gain. I'm wondering\n> > > if the same thing happens in your case as well?\n> > \n> > I think we need to fix this generically in libcamera as it's currently a\n> > pipeline handler/IPA responsibility to manage frame rate and I bet it's\n> > not implemented correctly in simple/softISP.\n> > \n> > I suspect only RPi and RKISP1 are anywhere close to doing the right things\n> > here.\n> > \n> > I think we should probably move frame rate handling (and thus blanking\n> > control) into the CameraSensor or CameraSensorHelper so that we don't\n> > repeat code in each IPA, and make that usable by simple/softipa.\n> \n> I'm not sure yet where exactly it belongs to, but it should certainly\n> not be duplicated everywhere. The AGC algorithm from libipa is a\n> candidate, CameraSensorHelper may help too but it's only meant to\n> provide information about camera sensors, not to implement algorithms\n> and heuristics.\n\nFrameRate and blanking control is an aspect that applies to the camera\nregardless of whether there is any AGC algorithm.\n\nSo I don't beleive this belongs in the AGC components. AGC should 'read'\nthe limits from the CameraSensor{,Helper} but they can't change it, only\nwork within the available parameters.\n\n--\nKieran\n\n> \n> -- \n> Regards,\n> \n> Laurent Pinchart","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 3E834BDCBD\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  8 May 2026 09:48:41 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3ADFD6301E;\n\tFri,  8 May 2026 11:48:40 +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 7BB5A62E6A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  8 May 2026 11:48:38 +0200 (CEST)","from monstersaurus.ideasonboard.com\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 86B9DBCA;\n\tFri,  8 May 2026 11:48:33 +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=\"DCNfP1l5\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1778233713;\n\tbh=F0FbId2xAVQI8EbTPmOXtiAV5eoKnzz8jP/UK9hFa18=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=DCNfP1l5n+5NZzG6lMLK43PfmnqhEXfLl4/zSaZ5M0ZJ/1uLuVYYH6D5Ba55cNuRC\n\tClal86TioatYEmHsw2dWq5u4fqb/NmyrPjt7+QWmcmdaCfkQKy53giICxMNaFYgiyh\n\tQb/Ja+2qWYoOoZ9gC3aV4PwzQt7Uei9eNIL19AVs=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20260508093730.GC2176058@killaraus.ideasonboard.com>","References":"<177817025814.1112523.8335692307235726369@jetm.me>\n\t<20260507161103.3D1441EA006B@mailuser.phl.internal>\n\t<9b71bd0b-fd0d-469b-93b4-38b8779ae8ea@ideasonboard.com>\n\t<177823267803.3304204.10028479958753323977@ping.linuxembedded.co.uk>\n\t<20260508093730.GC2176058@killaraus.ideasonboard.com>","Subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>,\n\tJavier Tia <floss@jetm.me>, libcamera-devel@lists.libcamera.org, \n\tmzamazal@redhat.com, robert.mader@collabora.com, \n\tjohannes.goede@oss.qualcomm.com","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Date":"Fri, 08 May 2026 10:48:35 +0100","Message-ID":"<177823371544.3304204.15176017559466690997@ping.linuxembedded.co.uk>","User-Agent":"alot/0.9.1","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":38819,"web_url":"https://patchwork.libcamera.org/comment/38819/","msgid":"<e05fc893-d16f-4a52-8654-0fb54cea879e@ideasonboard.com>","date":"2026-05-08T10:35:44","subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","submitter":{"id":216,"url":"https://patchwork.libcamera.org/api/people/216/","name":"Barnabás Pőcze","email":"barnabas.pocze@ideasonboard.com"},"content":"2026. 05. 08. 11:31 keltezéssel, Kieran Bingham írta:\n> Quoting Barnabás Pőcze (2026-05-08 09:07:26)\n>> 2026. 05. 07. 18:03 keltezéssel, Javier Tia írta:\n>>> Add a tuning file for the OV2740 sensor calibrated from the Intel IPU6\n>>> AIQB binary (OV2740_CJFLE23_ADL.aiqb) shipped with the Lenovo ThinkPad\n>>> X1 Carbon Gen 10 (Alder Lake, JP2 module, Chicony CJFLE23 camera).\n>>>\n>>> Black level is 0x40 at 10-bit (64 ADU), stored as the 16-bit value 4096\n>>> per the BlackLevel algorithm convention (value >> 8 = 16 at 8-bit scale).\n>>>\n>>> AWB gain limits are derived from the minimum R/G and B/G chromaticities\n>>> across the 8 calibrated illuminants (2319 K to 6302 K), with a 10%\n>>> headroom margin: maxGainR=2.49, maxGainB=3.07.\n>>>\n>>> Eight CCMs are extracted from the AIQB advanced color matrix records\n>>> (record id=25, float format), covering illuminants from 2319 K\n>>> (incandescent) to 6302 K (daylight).\n>>>\n>>> Signed-off-by: Javier Tia <floss@jetm.me>\n>>> ---\n>>\n>> This needs certain changes from https://patchwork.libcamera.org/project/libcamera/list/?series=5915,\n>> but I don't think this is mentioned anywhere. I believe\n>>\n>>     git pw patch apply 26659 --no-deps\n>>\n>> is sufficient.\n>>\n>> After that I can confirm that it does change the image. I'm seeing a lot of \"pink\"\n>> areas with lights, but guess this is just an issue with the softisp.\n> \n> https://gitlab.freedesktop.org/camera/libcamera-softisp/-/merge_requests/1\n\nThe awb changes here are not compatible with that, so I removed them.\nAfter a quick try, I think I can say it improves the image, there do\nnot appear to be those pink saturated regions.\n\n\n> has my most up to date branch for the AWB split and saturation fixes for\n> that topic, and the previous version on the list has has some good\n> review comments this week, so I'll try and update and respin a new\n> posting next week.\n> \n>> But I'm curious to see the sensor controls in your case, e.g. in a certain scene I have\n>>\n>> $ v4l2-ctl -d /dev/v4l-subdev4 -L | grep -E '(exposure|analogue_gain|vertical_blanking)'\n>>              exposure 0x00980911 (int)    : min=4 max=1102 step=1 default=1102 value=1102 flags=has-min-max\n>>     vertical_blanking 0x009e0901 (int)    : min=18 max=955 step=1 default=18 value=18 flags=has-min-max\n>>         analogue_gain 0x009e0903 (int)    : min=128 max=1983 step=1 default=128 value=1983 flags=has-min-max\n>>\n>> Unfortunately the vertical blanking is kept at its minimum, and thus the range of exposure\n>> is not particularly big, so the agc algorithm has a tendency of maxing out the exposure\n>> almost immediately, and then it operates with close-to-max analogue gain. I'm wondering\n>> if the same thing happens in your case as well?\n> \n> I think we need to fix this generically in libcamera as it's currently a\n> pipeline handler/IPA responsibility to manage frame rate and I bet it's\n> not implemented correctly in simple/softISP.\n\nI believe vertical blanking is not set at all. But even if I set it beforehand,\nit gets reset somewhere along the way, so the sensor's `ControlInfoMap` will\nstore these lower exposure limits.\n\n\n> \n> I suspect only RPi and RKISP1 are anywhere close to doing the right things\n> here.\n> \n> I think we should probably move frame rate handling (and thus blanking\n> control) into the CameraSensor or CameraSensorHelper so that we don't\n> repeat code in each IPA, and make that usable by simple/softipa.\n> \n> \n> --\n> Kieran","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 AB85BBDCBD\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  8 May 2026 10:35:53 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id CF7E06301A;\n\tFri,  8 May 2026 12:35:52 +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 8C29662FD3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  8 May 2026 12:35:51 +0200 (CEST)","from [192.168.33.85] (185.221.140.217.nat.pool.zt.hu\n\t[185.221.140.217])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 34DE69A4;\n\tFri,  8 May 2026 12:35:45 +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=\"bEAvMH4C\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1778236546;\n\tbh=IFHCrDUmTqpBFE+itL8tEQN39j7JmEOmmFLfRudTKTo=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=bEAvMH4CySWujLcru8kvnJiDIMpwlYA9pCSVcUXQywVle4lXNJeHnZ1PhHTOL32MM\n\trAStiXWYXKMNd0Y0waNNMYviaeGGWVQFZGSssYeWnDizA064If+532iW2lvDakB65l\n\t3agMtpLXBr9cclEeG/eKybBBAkgnZCRPqYEnMA+Q=","Message-ID":"<e05fc893-d16f-4a52-8654-0fb54cea879e@ideasonboard.com>","Date":"Fri, 8 May 2026 12:35:44 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>,\n\tJavier Tia <floss@jetm.me>, libcamera-devel@lists.libcamera.org","Cc":"mzamazal@redhat.com, robert.mader@collabora.com,\n\tjohannes.goede@oss.qualcomm.com, laurent.pinchart@ideasonboard.com","References":"<177817025814.1112523.8335692307235726369@jetm.me>\n\t<20260507161103.3D1441EA006B@mailuser.phl.internal>\n\t<9b71bd0b-fd0d-469b-93b4-38b8779ae8ea@ideasonboard.com>\n\t<177823267803.3304204.10028479958753323977@ping.linuxembedded.co.uk>","From":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Content-Language":"en-US, hu-HU","In-Reply-To":"<177823267803.3304204.10028479958753323977@ping.linuxembedded.co.uk>","Content-Type":"text/plain; charset=UTF-8; format=flowed","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>"}},{"id":38827,"web_url":"https://patchwork.libcamera.org/comment/38827/","msgid":"<20260508171730.0FAA61EA006C@mailuser.phl.internal>","date":"2026-05-08T16:55:00","subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","submitter":{"id":261,"url":"https://patchwork.libcamera.org/api/people/261/","name":"Javier Tia","email":"floss@jetm.me"},"content":"Hi Hans,\n\nOn 7-May-26 19:00, johannes.goede@oss.qualcomm.com wrote:\n> Oh, you extracted these from the AIQB file that is very useful.\n> Can you share a script or some AIQB format documentation so we can\n> do the same for other sensors ?\n\nSure. The AIQB files come from intel/ipu6-camera-hal on GitHub\n(config/linux/ipu6ep/). The format is Intel's ia_mkn_record_header\nchain starting at offset 0x50, where each record carries CCMs,\nsensitivity, and chromaticity data keyed by name_id.\n\nPosted v2 of this series with the parse_aiqb.py script as patch 3/3.\nIt walks the record chain and prints a ready-to-use libcamera YAML\nblock (CCMs, AWB gain limits, black level scaffolding):\n\n  python3 utils/tuning/parse_aiqb.py OV2740_CJFLE23_ADL.aiqb\n\nI also wrote up the format details and the full calibration workflow\non my blog, which Kieran might find useful too:\n\n  https://jetm.github.io/blog/posts/ipu6-aiqb-calibration/\n\nSo far the script has only been exercised on the OV2740 ADL AIQB.\nOther sensors should work if they use record name_id 25 (float CCMs\nwith CCT in Kelvin) or 18 (integer CCMs); the docstring has the\ncaveats. Black level still needs to come from the datasheet or kernel\ndriver - I have not found a reliable place for it inside the AIQB\nchain.\n\nBest,\nJavier","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 85449BE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  8 May 2026 17:17:32 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 4236C6302E;\n\tFri,  8 May 2026 19:17:32 +0200 (CEST)","from fhigh-a8-smtp.messagingengine.com\n\t(fhigh-a8-smtp.messagingengine.com [103.168.172.159])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id D649A6301A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  8 May 2026 19:17:30 +0200 (CEST)","from phl-compute-02.internal (phl-compute-02.internal\n\t[10.202.2.42])\n\tby mailfhigh.phl.internal (Postfix) with ESMTP id 30C641400096;\n\tFri,  8 May 2026 13:17:30 -0400 (EDT)","from phl-imap-07 ([10.202.2.97])\n\tby phl-compute-02.internal (MEProxy); Fri, 08 May 2026 13:17:30 -0400","by mailuser.phl.internal (Postfix, from userid 501)\n\tid 0FAA61EA006C; Fri,  8 May 2026 13:17:30 -0400 (EDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=jetm.me header.i=@jetm.me header.b=\"c36iw6wF\";\n\tdkim=pass (2048-bit key;\n\tunprotected) header.d=messagingengine.com\n\theader.i=@messagingengine.com header.b=\"qV1tKWWz\"; \n\tdkim-atps=neutral","DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=jetm.me; h=cc:cc\n\t:content-transfer-encoding:content-type:content-type:date:date\n\t:from:from:in-reply-to:in-reply-to:message-id:mime-version\n\t:references:reply-to:subject:subject:to:to; s=fm2; t=1778260650;\n\tx=1778347050; bh=p7jBfUpBUhJ3bMt0U9vDndj3D+95/ox8FbIVqwTQic0=; b=\n\tc36iw6wFAvAo0GTJvl7LKP13dbJsfXPWw8RATPjPhY/2UtYL0ncDaVleBsXsdEMR\n\t2+NgU3Oq2fkm5U6rPoxfYrIAwaNGS2F/MIe5KasP+HZmq+N4pGcgg8uPsG3uom12\n\tH2rQ9uN3jrYnax/aeSD3kbe96MgVrJOB0z5gy5ZQjUS5+CSf+noKqDFc+Mzb/o+a\n\txGO+DkFJs5cSRtit74jBLRVqhvwoOxQmttiWloUuPnwUNqLHay9k6jekvYSGNz+j\n\tcaKRUUdyhM5oMY54Y6tlSconMEoJi2vd06ylY+MtG3imkmn8r5M6Q3vp9QQ5T+kM\n\tx9PUFIZiGzlXi8/h8yZgNA==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n\tmessagingengine.com; h=cc:cc:content-transfer-encoding\n\t:content-type:content-type:date:date:feedback-id:feedback-id\n\t:from:from:in-reply-to:in-reply-to:message-id:mime-version\n\t:references:reply-to:subject:subject:to:to:x-me-proxy\n\t:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1778260650; x=\n\t1778347050; bh=p7jBfUpBUhJ3bMt0U9vDndj3D+95/ox8FbIVqwTQic0=; b=q\n\tV1tKWWzQJwGrY2CD9IDjKpD+ArXuFHOC8At57CllHHDPqUQ+b7vBH7/LOJ1a3Erb\n\tR/10KJ+I6+2gRsIuL/YdPsAWBO6xHWNapoEnwfXULy4tNqhJZXLjB/xAge+xeAsM\n\t1pxAKqp+A3Ckv4CRZJ3RMvdAOnfdL2mzqx9KyrnEXm7apytPC7b4cYfSIITlawT+\n\t2YfvX4hGkMMYgLbCCwFNbDlLw1vz8w7pn0FycCMUmL65d/Ufr5Hkkt5RKP3gJAIT\n\tjfrFwKyfRF32EJMfQZjuISEuGsu64y+T2/rREqgjJ8oeC9DYWssxzswBQjdyVGS3\n\tyKnZiwdfU0dFNj8H6HC2A=="],"X-ME-Sender":"<xms:qhr-aaA50J6nEILwI_rX7vsSzL62eZlSHl5Wy55u-wNwMDeBESSL4A>\n\t<xme:qhr-afUcfW03kO9kxZGdkyotVl7Ufldq7U9cBt2x-1kzY2sC5OI36Rvv2HuwnzLtv\n\tctCbhprWor8So4WalHJ5sT9G0IKyhXMa1uGCqKDsN9Vw40nckmnPg>","X-ME-Proxy-Cause":"gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgdduuddtledvucetufdoteggodetrf\n\tdotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu\n\trghilhhouhhtmecufedttdenucgoufhushhpvggtthffohhmrghinhculdegledmnegopf\n\thokfffucdluddtmdenucfjughrpefotggggffhvfffufevjghfsehtkedttdertdejnecu\n\thfhrohhmpeflrghvihgvrhcuvfhirgcuoehflhhoshhssehjvghtmhdrmhgvqeenucggtf\n\tfrrghtthgvrhhnpeduleffieevveefleffveejkedtveeujeetieegjeetveelkedtleev\n\tieehteegueenucffohhmrghinhepghhithhhuhgsrdhiohenucevlhhushhtvghrufhiii\n\tgvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehflhhoshhssehjvghtmhdrmhgvpdhn\n\tsggprhgtphhtthhopeejpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehrohgsvg\n\thrthdrmhgruggvrhestgholhhlrggsohhrrgdrtghomhdprhgtphhtthhopegsrghrnhgr\n\tsggrshdrphhotgiivgesihguvggrshhonhgsohgrrhgurdgtohhmpdhrtghpthhtohepkh\n\thivghrrghnrdgsihhnghhhrghmsehiuggvrghsohhnsghorghrugdrtghomhdprhgtphht\n\tthhopehlrghurhgvnhhtrdhpihhntghhrghrthesihguvggrshhonhgsohgrrhgurdgtoh\n\thmpdhrtghpthhtoheplhhisggtrghmvghrrgdquggvvhgvlheslhhishhtshdrlhhisggt\n\trghmvghrrgdrohhrghdprhgtphhtthhopehjohhhrghnnhgvshdrghhovgguvgesohhssh\n\tdrqhhurghltghomhhmrdgtohhmpdhrtghpthhtohepmhiirghmrgiirghlsehrvgguhhgr\n\tthdrtghomh","X-ME-Proxy":"<xmx:qhr-afrzBi2TdkNEOz-jAcE_8pEudIE53ZCvlpUb1WSFNRdP4c1vqg>\n\t<xmx:qhr-aTvd7XN-zRCWs6-CDYZcx0DKze2KtKTAMaM79kbS5_omvEVrZg>\n\t<xmx:qhr-acGPSKE5Ecf6O9edLM6DR8caiom_MLKpxc7whTiA-3dXDmJilA>\n\t<xmx:qhr-aUaWYU-KMb-lGefyPgoA9KUY9hNqXKC6CpM2TBEF8SFF1naFdw>\n\t<xmx:qhr-ackZp1Gxu4Uq5esijWWptCtLNGsMrSMx5efofBTMTHss3URY054H>","Feedback-ID":"i9dde48b3:Fastmail","X-Mailer":"MessagingEngine.com Webmail Interface","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","From":"Javier Tia <floss@jetm.me>","To":"johannes.goede@oss.qualcomm.com","Date":"Fri, 08 May 2026 10:55:00 -0600","Subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","Cc":"libcamera-devel@lists.libcamera.org, mzamazal@redhat.com,\n\tkieran.bingham@ideasonboard.com, robert.mader@collabora.com,\n\tlaurent.pinchart@ideasonboard.com, barnabas.pocze@ideasonboard.com","In-Reply-To":"<46d8b5a3-9438-470c-b36c-3189b3372cd3@oss.qualcomm.com>","References":"<177817025814.1112523.8335692307235726369@jetm.me>\n\t<20260507161103.3D1441EA006B@mailuser.phl.internal>\n\t<46d8b5a3-9438-470c-b36c-3189b3372cd3@oss.qualcomm.com>","Message-Id":"<20260508171730.0FAA61EA006C@mailuser.phl.internal>","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":38828,"web_url":"https://patchwork.libcamera.org/comment/38828/","msgid":"<20260508171731.CE50C1EA006C@mailuser.phl.internal>","date":"2026-05-08T17:05:44","subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","submitter":{"id":261,"url":"https://patchwork.libcamera.org/api/people/261/","name":"Javier Tia","email":"floss@jetm.me"},"content":"Hi Barnabás,\n\nOn Thu, May 08, 2026 at 12:35:55PM +0200, Barnabás Pőcze wrote:\n> 2026. 05. 08. 11:31 keltezéssel, Kieran Bingham írta:\n> > https://gitlab.freedesktop.org/camera/libcamera-softisp/-/merge_requests/1\n>\n> The awb changes here are not compatible with that, so I removed them.\n> After a quick try, I think I can say it improves the image, there do\n> not appear to be those pink saturated regions.\n\nGlad to hear that confirms it - thanks for testing both branches.\n\n> >> $ v4l2-ctl -d /dev/v4l-subdev4 -L | grep -E '(exposure|analogue_gain|vertical_blanking)'\n> >>              exposure 0x00980911 (int)    : min=4 max=1102 step=1 default=1102 value=1102 flags=has-min-max\n> >>     vertical_blanking 0x009e0901 (int)    : min=18 max=955 step=1 default=18 value=18 flags=has-min-max\n> >>         analogue_gain 0x009e0903 (int)    : min=128 max=1983 step=1 default=128 value=1983 flags=has-min-max\n\nIdentical limits on my end - same exposure ceiling (1102) and vertical\nblanking stuck at minimum. My gain happened to be at 128 (minimum) in\nthe brighter scene I tested:\n\n$ v4l2-ctl -d /dev/v4l-subdev4 -L | grep -E '(exposure|analogue_gain|vertical_blanking)'\n            exposure 0x00980911 (int)    : min=4 max=1102 step=1 default=1102 value=1102 flags=has-min-max\n   vertical_blanking 0x009e0901 (int)    : min=18 max=955 step=1 default=18 value=18 flags=has-min-max\n       analogue_gain 0x009e0903 (int)    : min=128 max=1983 step=1 default=128 value=128 flags=has-min-max\n\n> > I think we need to fix this generically in libcamera as it's currently a\n> > pipeline handler/IPA responsibility to manage frame rate and I bet it's\n> > not implemented correctly in simple/softISP.\n>\n> I believe vertical blanking is not set at all. But even if I set it beforehand,\n> it gets reset somewhere along the way, so the sensor's `ControlInfoMap` will\n> store these lower exposure limits.\n\nThat matches what I see. The ControlInfoMap caching the lower limits\nexplains why the AGC ceiling stays low even after probing. Agree this\nneeds a generic fix as Kieran described, with the sensor/helper layer\nowning blanking and the IPA only reading the resulting bounds.\n\nBest,\nJavier","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 91931BE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  8 May 2026 17:17:34 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 4A1D46303B;\n\tFri,  8 May 2026 19:17:34 +0200 (CEST)","from fout-a6-smtp.messagingengine.com\n\t(fout-a6-smtp.messagingengine.com [103.168.172.149])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A2D5362FE1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  8 May 2026 19:17:32 +0200 (CEST)","from phl-compute-02.internal (phl-compute-02.internal\n\t[10.202.2.42])\n\tby mailfout.phl.internal (Postfix) with ESMTP id F0D35EC0073;\n\tFri,  8 May 2026 13:17:31 -0400 (EDT)","from phl-imap-07 ([10.202.2.97])\n\tby phl-compute-02.internal (MEProxy); Fri, 08 May 2026 13:17:31 -0400","by mailuser.phl.internal (Postfix, from userid 501)\n\tid CE50C1EA006C; Fri,  8 May 2026 13:17:31 -0400 (EDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=jetm.me header.i=@jetm.me header.b=\"FzwquPMb\";\n\tdkim=pass (2048-bit key;\n\tunprotected) header.d=messagingengine.com\n\theader.i=@messagingengine.com header.b=\"drhtVCcp\"; \n\tdkim-atps=neutral","DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=jetm.me; h=cc:cc\n\t:content-transfer-encoding:content-type:content-type:date:date\n\t:from:from:in-reply-to:in-reply-to:message-id:mime-version\n\t:references:reply-to:subject:subject:to:to; s=fm2; t=1778260651;\n\tx=1778347051; bh=89lnE0sJnKFmdFLUO5zp08C5MTsVuPnQhCf+yiq03oM=; b=\n\tFzwquPMb1eP7MAd1AcdCJWu2h/8rXs6e8jwuqjVyo1siHluCIcvQUXw8UQtqdx40\n\tioXv73t6MsJc+HNGFA+r1PTzdmbTd/msMV/MQZYSwOdUuOr/38on7hM2AefqjyPl\n\t06wsO7aU+sIIMS4ZzQz50X9s+LzmbcKjvCEINm59ik4NqV3FlYNTu6pIJ4qx7Nfg\n\tr5u3AuK6dc/NcQIkGVT4/ehxJz9JBssNfVifmL+vkJoGKgnf4Qtr2GgJG0u2GNKU\n\t3aud/ksbrFq/c0YtDg/uCMomtOPIX1zM4oEhGwMVuxeqFQgAvVZcr+A/YZN7mWeY\n\tgxizSIleVy5gbipRT39KYw==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n\tmessagingengine.com; h=cc:cc:content-transfer-encoding\n\t:content-type:content-type:date:date:feedback-id:feedback-id\n\t:from:from:in-reply-to:in-reply-to:message-id:mime-version\n\t:references:reply-to:subject:subject:to:to:x-me-proxy\n\t:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1778260651; x=\n\t1778347051; bh=89lnE0sJnKFmdFLUO5zp08C5MTsVuPnQhCf+yiq03oM=; b=d\n\trhtVCcpzxXhEhprmnu/Aks24hsOXesDduQCxEQ0/4A++Up5qocNieEgQek0UHnPv\n\tw5ur3gz+vOvlCkTat2Ny3JWoTbm8VvZbrY+o5a5DEI2edY1XZgeCq8AwvGP3vwON\n\tHnllfJ7AYT5PLmB8ByPuosqJhugH9jeoM6CDIQ4Sxng088uKd1SBg3BGPPUStypZ\n\tqdIkBJQ1uH4j1r80HAcJfrdeCI3anas9pczhi3h+PoEz1XMp52t5t42C8HScoUU4\n\tEmB4S18YPAA1A5fRzaX3BgH15E74nf5p6cCzYqOxxHWeUXGo1PqNEEmSxyaeAKTZ\n\tCptZHUryLTnoO4gbqclfQ=="],"X-ME-Sender":"<xms:qxr-adnA2Qp1VslZseJKiABZ7SCjpw1eKGK5c_dqU9ORKURtc2Jv6A>\n\t<xme:qxr-aTrmlBN8w4jhx128k1yGs24N98MRwOcdF25mAF5n1zmPaT9FvdlrsALl01kuy\n\tgdMFHhIbBGTi9F-5fUoOQJoziaOUen9XJfE0JxTTIppKc8as1ZHTA>","X-ME-Proxy-Cause":"gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgdduuddtledvucetufdoteggodetrf\n\tdotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu\n\trghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnegopf\n\thokfffucdluddtmdenucfjughrpefotggggffhvfffufevjghfsehtkedttdertdejnecu\n\thfhrohhmpeflrghvihgvrhcuvfhirgcuoehflhhoshhssehjvghtmhdrmhgvqeenucggtf\n\tfrrghtthgvrhhnpeduueetjeejffefteelhffhheevveevfffgfedviefgkeevkeduledu\n\theduteegfeenucffohhmrghinhepfhhrvggvuggvshhkthhophdrohhrghenucevlhhush\n\thtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehflhhoshhssehjvght\n\tmhdrmhgvpdhnsggprhgtphhtthhopeejpdhmohguvgepshhmthhpohhuthdprhgtphhtth\n\thopehrohgsvghrthdrmhgruggvrhestgholhhlrggsohhrrgdrtghomhdprhgtphhtthho\n\tpegsrghrnhgrsggrshdrphhotgiivgesihguvggrshhonhgsohgrrhgurdgtohhmpdhrtg\n\thpthhtohepkhhivghrrghnrdgsihhnghhhrghmsehiuggvrghsohhnsghorghrugdrtgho\n\tmhdprhgtphhtthhopehlrghurhgvnhhtrdhpihhntghhrghrthesihguvggrshhonhgsoh\n\tgrrhgurdgtohhmpdhrtghpthhtoheplhhisggtrghmvghrrgdquggvvhgvlheslhhishht\n\tshdrlhhisggtrghmvghrrgdrohhrghdprhgtphhtthhopehjohhhrghnnhgvshdrghhovg\n\tguvgesohhsshdrqhhurghltghomhhmrdgtohhmpdhrtghpthhtohepmhiirghmrgiirghl\n\tsehrvgguhhgrthdrtghomh","X-ME-Proxy":"<xmx:qxr-afPr0jNJ4wooWDBwSEaMMUaBBR4XqpyNjD8jdxvmxnH68AxGTA>\n\t<xmx:qxr-aUAoHCEucx0DiqGmRFbB_2qwnCds8kII1NlF4W7_NsdKjkB4Uw>\n\t<xmx:qxr-aeL-AHRMN5xIhNCYJ6onOvQh0XO-3bO4WXnweHe-PhMDD13xUQ>\n\t<xmx:qxr-aVONLMxV97mvjD3K99UsXhUTsbBlrERSh-CvTeGL45cqki_FEQ>\n\t<xmx:qxr-aYOBWv0p0hewBVik1yAkP43ccMeXb2Cm_959WvHfnNGxVyCYCfCG>","Feedback-ID":"i9dde48b3:Fastmail","X-Mailer":"MessagingEngine.com Webmail Interface","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","From":"Javier Tia <floss@jetm.me>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Date":"Fri, 08 May 2026 11:05:44 -0600","Subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","Cc":"Kieran Bingham <kieran.bingham@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org, mzamazal@redhat.com,\n\trobert.mader@collabora.com, johannes.goede@oss.qualcomm.com,\n\tlaurent.pinchart@ideasonboard.com","In-Reply-To":"<e05fc893-d16f-4a52-8654-0fb54cea879e@ideasonboard.com>","References":"<177817025814.1112523.8335692307235726369@jetm.me>\n\t<20260507161103.3D1441EA006B@mailuser.phl.internal>\n\t<9b71bd0b-fd0d-469b-93b4-38b8779ae8ea@ideasonboard.com>\n\t<177823267803.3304204.10028479958753323977@ping.linuxembedded.co.uk>\n\t<e05fc893-d16f-4a52-8654-0fb54cea879e@ideasonboard.com>","Message-Id":"<20260508171731.CE50C1EA006C@mailuser.phl.internal>","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":38829,"web_url":"https://patchwork.libcamera.org/comment/38829/","msgid":"<20260508171733.94C8F1EA006C@mailuser.phl.internal>","date":"2026-05-08T17:05:44","subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","submitter":{"id":261,"url":"https://patchwork.libcamera.org/api/people/261/","name":"Javier Tia","email":"floss@jetm.me"},"content":"Hi Kieran,\n\nOn Fri, May 08, 2026 at 10:31:18AM +0100, Kieran Bingham wrote:\n> https://gitlab.freedesktop.org/camera/libcamera-softisp/-/merge_requests/1\n> has my most up to date branch for the AWB split and saturation fixes for\n> that topic, and the previous version on the list has has some good\n> review comments this week, so I'll try and update and respin a new\n> posting next week.\n\nGreat, looking forward to it.\n\nOn the AIQB extraction: the format is a chain of ia_mkn_record_header\nstructures from Intel's ipu6-camera-hal[1]. The header definitions\nthere are enough to identify the record IDs (id=25 for float CCMs with\nCCT in Kelvin, id=18 for integer CCMs, id=2 for general params). From\nthere it is straightforward to walk the chain and extract calibration\ndata.\n\nI am sending v2 of the series with the parse_aiqb.py script as patch\n3/3, and wrote up the format details and full calibration workflow on\nmy blog:\n\n  https://jetm.github.io/blog/posts/ipu6-aiqb-calibration/\n\n[1] https://github.com/intel/ipu6-camera-hal\n\nBest,\nJavier","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 5547DBE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  8 May 2026 17:17:36 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0ABDC63033;\n\tFri,  8 May 2026 19:17:36 +0200 (CEST)","from fout-a6-smtp.messagingengine.com\n\t(fout-a6-smtp.messagingengine.com [103.168.172.149])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 640EC6303C\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  8 May 2026 19:17:34 +0200 (CEST)","from phl-compute-02.internal (phl-compute-02.internal\n\t[10.202.2.42])\n\tby mailfout.phl.internal (Postfix) with ESMTP id B4FB7EC031B;\n\tFri,  8 May 2026 13:17:33 -0400 (EDT)","from phl-imap-07 ([10.202.2.97])\n\tby phl-compute-02.internal (MEProxy); Fri, 08 May 2026 13:17:33 -0400","by mailuser.phl.internal (Postfix, from userid 501)\n\tid 94C8F1EA006C; Fri,  8 May 2026 13:17:33 -0400 (EDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=jetm.me header.i=@jetm.me header.b=\"dkjSwZBw\";\n\tdkim=pass (2048-bit key;\n\tunprotected) header.d=messagingengine.com\n\theader.i=@messagingengine.com header.b=\"W7Zc3t80\"; \n\tdkim-atps=neutral","DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=jetm.me; h=cc:cc\n\t:content-transfer-encoding:content-type:content-type:date:date\n\t:from:from:in-reply-to:in-reply-to:message-id:mime-version\n\t:references:reply-to:subject:subject:to:to; s=fm2; t=1778260653;\n\tx=1778347053; bh=VU6NEhKfESH8xbrM50oIMdcl4uUr5GpDfgnhNKDvu/4=; b=\n\tdkjSwZBwBSmEqgqdWHfX8kyYXCPx8nh0XaW3mRaHbFentBhaIm/4vcxWrUrrZuka\n\t1D6AU85gkOgtigF6HH8GxS4pBZiotOWuWV90cLxeuePk0pugriIZ37zIzFtJnUMp\n\tsiQHwbzI1UUUdaB3bfwXb24/ir1ps7ZQXtDnLaeqEO8YPac+6lxkpBZkA8nsjyHa\n\tpTsicIFfg/ECG4x3E4FMOB+1EfQrz2AaIChWYZIVaksqcwUdZ5AAFGJNKZzTqZJx\n\t7nOFBAEqhphXDsSk9GTYJ5FiQWEWkoZG6WiBuag+lOPTM9uiMmhsucqvcRELszNG\n\tFf4GFfEzn/oKlEDAybqOrA==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n\tmessagingengine.com; h=cc:cc:content-transfer-encoding\n\t:content-type:content-type:date:date:feedback-id:feedback-id\n\t:from:from:in-reply-to:in-reply-to:message-id:mime-version\n\t:references:reply-to:subject:subject:to:to:x-me-proxy\n\t:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1778260653; x=\n\t1778347053; bh=VU6NEhKfESH8xbrM50oIMdcl4uUr5GpDfgnhNKDvu/4=; b=W\n\t7Zc3t80I02fZ2TU92/yv2Fqy0hi2z1flWZXku6/61yH9NkFv2WQg/rbkvfzPmWav\n\ttaNDg5t0pYt9aD1yCsykJGdqXlEvbMDIsK8rQNHrPgSs+xiS4oagbm7VmjL2Qcjm\n\t8EaqgkpUWEVuztoI1YruR2RZYcG/qiQkXdVO7mNymW5KCcip3XCrsaAmRl257D8m\n\tkmot439yzgGO6McKvCgnFa9up6rQadChQR9e2LkOQFJdDldxzawHH1VwgNY9KyTz\n\trPdoQyAjqwTkGfppPhovwRnq7isGL80GpAh4eKs0vnHLbYMlvk8WTqZNCSpdU/nB\n\ttl5I7vQwlEZ5YfBFYmKRw=="],"X-ME-Sender":"<xms:rRr-abTmEok9Ud1KDxGRbCNmc4x12fDHd0VOMP892ZsB_KUsoNIylg>\n\t<xme:rRr-aXnG0Pk1700qugD8TS4HZBuq1GTQU8Ir7NRvjg-0nJDM05k_QvLBKD7DLTlmT\n\teaS4mNU5NMhaqCe2IH9UFLaOnwQqdYGaK965Y-SPwBUqS24u338EQ>","X-ME-Proxy-Cause":"gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgdduuddtledvucetufdoteggodetrf\n\tdotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu\n\trghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnegouf\n\thushhpvggtthffohhmrghinhculdegledmnegopfhokfffucdluddtmdenucfjughrpefo\n\ttggggffhvfffufevjghfsehtkedttdertdejnecuhfhrohhmpeflrghvihgvrhcuvfhirg\n\tcuoehflhhoshhssehjvghtmhdrmhgvqeenucggtffrrghtthgvrhhnpedtieehgfelveej\n\tkefgjeelleevheelieegudeikeffgfeujeehkeffkeegueeigeenucffohhmrghinhepfh\n\thrvggvuggvshhkthhophdrohhrghdpghhithhhuhgsrdhiohdpghhithhhuhgsrdgtohhm\n\tnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepfhhloh\n\thsshesjhgvthhmrdhmvgdpnhgspghrtghpthhtohepjedpmhhouggvpehsmhhtphhouhht\n\tpdhrtghpthhtoheprhhosggvrhhtrdhmrgguvghrsegtohhllhgrsghorhgrrdgtohhmpd\n\thrtghpthhtohepsggrrhhnrggsrghsrdhpohgtiigvsehiuggvrghsohhnsghorghrugdr\n\ttghomhdprhgtphhtthhopehkihgvrhgrnhdrsghinhhghhgrmhesihguvggrshhonhgsoh\n\tgrrhgurdgtohhmpdhrtghpthhtoheplhgruhhrvghnthdrphhinhgthhgrrhhtsehiuggv\n\trghsohhnsghorghrugdrtghomhdprhgtphhtthhopehlihgstggrmhgvrhgrqdguvghvvg\n\thlsehlihhsthhsrdhlihgstggrmhgvrhgrrdhorhhgpdhrtghpthhtohepjhhohhgrnhhn\n\tvghsrdhgohgvuggvsehoshhsrdhquhgrlhgtohhmmhdrtghomhdprhgtphhtthhopehmii\n\tgrmhgriigrlhesrhgvughhrghtrdgtohhm","X-ME-Proxy":"<xmx:rRr-aQ6o-ZT34-_hQuSki4A-T44TyaemqjcJtELOFCiRLXOWqt-OFQ>\n\t<xmx:rRr-ab-Bfh5rpSyjvn4hvpZH-cFzagqCj6SqwvS3olCLjsTZ_2Va8A>\n\t<xmx:rRr-afUzXVZbRh8z-ff4B9mcixvJ2BNKApH4vjTsmyG_dQo6Ai_ErQ>\n\t<xmx:rRr-aWo4omwSfGqCvDnE1Jo6dspliBW1ytMcQ8J1Ap5RT2DS5gV0Lw>\n\t<xmx:rRr-af74dEsvAYNc4Pf72_BT6XYyUOfoqy_riDpGU_j8hmentT86gC3u>","Feedback-ID":"i9dde48b3:Fastmail","X-Mailer":"MessagingEngine.com Webmail Interface","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","From":"Javier Tia <floss@jetm.me>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Date":"Fri, 08 May 2026 11:05:44 -0600","Subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","Cc":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org, mzamazal@redhat.com, \n\trobert.mader@collabora.com, johannes.goede@oss.qualcomm.com, \n\tlaurent.pinchart@ideasonboard.com","In-Reply-To":"<177823267803.3304204.10028479958753323977@ping.linuxembedded.co.uk>","References":"<177817025814.1112523.8335692307235726369@jetm.me>\n\t<20260507161103.3D1441EA006B@mailuser.phl.internal>\n\t<9b71bd0b-fd0d-469b-93b4-38b8779ae8ea@ideasonboard.com>\n\t<177823267803.3304204.10028479958753323977@ping.linuxembedded.co.uk>","Message-Id":"<20260508171733.94C8F1EA006C@mailuser.phl.internal>","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":38836,"web_url":"https://patchwork.libcamera.org/comment/38836/","msgid":"<20260509201605.29F911EA006C@mailuser.phl.internal>","date":"2026-05-09T20:13:46","subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","submitter":{"id":261,"url":"https://patchwork.libcamera.org/api/people/261/","name":"Javier Tia","email":"floss@jetm.me"},"content":"Hi Kieran,\n\nI saw your note about migrating the simple IPA to use the common\nlibipa/awb algorithm with CCT-indexed predetermined balances. Is that\nsomething you are already working on, or is there a piece I could pick\nup? I am thinking the SoftAwbStats wrapper (adapting SwIspStats to the\nAwbStats interface) or extending parse_aiqb.py to emit a\nCCT-indexed colourGains curve alongside the CCMs.\n\nHappy to wait and test once you post a series if you have this in hand.","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 64F5CBE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSat,  9 May 2026 20:16:11 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5828563025;\n\tSat,  9 May 2026 22:16:10 +0200 (CEST)","from fhigh-b5-smtp.messagingengine.com\n\t(fhigh-b5-smtp.messagingengine.com [202.12.124.156])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9EFB162FB1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSat,  9 May 2026 22:16:07 +0200 (CEST)","from phl-compute-02.internal (phl-compute-02.internal\n\t[10.202.2.42])\n\tby mailfhigh.stl.internal (Postfix) with ESMTP id DB3197A0072;\n\tSat,  9 May 2026 16:16:05 -0400 (EDT)","from phl-imap-07 ([10.202.2.97])\n\tby phl-compute-02.internal (MEProxy); Sat, 09 May 2026 16:16:06 -0400","by mailuser.phl.internal (Postfix, from userid 501)\n\tid 29F911EA006C; Sat,  9 May 2026 16:16:05 -0400 (EDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=jetm.me header.i=@jetm.me header.b=\"jYlA+N6m\";\n\tdkim=pass (2048-bit key;\n\tunprotected) header.d=messagingengine.com\n\theader.i=@messagingengine.com header.b=\"GEalDwJ+\"; \n\tdkim-atps=neutral","DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=jetm.me; h=cc:cc\n\t:content-transfer-encoding:content-type:content-type:date:date\n\t:from:from:in-reply-to:in-reply-to:message-id:mime-version\n\t:references:reply-to:subject:subject:to:to; s=fm2; t=1778357765;\n\tx=1778444165; bh=pFGAoGhwkzaGTi8VcmJTmFCQeq1RaAkq6LbrUUmLj9o=; b=\n\tjYlA+N6mv0Yzvcd+q0jeUNEE7138xTuxZP5vdvCiWtCBusIW/pgl351bPvrjeIHC\n\tsFUDSp9w4q+vU1pE/fl/N0heQh8HLp7uXLDgzx3+7MYZ3N69X7RnKfTE7qt0VVD4\n\tFKS4MiBeEKs6+Wvum9Lej6noIAhp67/50B2wJUs02z9/WKWAs0w2qpt+y9F9hMBx\n\tXiJMU/8eArW7cGhhLrFLCJt8u4zOvddt60rKADqLY+5JBOOEiO2at4Wl6/G8R/PC\n\tWd1hZIPMfav3WrmO06BURcjJOX6i3b29Uxpwl+GHhT4JKFqRdnid73fBSFr1rGU2\n\tdTelR8q2yPLAx8kc9ZJE6g==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n\tmessagingengine.com; h=cc:cc:content-transfer-encoding\n\t:content-type:content-type:date:date:feedback-id:feedback-id\n\t:from:from:in-reply-to:in-reply-to:message-id:mime-version\n\t:references:reply-to:subject:subject:to:to:x-me-proxy\n\t:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1778357765; x=\n\t1778444165; bh=pFGAoGhwkzaGTi8VcmJTmFCQeq1RaAkq6LbrUUmLj9o=; b=G\n\tEalDwJ+X8Ts2pRuQIf93ORMddebRKQirtXGaF0mNJ3lsrNSgak0ENPHSQpah14XQ\n\tXBfD7RYzvJc6vDbqp8H8Ssjmw8R0ySyVIvFtFExC/LZFS3fwg+dqPP0fHyOCtTRA\n\tvoO6v7bwTyGYsyRlKDjWQPKXfq7gAIALL39NJX8uQTEbCItV8jnIHKDJFp4dBxe5\n\tkbm1X43xEAX1RfmQ0DqvGTgxsoTcEAk0tfH5X7froq3UJvJIbieOnpzcE2II4/88\n\t5r3hH42v49AplZHXOQ060AA12e4RTpnYQ6cUu9HCtTiJ6OZnV4UHVTWOzOzST9d8\n\ttVcGAGxD1MvMsGXVtjAFQ=="],"X-ME-Sender":"<xms:BZb_aTUlUmHoWUCXmfj0oSYw7xkp2wQ6K09QYMpyebhEZQksWz7uBQ>\n\t<xme:BZb_aWZJ0lv8uhfqwItPQc30aP_DpeebIlwoPenQhosg-B-zeDjFXkCYIEE_odpnP\n\tWuyjflS3CoLfdJW6AB8RNyadlP-qMMvMggAADitrvyUUzZSUoDdZXA>","X-ME-Proxy-Cause":"gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgdduudegudeiucetufdoteggodetrf\n\tdotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu\n\trghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnegopf\n\thokfffucdluddtmdenucfjughrpefotggggffhvfffufevjghfsehtkedttdertdejnecu\n\thfhrohhmpeflrghvihgvrhcuvfhirgcuoehflhhoshhssehjvghtmhdrmhgvqeenucggtf\n\tfrrghtthgvrhhnpedtudejffejkeekteelueefvdejvdeuhfefteehkeevtddvleduteek\n\tleetvdelhfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhroh\n\thmpehflhhoshhssehjvghtmhdrmhgvpdhnsggprhgtphhtthhopeekpdhmohguvgepshhm\n\tthhpohhuthdprhgtphhtthhopehrohgsvghrthdrmhgruggvrhestgholhhlrggsohhrrg\n\tdrtghomhdprhgtphhtthhopegsrghrnhgrsggrshdrphhotgiivgesihguvggrshhonhgs\n\tohgrrhgurdgtohhmpdhrtghpthhtohepkhhivghrrghnrdgsihhnghhhrghmsehiuggvrg\n\thsohhnsghorghrugdrtghomhdprhgtphhtthhopehlrghurhgvnhhtrdhpihhntghhrghr\n\tthesihguvggrshhonhgsohgrrhgurdgtohhmpdhrtghpthhtohepfhhlohhsshesjhgvth\n\thmrdhmvgdprhgtphhtthhopehlihgstggrmhgvrhgrqdguvghvvghlsehlihhsthhsrdhl\n\tihgstggrmhgvrhgrrdhorhhgpdhrtghpthhtohepjhhohhgrnhhnvghsrdhgohgvuggvse\n\thoshhsrdhquhgrlhgtohhmmhdrtghomhdprhgtphhtthhopehmiigrmhgriigrlhesrhgv\n\tughhrghtrdgtohhm","X-ME-Proxy":"<xmx:BZb_aR3bs2GAXP1PChhFDKVFGZq-zdRYZR0FSyrTqMxQXPp9x7iaDQ>\n\t<xmx:BZb_aUFX5DWDqNMdSecClCJn6KrP9d0yYPk4KKSBC3obAxxb7suPww>\n\t<xmx:BZb_aUHdTGlD0tWPvzvhMVG_FhNlbYr02SIH0p1EhChyrm_S6V7VfA>\n\t<xmx:BZb_af56Im1sL7XO82m5SJGLCrFSy65Ue8VO8fIyRAaadQaambZp9g>\n\t<xmx:BZb_aS3ojmhvR_026_lIDl4vQkmah8zDDOYi4m8_vU90cysFTmDyqM2M>","Feedback-ID":"i9dde48b3:Fastmail","X-Mailer":"MessagingEngine.com Webmail Interface","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","From":"Javier Tia <floss@jetm.me>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Date":"Sat, 09 May 2026 14:13:46 -0600","Subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","Cc":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>, =?utf-8?q?Barnab?=\n\t=?utf-8?b?w6FzIFDFkWN6ZQ==?= <barnabas.pocze@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org, mzamazal@redhat.com, \n\trobert.mader@collabora.com, johannes.goede@oss.qualcomm.com","In-Reply-To":"<177823371544.3304204.15176017559466690997@ping.linuxembedded.co.uk>","References":"<177817025814.1112523.8335692307235726369@jetm.me>\n\t<20260507161103.3D1441EA006B@mailuser.phl.internal>\n\t<9b71bd0b-fd0d-469b-93b4-38b8779ae8ea@ideasonboard.com>\n\t<177823267803.3304204.10028479958753323977@ping.linuxembedded.co.uk>\n\t<20260508093730.GC2176058@killaraus.ideasonboard.com>\n\t<177823371544.3304204.15176017559466690997@ping.linuxembedded.co.uk>","Message-Id":"<20260509201605.29F911EA006C@mailuser.phl.internal>","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":38840,"web_url":"https://patchwork.libcamera.org/comment/38840/","msgid":"<20260510170322.GA2825010@killaraus.ideasonboard.com>","date":"2026-05-10T17:03:22","subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Sat, May 09, 2026 at 02:13:46PM -0600, Javier Tia wrote:\n> Hi Kieran,\n> \n> I saw your note about migrating the simple IPA to use the common\n> libipa/awb algorithm with CCT-indexed predetermined balances. Is that\n> something you are already working on, or is there a piece I could pick\n> up?\n\nhttps://patchwork.libcamera.org/project/libcamera/list/?series=5874\n\n> I am thinking the SoftAwbStats wrapper (adapting SwIspStats to the\n> AwbStats interface) or extending parse_aiqb.py to emit a\n> CCT-indexed colourGains curve alongside the CCMs.\n> \n> Happy to wait and test once you post a series if you have this in hand.","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 85225BDCBD\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun, 10 May 2026 17:03:26 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 9D8586301E;\n\tSun, 10 May 2026 19:03:25 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 3D73562E6A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 10 May 2026 19:03:24 +0200 (CEST)","from killaraus.ideasonboard.com\n\t(2001-14ba-70f3-e800--a06.rev.dnainternet.fi\n\t[IPv6:2001:14ba:70f3:e800::a06])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 6C24DB1A;\n\tSun, 10 May 2026 19:03:17 +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=\"QfX1vtVE\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1778432597;\n\tbh=OkH4+ckxTvjePmxVJmp7bn/DYD1nUJg+p4YZcgMquJQ=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=QfX1vtVEXbSvxs13C2u03U+4N0AnOllD63OBoguG/tyL0G6fD2II9/Zkq0V87rvcr\n\tKbdgldf8pVFNU+AXiIAKGY2CtO0znee+ASVnqHlYCm/ZCKUddYAJ45lDB9RJTTQyHm\n\tW4g57tfWaSIp8Kibnjjj4DCIP8BgQ96m5hjKEpCQ=","Date":"Sun, 10 May 2026 20:03:22 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Javier Tia <floss@jetm.me>","Cc":"Kieran Bingham <kieran.bingham@ideasonboard.com>, =?utf-8?q?Barnab?=\n\t=?utf-8?b?w6FzIFDFkWN6ZQ==?= <barnabas.pocze@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org, mzamazal@redhat.com, \n\trobert.mader@collabora.com, johannes.goede@oss.qualcomm.com","Subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","Message-ID":"<20260510170322.GA2825010@killaraus.ideasonboard.com>","References":"<177817025814.1112523.8335692307235726369@jetm.me>\n\t<20260507161103.3D1441EA006B@mailuser.phl.internal>\n\t<9b71bd0b-fd0d-469b-93b4-38b8779ae8ea@ideasonboard.com>\n\t<177823267803.3304204.10028479958753323977@ping.linuxembedded.co.uk>\n\t<20260508093730.GC2176058@killaraus.ideasonboard.com>\n\t<177823371544.3304204.15176017559466690997@ping.linuxembedded.co.uk>\n\t<20260509201605.29F911EA006C@mailuser.phl.internal>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20260509201605.29F911EA006C@mailuser.phl.internal>","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":38860,"web_url":"https://patchwork.libcamera.org/comment/38860/","msgid":"<20260511190521.2EFDA1EA006B@mailuser.phl.internal>","date":"2026-05-11T16:33:59","subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","submitter":{"id":261,"url":"https://patchwork.libcamera.org/api/people/261/","name":"Javier Tia","email":"floss@jetm.me"},"content":"Hi Laurent,\n\nThanks for the pointer.\n\nOn Sun, May 10, 2026 at 17:03:27 +0000, Laurent Pinchart wrote:\n> > I saw your note about migrating the simple IPA to use the common\n> > libipa/awb algorithm with CCT-indexed predetermined balances. Is that\n> > something you are already working on, or is there a piece I could pick\n> > up?\n>\n> https://patchwork.libcamera.org/project/libcamera/list/?series=5874\n\nGot it - I will track series 5874 and rebase the OV2740 tuning on top\nonce it lands. The v3 OV2740 YAML I'm sending alongside this reply\nalready carries a colourGains block in the AwbGrey form, behind a\ncomment noting it has no effect until 5874 merges, so the file should\nslot in without further changes.\n\nHappy to test 5874 on the X1 Carbon hardware when you would like a\nsecond set of eyes on the simple-IPA path.","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 14F2FBDB1C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 11 May 2026 19:05:24 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id AC6DC63021;\n\tMon, 11 May 2026 21:05:23 +0200 (CEST)","from fout-b2-smtp.messagingengine.com\n\t(fout-b2-smtp.messagingengine.com [202.12.124.145])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 7836E6301A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 11 May 2026 21:05:22 +0200 (CEST)","from phl-compute-02.internal (phl-compute-02.internal\n\t[10.202.2.42])\n\tby mailfout.stl.internal (Postfix) with ESMTP id 736DE1D000FB;\n\tMon, 11 May 2026 15:05:21 -0400 (EDT)","from phl-imap-07 ([10.202.2.97])\n\tby phl-compute-02.internal (MEProxy); Mon, 11 May 2026 15:05:21 -0400","by mailuser.phl.internal (Postfix, from userid 501)\n\tid 2EFDA1EA006B; Mon, 11 May 2026 15:05:21 -0400 (EDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=jetm.me header.i=@jetm.me header.b=\"toE8EdoD\";\n\tdkim=pass (2048-bit key;\n\tunprotected) header.d=messagingengine.com\n\theader.i=@messagingengine.com header.b=\"YOc+pUog\"; \n\tdkim-atps=neutral","DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=jetm.me; h=cc:cc\n\t:content-transfer-encoding:content-type:content-type:date:date\n\t:from:from:in-reply-to:in-reply-to:message-id:mime-version\n\t:references:reply-to:subject:subject:to:to; s=fm2; t=1778526321;\n\tx=1778612721; bh=jhqL6DX9W8NJKbbz21L7/VY+LdPhk5PHA4/VgffWG9U=; b=\n\ttoE8EdoDlQiNiMnC1J8Cdxe7H2au9gvDeIuhNhSiBYdQ3MnrvrTVVXgY9jSx1m8l\n\tQrPGZ+m5Mqbkt7WJ9anK63eXCXv7naKydSzadMXpgKcqLtT7xZjOCoHap0Zct2Zv\n\tsL6iblRwKyGeo5T0LQabmesZ7MkcpMiGBk1NvSY5NCIJK5bSrBIAFgm1OFMPXhFg\n\tRjHP6aQQ2SFv36UGuyv+WkoWKcNtko04MJvcer3Lo+tyW3jEMm9aZhpGmrm41rx6\n\t7SOkCV0bYC0DPWELdMnJVz8KCPwrKKFBcXVlo/8xuIFTt5CXUo1LHI9lV1mqNMzR\n\tYp14wFT/nuR78qIw5sQ9JQ==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n\tmessagingengine.com; h=cc:cc:content-transfer-encoding\n\t:content-type:content-type:date:date:feedback-id:feedback-id\n\t:from:from:in-reply-to:in-reply-to:message-id:mime-version\n\t:references:reply-to:subject:subject:to:to:x-me-proxy\n\t:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1778526321; x=\n\t1778612721; bh=jhqL6DX9W8NJKbbz21L7/VY+LdPhk5PHA4/VgffWG9U=; b=Y\n\tOc+pUogH9JqhQx2h704AsCYBOMJE8Wa0vl1GheKSRB6p7ulgvhtZae2B8lEkQ1Ef\n\tA5rYe2/vu6yUaTn8et+B3RhEdlDU0FhT8+imPwA0f/dvPJMauWJ4Sr/WLWuZxjoO\n\ts+4vQRYR1wTGEjc2Eugsbz8w4HIk6SIaSoJ0kTkhs+uZMpcQp06T/WgxIGNeN5FX\n\tF9kMdHTSI+1RQYle6cKvm2w6gbOmJmjXkfPoTBM6YVBpVVDjuXOUm6ZBJZplXde9\n\tHg4Xe1A6weKWSmNNtkCCAjos+kWRbr9ELTj0dofEwCfpP3wMvdGeilH5S41v8KzQ\n\t3oMp4LiSVDA99ZRHT9/Zg=="],"X-ME-Sender":"<xms:cSgCapUqNHwxLOooYeICmqibkaMwTO-WXh_nj-xkAXWnv_RTT1RP7Q>\n\t<xme:cSgCakbTYhMltvFR_I-NpF_U7ZTyM0MrrqpjWM2Djs1_120_3Z0JVIvX0vZ3XhEb9\n\trAQNl6CGjLyiFc5_4aA44ZOeJa0nTNBOAxK6gaap3ywZIJn25OD9R4>","X-ME-Proxy-Cause":"gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgdduudeljedvucetufdoteggodetrf\n\tdotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu\n\trghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnegopf\n\thokfffucdluddtmdenucfjughrpefotggggffhvfffufevjghfsehtkedttdertdejnecu\n\thfhrohhmpeflrghvihgvrhcuvfhirgcuoehflhhoshhssehjvghtmhdrmhgvqeenucggtf\n\tfrrghtthgvrhhnpeeijeekvdfgfeeileettdfffedutedvteegvdekleduuedufefhheef\n\tueekveeitdenucffohhmrghinheplhhisggtrghmvghrrgdrohhrghenucevlhhushhtvg\n\thrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehflhhoshhssehjvghtmhdr\n\tmhgvpdhnsggprhgtphhtthhopeekpdhmohguvgepshhmthhpohhuthdprhgtphhtthhope\n\throhgsvghrthdrmhgruggvrhestgholhhlrggsohhrrgdrtghomhdprhgtphhtthhopegs\n\trghrnhgrsggrshdrphhotgiivgesihguvggrshhonhgsohgrrhgurdgtohhmpdhrtghpth\n\thtohepkhhivghrrghnrdgsihhnghhhrghmsehiuggvrghsohhnsghorghrugdrtghomhdp\n\trhgtphhtthhopehlrghurhgvnhhtrdhpihhntghhrghrthesihguvggrshhonhgsohgrrh\n\tgurdgtohhmpdhrtghpthhtohepfhhlohhsshesjhgvthhmrdhmvgdprhgtphhtthhopehl\n\tihgstggrmhgvrhgrqdguvghvvghlsehlihhsthhsrdhlihgstggrmhgvrhgrrdhorhhgpd\n\thrtghpthhtohepjhhohhgrnhhnvghsrdhgohgvuggvsehoshhsrdhquhgrlhgtohhmmhdr\n\ttghomhdprhgtphhtthhopehmiigrmhgriigrlhesrhgvughhrghtrdgtohhm","X-ME-Proxy":"<xmx:cSgCan29wD2w8nTMmwMuTmwWUe--X2JNFlb835L6pn8fIIBRYFGKZg>\n\t<xmx:cSgCaiH6QmtGZFtcOth9cZp6F99nmtEXDwS89eHB3rAADVoxZjxCog>\n\t<xmx:cSgCaqF2bY9tzWzj5ogoQLttvmSZhVhcI1iwJ11VZBO0I17HQb85Ew>\n\t<xmx:cSgCat4IUJdEMf37QBBA3uXtFifmlAlodRByCxtysVu22X7EVGUfUA>\n\t<xmx:cSgCag2xasV118BTJwJasLrKSbo0i_VpT7LnfmePsvdHsIF_Wx0EY5Ok>","Feedback-ID":"i9dde48b3:Fastmail","X-Mailer":"MessagingEngine.com Webmail Interface","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","From":"Javier Tia <floss@jetm.me>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Date":"Mon, 11 May 2026 10:33:59 -0600","Subject":"Re: [PATCH v1 2/2] ipa: simple: data: Add OV2740 tuning file","Cc":"Kieran Bingham <kieran.bingham@ideasonboard.com>, =?utf-8?q?Barnab?=\n\t=?utf-8?b?w6FzIFDFkWN6ZQ==?= <barnabas.pocze@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org, mzamazal@redhat.com, \n\trobert.mader@collabora.com, johannes.goede@oss.qualcomm.com","In-Reply-To":"<20260510170322.GA2825010@killaraus.ideasonboard.com>","References":"<177817025814.1112523.8335692307235726369@jetm.me>\n\t<20260507161103.3D1441EA006B@mailuser.phl.internal>\n\t<9b71bd0b-fd0d-469b-93b4-38b8779ae8ea@ideasonboard.com>\n\t<177823267803.3304204.10028479958753323977@ping.linuxembedded.co.uk>\n\t<20260508093730.GC2176058@killaraus.ideasonboard.com>\n\t<177823371544.3304204.15176017559466690997@ping.linuxembedded.co.uk>\n\t<20260509201605.29F911EA006C@mailuser.phl.internal>\n\t<20260510170322.GA2825010@killaraus.ideasonboard.com>","Message-Id":"<20260511190521.2EFDA1EA006B@mailuser.phl.internal>","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>"}}]