Show a cover letter.

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

{
    "id": 2176,
    "url": "https://patchwork.libcamera.org/api/1.1/covers/2176/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/2176/",
    "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": "<20191013001340.14266-1-laurent.pinchart@ideasonboard.com>",
    "date": "2019-10-13T00:13:36",
    "name": "[libcamera-devel,PATCH/RFC,v2,0/4] Convert IPA API to plain C",
    "submitter": {
        "id": 2,
        "url": "https://patchwork.libcamera.org/api/1.1/people/2/?format=api",
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/2176/mbox/",
    "series": [
        {
            "id": 532,
            "url": "https://patchwork.libcamera.org/api/1.1/series/532/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=532",
            "date": "2019-10-13T00:13:36",
            "name": "Convert IPA API to plain C",
            "version": 2,
            "mbox": "https://patchwork.libcamera.org/series/532/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/2176/comments/",
    "headers": {
        "Return-Path": "<laurent.pinchart@ideasonboard.com>",
        "Received": [
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id DC60B60BE5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 13 Oct 2019 02:13:48 +0200 (CEST)",
            "from pendragon.bb.dnainternet.fi\n\t(dfj612yhrgyx302h3jwwy-3.rev.dnainternet.fi\n\t[IPv6:2001:14ba:21f5:5b00:ce28:277f:58d7:3ca4])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 5D3B033A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 13 Oct 2019 02:13:48 +0200 (CEST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1570925628;\n\tbh=Tcj6z+RVv+9+dEmXZ3ou4I/AZjyct0hzVX4yHEocRuQ=;\n\th=From:To:Subject:Date:From;\n\tb=pYPwr6lqrbL5jKjHACGY6pNvZm2HCMGcRO2CoulpIvkkRYxGKVlHqH8Oy0bdPJzQz\n\tj5p17TeCR+4gdWxFLQV0cYRaxSOKWFpaUVt2aCON3UdEWJzHL5zYHqVi+W7dBR/PX6\n\tV043IXUP8v3qFTKvvn7E/kHKI8O7ubjO2ehr49yk=",
        "From": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Sun, 13 Oct 2019 03:13:36 +0300",
        "Message-Id": "<20191013001340.14266-1-laurent.pinchart@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.21.0",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH/RFC v2 0/4] Convert IPA API to plain C",
        "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>",
        "X-List-Received-Date": "Sun, 13 Oct 2019 00:13:49 -0000"
    },
    "content": "Hello,\n\nThis series converts the C++ IPA API to plain C. It gathers patches that\nhave already been posted separately, and reworks, improves and extends\nthem.\n\nThe rationale is explained in patch 2/4: to allow for closed-source IPAs\nthat don't link to libcamera, we need to offer a plain C API to IPAs.\n\nThe series starts in patch 1/4 with a small extension to the Buffer\nclass that is needed by later patches. Patch 2/4 then introduces the C\nAPI, and patch 3/4 switches to it. The C++ IPAInterface class is kept as\nit is easier to use from pipeline handlers (and can come handy for the\nimplementation of IPAs too), we thus introduce wrappers to convert\nbetween the C and C++ APIs.\n\nPatch 4/4 finally offers a shortcut to avoid conversions between the C\nand C++ APIs when the IPA module implements an IPAInterface internally.\n\nThis is still work in progress, the IPAInterface configure(),\nprocessEvents() and queueFrameAction are not fully implemented yet. The\ninfrastructure is present, but the parameters to the calls are not\ntranslated. This will likely require serialisation of ControlList and\nV4L2ControlInfoMap to complete the implementation.\n\nJacopo Mondi (1):\n  ipa: Switch to the plain C API\n\nLaurent Pinchart (3):\n  libcamera: buffer: Add const accessor to Buffer planes\n  ipa: Define a plain C API\n  ipa: Allow short-circuiting the ipa_context_ops\n\n Documentation/Doxyfile.in                     |   1 +\n Documentation/meson.build                     |   2 +\n include/ipa/ipa_interface.h                   |  45 ++++\n include/libcamera/buffer.h                    |   1 +\n src/ipa/ipa_vimc.cpp                          |   6 +-\n src/ipa/libipa/ipa_interface_wrapper.cpp      | 159 +++++++++++\n src/ipa/libipa/ipa_interface_wrapper.h        |  46 ++++\n src/ipa/libipa/meson.build                    |  11 +\n src/ipa/meson.build                           |   3 +\n src/libcamera/buffer.cpp                      |   6 +\n src/libcamera/include/ipa_context_wrapper.h   |  41 +++\n src/libcamera/include/ipa_module.h            |   5 +-\n src/libcamera/include/meson.build             |   1 +\n src/libcamera/ipa_context_wrapper.cpp         | 158 +++++++++++\n src/libcamera/ipa_interface.cpp               | 246 +++++++++++++++---\n src/libcamera/ipa_manager.cpp                 |  67 ++++-\n src/libcamera/ipa_module.cpp                  |  23 +-\n src/libcamera/meson.build                     |   1 +\n .../proxy/worker/ipa_proxy_linux_worker.cpp   |   8 +-\n 19 files changed, 780 insertions(+), 50 deletions(-)\n create mode 100644 src/ipa/libipa/ipa_interface_wrapper.cpp\n create mode 100644 src/ipa/libipa/ipa_interface_wrapper.h\n create mode 100644 src/ipa/libipa/meson.build\n create mode 100644 src/libcamera/include/ipa_context_wrapper.h\n create mode 100644 src/libcamera/ipa_context_wrapper.cpp"
}