Show a cover letter.

GET /api/covers/27060/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 27060,
    "url": "https://patchwork.libcamera.org/api/covers/27060/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/27060/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/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": "<20260626-ipu3-libipa-rework-v2-0-41546e23de3e@ideasonboard.com>",
    "date": "2026-06-26T13:05:47",
    "name": "[v2,00/12] libipa: Re-work IPU3 IPA to use libipa algorithms",
    "submitter": {
        "id": 156,
        "url": "https://patchwork.libcamera.org/api/people/156/?format=api",
        "name": "Dan Scally",
        "email": "dan.scally@ideasonboard.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/27060/mbox/",
    "series": [
        {
            "id": 6022,
            "url": "https://patchwork.libcamera.org/api/series/6022/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=6022",
            "date": "2026-06-26T13:05:47",
            "name": "libipa: Re-work IPU3 IPA to use libipa algorithms",
            "version": 2,
            "mbox": "https://patchwork.libcamera.org/series/6022/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/27060/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 D9809BF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 26 Jun 2026 13:06:08 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 95ADD65EF2;\n\tFri, 26 Jun 2026 15:06:06 +0200 (CEST)",
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A4CF465878\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Jun 2026 15:06:04 +0200 (CEST)",
            "from [127.0.1.1]\n\t(chfd-03-b2-v4wan-176392-cust229.vm15.cable.virginm.net\n\t[82.19.20.230])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 88CF21E7;\n\tFri, 26 Jun 2026 15:05:23 +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=\"EV7QQeVd\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1782479123;\n\tbh=bg6FLWOcwnLerEpNQm7f3WlLqr2Yy3k8GPstZr9y31Q=;\n\th=From:Subject:Date:To:Cc:From;\n\tb=EV7QQeVdv29ZnrdPzZl8sEKzLqmM6jfxLYgtGRkRVlVCOnBvEnbj3lqg/CtfYaszp\n\to7yFxlRAciqMAWCuxhjMXwrTdAjZ2GojVjG4X3Xi+O1p9j/6+ZUWR6RU8a8Bdr828C\n\tP3OmMlPChd5mb9lk8IoS2AuOT95D3a2zKmjTP7bg=",
        "From": "Daniel Scally <dan.scally@ideasonboard.com>",
        "Subject": "[PATCH v2 00/12] libipa: Re-work IPU3 IPA to use libipa algorithms",
        "Date": "Fri, 26 Jun 2026 14:05:47 +0100",
        "Message-Id": "<20260626-ipu3-libipa-rework-v2-0-41546e23de3e@ideasonboard.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "7bit",
        "X-B4-Tracking": "v=1; b=H4sIACx5PmoC/33PTW6DMBAF4Ksgr+vKNv7NqveosrDxEEYNmNqEJ\n\toq4e11Qpa66fCPN0/eepEBGKOTUPEmGFQumqQbx0pBu8NMFKMaaiWBCM801xfnW0isGnD3N8JX\n\tyB+1Fq6VsdZQikPo4Z+jxvpe+n4+c4fNWu5fjSIIvQLs0jricmmgsA2FVUK6NkQtwihljOt722\n\tnXAjHPOcuDkr6kSD5H6xfjrJWVchrFQ5bTWofPMi578CAYsS8qPfeXKd8J/g1ZOGY1SShuU7Hm\n\t0bxjBlzSF5HN8rXBy3rbtG2FyWbo9AQAA",
        "X-Change-ID": "20260616-ipu3-libipa-rework-f2364436d42b",
        "To": "libcamera-devel@lists.libcamera.org",
        "Cc": "Daniel Scally <dan.scally@ideasonboard.com>, =?utf-8?q?Barnab=C3=A1s_?=\n\t=?utf-8?b?UMWRY3pl?= <barnabas.pocze@ideasonboard.com>, Kieran Bingham\n\t<kieran.bingham@ideasonboard.com>, Jacopo Mondi\n\t<jacopo.mondi@ideasonboard.com>",
        "X-Mailer": "b4 0.14.2",
        "X-Developer-Signature": "v=1; a=openpgp-sha256; l=3216;\n\ti=dan.scally@ideasonboard.com; h=from:subject:message-id;\n\tbh=bg6FLWOcwnLerEpNQm7f3WlLqr2Yy3k8GPstZr9y31Q=;\n\tb=owEBbQKS/ZANAwAKAchJV3psRXUyAcsmYgBqPnk58c00r4JNA5wj21cKv7ZwIIw9n3sc8PtBx\n\tAYthUqVq8KJAjMEAAEKAB0WIQQqyuwyDnZdb+mxmm/ISVd6bEV1MgUCaj55OQAKCRDISVd6bEV1\n\tMnKoEACDP4s6Dqu/iUGwYpqGCmeHeCglC5HisqX8JIBMY+121hnyuao+58mEUOCCL6Us1YZmZum\n\tjzz/X5eW4TUYK2Gc0fAen04XxUvWno4BtiHOz1nEFnrSb39ifax2gNIE1N4241ooeWGvCSNdyi7\n\tq/xJTbu0Ym0A2+vbKXJQ23TAmyhSv0hHS/d+T7zPi9d/Z2sfiNJZGfysbmjxiIlzRro3APejwU5\n\tPjfBwdHKwl43X9jY+/DcUPRHj1at/JsndokMTW8UlIQKgbmJ4U1Sir3/NGEnnl4tt/ZiFfVA594\n\tRYzC4cZZwSN9wBLzR9G1ZiTK467kFdo+K4ZW9WljNiofvHTV+LUhBO2x1rLgUK07+5M6mPeOA8K\n\tp3FHcbdanhstBK9+XEtrC+zvtjiLAF0PQjFeBH8HJGIuZ8+irGFNUtnlc/CaLNMto5ZWnAb1Arq\n\tPqB6pyHnYOikeBp5+onunZTYPJkL+Kq5u8KRtQNEsb47AsdBbn98QlUauJ/5KhIXfUM1MRIJjJB\n\tXWl+qDt/PPwAboDzH8LOMscrm2gpT05hW3VLfUhMUJPxdRf7PwJSSUWsZ8X5PY8K43B0dUSC3Nq\n\tkCBELX0byctPBDlig98frs8zkpsOPemuswbP7gZ7t4Xdr8oCqTGVi6hIA0MA05Q7XKdZh5gPYm9\n\tq8DAStTEcwo5hSQ==",
        "X-Developer-Key": "i=dan.scally@ideasonboard.com; a=openpgp;\n\tfpr=EEC699ACA1B7CB5D31330C0BBD501C2A3546CCF6",
        "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": "Hello all\n\nThis series builds on top of Jacopo's recent set [1] adding libipa\nimplementations of the AWB, LSC and CCM algorithms by adapting the\nIPU3 IPA to use them. As CCM and LSC were not present for this IPA\npreviously, this series adds them.\n\nI also introduce the Gamma Correction algorithm to libipa following\nthe theme of Jacopo's work and update the IPU3 and RkISP1 IPAs to\nuse it.\n\nTested on the IPU3 via the Surface Go2 with OV5693 and on RkISP1 via\nthe Debix A with and imx708.\n\nDan\n\n[1] https://patchwork.libcamera.org/project/libcamera/list/?series=6013\n\nSigned-off-by: Daniel Scally <dan.scally@ideasonboard.com>\n---\nChanges in v2:\n- Added a patch converting the AGC from using separate class members\n  for each colour channel's gain to a single RGB member\n- Added a patch that drops the sensorInfo parameter from\n  IPAIPU3::updateControls()\n- Link to v1: https://lore.kernel.org/r/20260616-ipu3-libipa-rework-v1-0-d4448b54f1d8@ideasonboard.com\n\n---\nDaniel Scally (12):\n      ipa: ipu3: Remove ~Awb() from source and header\n      ipu3: awb: Remove CCM settings from Awb algorithm\n      ipa: ipu3: Convert from separate gains to RGB<double> in AGC\n      ipa: ipu3: awb: Port to the new libipa AwbAlgorithm\n      ipa: ipu3: ccm: Add a Colour Correction Matrix algorithm\n      ipa: libipa: Add GammaAlgorithm class\n      ipa: ipu3: ToneMapping: Convert to use GammaAlgorithm\n      ipa: ipu3: Add Ccm to uncalibrated.yaml\n      ipa: rkisp1: goc: Re-work to use GammaAlgorithm class\n      ipa: ipu3: Don't pass sensorInfo to updateControls()\n      ipa: ipu3: Add IPACameraSensorInfo to IPAContext\n      ipa: ipu3: Add Lens Shading Correction algorithm\n\n src/ipa/ipu3/algorithms/agc.cpp          |  11 +-\n src/ipa/ipu3/algorithms/agc.h            |   6 +-\n src/ipa/ipu3/algorithms/awb.cpp          | 214 ++++++++++------------\n src/ipa/ipu3/algorithms/awb.h            |  22 ++-\n src/ipa/ipu3/algorithms/ccm.cpp          | 116 ++++++++++++\n src/ipa/ipu3/algorithms/ccm.h            |  48 +++++\n src/ipa/ipu3/algorithms/lsc.cpp          | 296 +++++++++++++++++++++++++++++++\n src/ipa/ipu3/algorithms/lsc.h            |  60 +++++++\n src/ipa/ipu3/algorithms/meson.build      |   2 +\n src/ipa/ipu3/algorithms/tone_mapping.cpp |  73 ++++----\n src/ipa/ipu3/algorithms/tone_mapping.h   |  12 +-\n src/ipa/ipu3/data/uncalibrated.yaml      |   1 +\n src/ipa/ipu3/ipa_context.cpp             |  77 ++++----\n src/ipa/ipu3/ipa_context.h               |  30 ++--\n src/ipa/ipu3/ipu3.cpp                    |  29 ++-\n src/ipa/libipa/gamma.cpp                 | 257 +++++++++++++++++++++++++++\n src/ipa/libipa/gamma.h                   |  94 ++++++++++\n src/ipa/libipa/meson.build               |   2 +\n src/ipa/rkisp1/algorithms/goc.cpp        |  63 ++-----\n src/ipa/rkisp1/algorithms/goc.h          |   7 +-\n src/ipa/rkisp1/ipa_context.h             |  10 +-\n 21 files changed, 1137 insertions(+), 293 deletions(-)\n---\nbase-commit: d780e285b593dd12e950777c13f69ce0799981e1\nchange-id: 20260616-ipu3-libipa-rework-f2364436d42b\nprerequisite-change-id: 20260615-libipa-algorithms-59666bca0a2f\n\nBest regards,"
}