Show a cover letter.

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

{
    "id": 26502,
    "url": "https://patchwork.libcamera.org/api/covers/26502/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/26502/",
    "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": "<20260408115606.12417-1-johannes.goede@oss.qualcomm.com>",
    "date": "2026-04-08T11:56:02",
    "name": "[v4,0/4] ipa: Allow IPA creation by name",
    "submitter": {
        "id": 242,
        "url": "https://patchwork.libcamera.org/api/people/242/?format=api",
        "name": "Hans de Goede",
        "email": "johannes.goede@oss.qualcomm.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/26502/mbox/",
    "series": [
        {
            "id": 5876,
            "url": "https://patchwork.libcamera.org/api/series/5876/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5876",
            "date": "2026-04-08T11:56:02",
            "name": "ipa: Allow IPA creation by name",
            "version": 4,
            "mbox": "https://patchwork.libcamera.org/series/5876/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/26502/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 F297ABDCBD\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  8 Apr 2026 11:56:14 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 08F1C62DDA;\n\tWed,  8 Apr 2026 13:56:14 +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 8643D62CE6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  8 Apr 2026 13:56:12 +0200 (CEST)",
            "from pps.filterd (m0279863.ppops.net [127.0.0.1])\n\tby mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n\t638B1XGF263064 for <libcamera-devel@lists.libcamera.org>;\n\tWed, 8 Apr 2026 11:56:10 GMT",
            "from mail-qt1-f200.google.com (mail-qt1-f200.google.com\n\t[209.85.160.200])\n\tby mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dd7t236bh-1\n\t(version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 08 Apr 2026 11:56:10 +0000 (GMT)",
            "by mail-qt1-f200.google.com with SMTP id\n\td75a77b69052e-50b274f94f8so5649881cf.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 08 Apr 2026 04:56:10 -0700 (PDT)",
            "from t14s\n\t(2001-1c00-0c32-7800-07d4-cca3-ec08-7ac7.cable.dynamic.v6.ziggo.nl.\n\t[2001:1c00:c32:7800:7d4:cca3:ec08:7ac7])\n\tby smtp.gmail.com with ESMTPSA id\n\ta640c23a62f3a-b9c3cec6c1csm639102066b.39.2026.04.08.04.56.07\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tWed, 08 Apr 2026 04:56:07 -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=\"of0YCgcB\"; dkim=pass (2048-bit key;\n\tunprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n\theader.b=\"HVakbST/\"; 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:message-id\n\t:mime-version:subject:to; s=qcppdkim1; bh=k7HmXF3U5pQ7m5d5Zj8IVY\n\tPHDNWcg3mF+VgaFylPByY=; b=of0YCgcB9981n//ZJZS7pKcL2SPGMziRqNFM7+\n\tu9/+1iOyulaWVBiMHc4P+nelXtx497C2SLnHrR1T2KBym3uyZCdcEQyfopBKI+4A\n\tkCd7JI7ZYK24WdiLcBQvQ1myLyg20b3P7/Ra5P3rt0lmVczWkm7e32j6zMLQL0DO\n\tbC4d8RR8zjawDfSOAqHXuAQD386fzMptlZZgBFIoIIgoCN+CHSsZ86J8nADeq4O0\n\tl2ySEf5hmtCSKLH3dDWF1E+CxfgDNxVudjZCsBh883tym+sBZInNwYs5GQzAvmbZ\n\tEBJD4HDxEP8uYwks4YF1IVLT0OTjyc7/q17Dkh9romPQ+L0w==",
            "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=oss.qualcomm.com; s=google; t=1775649369; x=1776254169;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:from:to:cc:subject:date:message-id:reply-to;\n\tbh=k7HmXF3U5pQ7m5d5Zj8IVYPHDNWcg3mF+VgaFylPByY=;\n\tb=HVakbST/osK+4YiuwbPzzRDOUymhGYTZKORfuJ6Q9ocTxNi+w8yMFesJzi3/V2724j\n\tbvrXLRxWV0agdPaWNGh7xiv+EslCrDTnxIN0eDTIIzupfATDzFu38EMW5W5vfWiXdHpK\n\t556HAiPxaU3mZASppdecpAFzerT9vVm3T/xAL7hhFWF/cB42sVjkyGBKKY8k0e36vWCT\n\tK3GhWh32PJ08l497RKv50XTVujHE3zvRX9bTvqhP7AjGxzRpZhrnvTY0ao8EkDx+JAG5\n\tMwjLXU91PhwrGyZK6/+9/zSbXvZrO7bkT7fgMnAKdoLJGvZ1pgzx3wIgaWhZYquqk1H9\n\tXWLQ=="
        ],
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20251104; t=1775649369; x=1776254169;\n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=k7HmXF3U5pQ7m5d5Zj8IVYPHDNWcg3mF+VgaFylPByY=;\n\tb=d4YvcaDDY+XSfSaOwWJ2Y9ZcI+l5O8wwgCCykXI/F8e9zQNs1kSU7Y3nxPhV6zo49v\n\tisJ7TvgK5pB5HJ8pnO5PE3cEz7CDyoEPux6cRXpnbVN/VFJCHDpH8UVvyE7UPXAEmwGC\n\t9NqVvUQgblPFcVqX55YMUyz+S/3BAmd7uMLT7MY5/MS9gqt9Qmsykfxdow/DIVb0A9pL\n\tJcr/IhHH5Va3EZXBvGwI7fbHNghStxZWIHUmRohbEXBYxy+S0hEwv3qKeNl/6Mng3EST\n\tR3Ih/QRZdJi0zg3KxTLMjFHPwK83Y1J0jSyFuFifhAMTszmBZJunKYcv5clO1nFXD98b\n\tVvpw==",
        "X-Gm-Message-State": "AOJu0Yy9XzA13kh/lXR76QJa61oGDOHattWK+6ct0nON0JrTy6txTN30\n\tX3ajApVJfwTE9JiptoruXYdjupjF0Z0D8HfvNhIDIrekEmbLTHZ4uojsQ+ECJu16kk6AkwQ82A9\n\ttqbYZ2Eg41wCiVwyftc7knhmU3FbAqSe7mUIVthQ9m9ARkMReL++viTbsy+0mWZ4wnz+RyLQOXB\n\tJ+e5k4aTfl",
        "X-Gm-Gg": "AeBDiesWhsQ+wgI2NwvzhQYTqm/RakQHZ+AHCDkMissxj42Rrxp5DT+rPhJJ3Lt06TZ\n\tqZJ0nUMCpN8NkxWkKf1uxLgGtSur59drl6JnR2K25afY9isAKUq64znV8p+V71X+4KjX/ZAA1HO\n\ttTGWme6zXBThxCdleSkEbejBAbOxlQZprf5sB03aiaGRDh272PWdQfry4eEj9RRKr8plisMoP8U\n\tkMxzHTrbOLOK3gYNgMehO0Htfj4LkbCeKKJ3b9l/U3OS0FmNHKpCHtMGnY8Iv8ta5pKRZgD7juE\n\tYZe3LrCoWzm+afRWROpu0jpS5bp3iV4mRGkBV/pVgqkyriFfTrO2A8WxD1JHLjHsgKkUhKsoYTt\n\tGnJTodXAw/Vblr02tCkmO1Vyut5ap4IV6/N92Iv0fHYr8rt7Q6fY0wp7nUERXGQRHvW0K0HsG+d\n\tAp+QHmCdMbhCvxBC8nKhtTcNC7I+6N3+n/",
        "X-Received": [
            "by 2002:ac8:5d93:0:b0:50d:815e:7977 with SMTP id\n\td75a77b69052e-50d815e809bmr191377261cf.34.1775649369368; \n\tWed, 08 Apr 2026 04:56:09 -0700 (PDT)",
            "by 2002:ac8:5d93:0:b0:50d:815e:7977 with SMTP id\n\td75a77b69052e-50d815e809bmr191376881cf.34.1775649368849; \n\tWed, 08 Apr 2026 04:56:08 -0700 (PDT)"
        ],
        "From": "Hans de Goede <johannes.goede@oss.qualcomm.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Cc": "Loic Poulain <loic.poulain@oss.qualcomm.com>,\n\tHans de Goede <johannes.goede@oss.qualcomm.com>",
        "Subject": "[PATCH v4 0/4] ipa: Allow IPA creation by name",
        "Date": "Wed,  8 Apr 2026 13:56:02 +0200",
        "Message-ID": "<20260408115606.12417-1-johannes.goede@oss.qualcomm.com>",
        "X-Mailer": "git-send-email 2.53.0",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "X-Authority-Analysis": "v=2.4 cv=De0nbPtW c=1 sm=1 tr=0 ts=69d6425a cx=c_pps\n\ta=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10\n\ta=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22\n\ta=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=YAyIRdgMAAAA:8\n\ta=NEAV23lmAAAA:8 a=XgNLnUgbCF3J9dMqSlQA:9 a=QEXdDO2ut3YA:10\n\ta=uxP6HrT_eTzRwkO_Te1X:22 a=o1rO4XtwZBNj6n05oSJ_:22",
        "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwNDA4MDExMCBTYWx0ZWRfXzWwJ3SqICwoE\n\toL/w9t9dEmNt8HXc/ZCxASxuDNZiOfiglReIleK27A3hGZVkU6CTT/MLDnyGKP1LXLxf443MUUi\n\tA2FqS51XQvxomp9cMjUFMMqljcTG7duQFoOdxrJCW3W19oe3HQd1sAQYYQOSvuKw/iYMDy6B47H\n\tg+zczrTVqDuHp71iCpr68hfQ4S1Rr7tUCIMYM+/YXr+yOaP+nqO1Xmt2V6H3TNEO7V4ylwDv5tq\n\tx5QBZpUAv+OgHAMPbYN1+B76jrG5IhrG2iypXD3HWU8lZmKZzsdeTzVqbferxwHEYDmTnezPcDL\n\tICreqV4ABpd6ugGpgMsQ/kg3k8+Tb7TdXQT1XDjOumK6pUnlogjFYdzmfQP5nErmOuNsK14zNnf\n\tTwJiNcs2TeQnSM7zG+zJjFLOOYKA1EYMeZIcaGy0RD4DClzvCDfdpMAo0KoFzckfSG6CK3HX3Q3\n\tn9fyfnjO4vPBtaSiSdA==",
        "X-Proofpoint-ORIG-GUID": "zWgc9Qa4JJPiilXC-HKi-s-7RklVE9VY",
        "X-Proofpoint-GUID": "zWgc9Qa4JJPiilXC-HKi-s-7RklVE9VY",
        "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-04-08_03,2026-04-08_01,2025-10-01_01",
        "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n\tspamscore=0 clxscore=1015 bulkscore=0 phishscore=0 priorityscore=1501\n\tmalwarescore=0 lowpriorityscore=0 suspectscore=0 impostorscore=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-2604010000\n\tdefinitions=main-2604080110",
        "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": "Hi All,\n\nThis is v4 of Jacopo's v3 \"ipa: Allow IPA creation by name\" series:\nhttps://patchwork.libcamera.org/project/libcamera/list/?series=5505\nWith that v3 itself being based on my original attempt to address this:\nhttps://patchwork.libcamera.org/patch/23359/\n\nSince the new camss pipeline handler will use the softISP as a fallback\non platforms where there is no hardware ISP support yet (so most platforms)\nit needs to be able to load the \"simple\" IPA from a pipeline-handler named\n\"camss\" requiring something like this series. This is the first of 3 series\nwhich together introduce the camss pipeline-handler. Here is a branch with\nall 3 series:\nhttps://github.com/jwrdegoede/libcamera/commits/camss_pipeline_v1/\n\nI hope to get this prep series merged while work continues on the camss\npipeline handler itself.\n\nOther use-cases for this are using the rkips1 IPA with the rcar-gen4\npipeline handler and using the simple IPA with the atomisp pipeline\nhandler.\n\nThis has been tested by Jacopo on R-Car Gen4 and on Mali-C55 and by me\non Qualcomm Agetti and Hamoa SoCs with both the simple and camss pipeline\nhandlers.\n\nChanges in v4:\n- Rebase, change author of first patch to my new email address\n\nChanges in v3:\n- Add \"ipa: Allow pipelines to have differently named IPA\" patch\n\nChanges in v2:\n- Update tags, fix stray blank line\n\nChanges in v1 from Hans' original patch:\n- Slightly different approach addressing the review comments on Hans' v1 by\n  creating an overload for IPAManager::createIPA() that allows pipelines to\n  specify the IPA module name.\n\nJacopo's original v3 cover-letter:\nhttps://lists.libcamera.org/pipermail/libcamera-devel/2025-October/053821.html\n\nRegards,\n\nHans\n\n\nHans de Goede (2):\n  libcamera: ipa_manager: Create IPA by name\n  libcamera: software_isp: Explicitly load \"simple\" IPA\n\nJacopo Mondi (2):\n  ipa: ipa_module: Remove pipelineName\n  ipa: Allow pipelines to have differently named IPA\n\n include/libcamera/internal/ipa_manager.h    | 13 +++++--\n include/libcamera/internal/ipa_module.h     |  4 +--\n include/libcamera/ipa/ipa_module_info.h     |  1 -\n src/ipa/ipu3/ipu3.cpp                       |  1 -\n src/ipa/mali-c55/mali-c55.cpp               |  1 -\n src/ipa/meson.build                         | 40 +++++++++++++++------\n src/ipa/rkisp1/rkisp1.cpp                   |  1 -\n src/ipa/rpi/pisp/pisp.cpp                   |  1 -\n src/ipa/rpi/vc4/vc4.cpp                     |  1 -\n src/ipa/simple/soft_simple.cpp              |  1 -\n src/ipa/vimc/vimc.cpp                       |  1 -\n src/libcamera/ipa_manager.cpp               | 34 ++++++++++++++----\n src/libcamera/ipa_module.cpp                | 27 +++++++-------\n src/libcamera/software_isp/software_isp.cpp |  2 +-\n test/ipa/ipa_module_test.cpp                |  3 --\n 15 files changed, 84 insertions(+), 47 deletions(-)"
}