Cover Letter Detail
Show a cover letter.
GET /api/1.1/covers/26237/?format=api
{ "id": 26237, "url": "https://patchwork.libcamera.org/api/1.1/covers/26237/?format=api", "web_url": "https://patchwork.libcamera.org/cover/26237/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/1.1/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20260225221859.600869-1-floss@jetm.me>", "date": "2026-02-25T22:18:57", "name": "[0/2] ipa: simple: Proportional AGC and OV2740 tuning", "submitter": { "id": 261, "url": "https://patchwork.libcamera.org/api/1.1/people/261/?format=api", "name": "Javier Tia", "email": "floss@jetm.me" }, "mbox": "https://patchwork.libcamera.org/cover/26237/mbox/", "series": [ { "id": 5812, "url": "https://patchwork.libcamera.org/api/1.1/series/5812/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5812", "date": "2026-02-25T22:18:57", "name": "ipa: simple: Proportional AGC and OV2740 tuning", "version": 1, "mbox": "https://patchwork.libcamera.org/series/5812/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/26237/comments/", "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 2ED78C0DA4\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 25 Feb 2026 22:20:17 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 45992622E9;\n\tWed, 25 Feb 2026 23:20:16 +0100 (CET)", "from fhigh-a2-smtp.messagingengine.com\n\t(fhigh-a2-smtp.messagingengine.com [103.168.172.153])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B3CF161FA0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 25 Feb 2026 23:20:14 +0100 (CET)", "from phl-compute-08.internal (phl-compute-08.internal\n\t[10.202.2.48])\n\tby mailfhigh.phl.internal (Postfix) with ESMTP id EB5F914001A3;\n\tWed, 25 Feb 2026 17:20:13 -0500 (EST)", "from phl-frontend-04 ([10.202.2.163])\n\tby phl-compute-08.internal (MEProxy); Wed, 25 Feb 2026 17:20:13 -0500", "by mail.messagingengine.com (Postfix) with ESMTPA; Wed,\n\t25 Feb 2026 17:20:13 -0500 (EST)" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=jetm.me header.i=@jetm.me header.b=\"mrTUA+N/\";\n\tdkim=pass (2048-bit key;\n\tunprotected) header.d=messagingengine.com\n\theader.i=@messagingengine.com header.b=\"fsnecQqZ\"; \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:date:date:from:from\n\t:in-reply-to:message-id:mime-version:reply-to:subject:subject:to\n\t:to; s=fm2; t=1772058013; x=1772144413; bh=M0ALvDmPkWqGe342yHgcx\n\tPRG+M8xDUSikQlViwsdBQQ=; b=mrTUA+N/8FFhLrsEqyl19cf6TNWzUDvrs/u5s\n\tb6lxXe82ja9NHbRKkib7Tjlop9t+bRGWTu/XUpOD5GxXV9w0OcB0+YG3MMuJl1WT\n\tRqQqw9Rbh67pFM60b8q/CvPQ//ukCgwvQau3lGpnDFu2M8X9S9tQpTgVhENLepGD\n\t64/d547rJOm6WLHbe4/R3j8H/iSZRetME1VJLCH9o5hFNG27a90ZRNSm4TYMDrYD\n\t9Nz1UTK/QLImYwHXK9yyqKi/PPr3yEe1HhJkPvn0GyFiXDDZTf9rQ+uZwHlHq11L\n\tM0jWaHYFa3z9LQ/p9oeAWMlw1mRmeguEqjrbqH2mA2bfzOF5A==", "v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n\tmessagingengine.com; h=cc:cc:content-transfer-encoding\n\t:content-type:date:date:feedback-id:feedback-id:from:from\n\t:in-reply-to:message-id:mime-version:reply-to:subject:subject:to\n\t:to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=\n\t1772058013; x=1772144413; bh=M0ALvDmPkWqGe342yHgcxPRG+M8xDUSikQl\n\tViwsdBQQ=; b=fsnecQqZ4b3E/jAF6sejVgkBOVqm3SR2kZWfn4JxDauYokyWOog\n\tMJePQdI1TCMMEQBk3a/7JbcaKrk5zOTXDudt3ixj7cbomrzNpXAj3gKGRf35We8B\n\ttVyqf2bVp5A9YMWXB6Whd0LUeQKxTAYjw5aiHw5NcU551G7o1DFhttyngMZG/gJ9\n\tyS/ePz7WdQCSeBiaG3zye1ISyUJBFmK1DOCwQ1ZC5+S+F/VD/qTwVhvIlwcmtMYn\n\ti4m5M9NXmV2FRRnPJN4uDjb3uTYWg/xkUznxVL9OJr+JIX90Gse3lHF/oYJcSAd1\n\tQ0Ovitxl7+u9JAs3n2h3/Dc//8gjdNvs72Q==" ], "X-ME-Sender": "<xms:nXWfaT-_4V1XKHg4tgD9zfPppRyM9S-xICJFQmfmUCzRHi6kFQCEzQ>\n\t<xme:nXWfaVunmJObFUDijulLgUINaCRW81Ewsy9pCHs0-S0yEEb196fkKnjm0ZBBpNqOu\n\t0-XikRQVRUvgWqKDbslHu8XHu6C0VD4sNcOIIFBRsMn0BInMxSjyA_T>", "X-ME-Received": "<xmr:nXWfaer5h2RX6NMovzYntxuPCxaSAH7kjhCpCPqhHORZwxZNDPnN_KqbbSFOEsmQe23oThze9xScYN1IzSRrMw>", "X-ME-Proxy-Cause": "gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddvgeegfedtucetufdoteggodetrf\n\tdotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu\n\trghilhhouhhtmecufedttdenucenucfjughrpefhvfevufffkffoggfgsedtkeertdertd\n\tdtnecuhfhrohhmpeflrghvihgvrhcuvfhirgcuoehflhhoshhssehjvghtmhdrmhgvqeen\n\tucggtffrrghtthgvrhhnpefgleekheffudejueefgffgtdevleekleefffdtgfffteette\n\tfglefgudffgedtkeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhl\n\tfhhrohhmpehflhhoshhssehjvghtmhdrmhgvpdhnsggprhgtphhtthhopedvpdhmohguvg\n\tepshhmthhpohhuthdprhgtphhtthhopehlihgstggrmhgvrhgrqdguvghvvghlsehlihhs\n\tthhsrdhlihgstggrmhgvrhgrrdhorhhgpdhrtghpthhtohepfhhlohhsshesjhgvthhmrd\n\thmvg", "X-ME-Proxy": "<xmx:nXWfaant_280za8I7jot8K9zJZ0tK4HXKY9x6GJ-l-A57l2762QdcQ>\n\t<xmx:nXWfaayEEC_u1nV3g-l0_PdxJeKPcKpXS6exMchgHLC7c4_x5OMSgw>\n\t<xmx:nXWfaanwYvXW_GBsBxrDkw3dqvG4ta6bc3gvuywfL0hZkAgW7ndVsA>\n\t<xmx:nXWfabcAuaR7hBRPIVtEtQpU1ZdrdgbKNhN8flj1BmlDGmADQGcPYg>\n\t<xmx:nXWfadjYeT89D-7e--tqbB84jDpK7MXP_tUEqoSVhH-wWtSl-SvdjcsK>", "Feedback-ID": "i9dde48b3:Fastmail", "From": "Javier Tia <floss@jetm.me>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "Javier Tia <floss@jetm.me>", "Subject": "[PATCH 0/2] ipa: simple: Proportional AGC and OV2740 tuning", "Date": "Wed, 25 Feb 2026 16:18:57 -0600", "Message-ID": "<20260225221859.600869-1-floss@jetm.me>", "X-Mailer": "git-send-email 2.53.0", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "libcamera-devel@lists.libcamera.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "<libcamera-devel.lists.libcamera.org>", "List-Unsubscribe": "<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>", "List-Archive": "<https://lists.libcamera.org/pipermail/libcamera-devel/>", "List-Post": "<mailto:libcamera-devel@lists.libcamera.org>", "List-Help": "<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>", "List-Subscribe": "<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "This series fixes AGC oscillation in the Simple pipeline and adds the\nfirst sensor-specific tuning file for the SoftISP.\n\nPatch 1 replaces the fixed 10% bang-bang step in the AGC with a\nproportional controller where step size scales with the MSV error.\nThis eliminates the brightness flicker observed on sensors with\nnon-trivial control latency (tested on OV2740 behind Intel IPU6/IVSC).\n\nPatch 2 adds an OV2740 tuning file with a color correction matrix\ncalibrated for 6500K, compensating for the green bias from Bayer\ndemosaicing. The CCM was iteratively calibrated from captured frame\nmeasurements. A proper Macbeth ColorChecker calibration at multiple\ncolor temperatures would improve accuracy.\n\nTested on ThinkPad X1 Carbon Gen 10 (Alder Lake, OV2740, IPU6 ISYS,\nCachyOS kernel 6.19.3, libcamera 0.7.0).\n\nJavier Tia (2):\n ipa: simple: agc: Replace bang-bang controller with proportional\n ipa: simple: data: Add OV2740 tuning file\n\n src/ipa/simple/algorithms/agc.cpp | 73 +++++++++++++++++++++----------\n src/ipa/simple/data/meson.build | 1 +\n src/ipa/simple/data/ov2740.yaml | 22 ++++++++++\n 3 files changed, 72 insertions(+), 24 deletions(-)\n create mode 100644 src/ipa/simple/data/ov2740.yaml\n\n--\n2.53.0" }