Show a cover letter.

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

{
    "id": 1348,
    "url": "https://patchwork.libcamera.org/api/1.1/covers/1348/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/1348/",
    "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": "<20190605005316.4835-1-paul.elder@ideasonboard.com>",
    "date": "2019-06-05T00:53:06",
    "name": "[libcamera-devel,v3,00/10] Add IPAManager and IPAInterface",
    "submitter": {
        "id": 17,
        "url": "https://patchwork.libcamera.org/api/1.1/people/17/?format=api",
        "name": "Paul Elder",
        "email": "paul.elder@ideasonboard.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/1348/mbox/",
    "series": [
        {
            "id": 336,
            "url": "https://patchwork.libcamera.org/api/1.1/series/336/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=336",
            "date": "2019-06-05T00:53:06",
            "name": "Add IPAManager and IPAInterface",
            "version": 3,
            "mbox": "https://patchwork.libcamera.org/series/336/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/1348/comments/",
    "headers": {
        "Return-Path": "<paul.elder@ideasonboard.com>",
        "Received": [
            "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 6B4F464713\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  5 Jun 2019 02:53:27 +0200 (CEST)",
            "from localhost.localdomain (unknown [96.44.9.117])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id B033A2D1;\n\tWed,  5 Jun 2019 02:53:26 +0200 (CEST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1559696007;\n\tbh=CK1dEeHk1LpxqTIs4C2hF+nejxOBjUMWpHss40sStic=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=QmtS/Eh+CvlZHZ5siUiZqSePtENKBCLF8x+ts9BhSa+evK05uQ+KzAwWPj5ZU2zTT\n\tY4YaQlfxA6hDT6z5Xko9XOPu62+waWcHxaHx1KuqtUFi+QVT/0G6KbseWE3dQ4akzx\n\trcN4kg5CxTRqMDgNYWVpwgRqstrp67D8vH23uDWg=",
        "From": "Paul Elder <paul.elder@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Tue,  4 Jun 2019 20:53:06 -0400",
        "Message-Id": "<20190605005316.4835-1-paul.elder@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.20.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH v3 00/10] Add IPAManager and IPAInterface",
        "X-BeenThere": "libcamera-devel@lists.libcamera.org",
        "X-Mailman-Version": "2.1.23",
        "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": "Wed, 05 Jun 2019 00:53:27 -0000"
    },
    "content": "Pipeline handlers need a way to acquire an IPA module. To achieve this,\nwe use an IPA manager, that loads many IPA modules, after which a\npipeline handler can ask the IPA manager for an IPA module that matches\nit. Each IPA can only be used with one pipeline handler, but a pipeline\nhandler may work with many IPAs (not simultaneously).\nThe pipeline handlers also need names and versions (previously only the\nfactory had a name) to be matched with an IPA module.\n\nEach IPA module, in a shared object, implements an IPAInterface class,\nwhich defines the interface between a pipeline hander and an IPA\nimplementation, hence the name.\n\nChanges in v3:\n- remove major and minor pipeline version and replace with a single\n  number\n- when finding an IPA for a pipeline, the pipeline handler supplies a\n  version range, and the pipeline handler no longer has its own version\n- pipeline handlers are not 1-to-1 with IPAs, so the generic\n  PipelineHandler class no longer has an IPA member variable\n\nChanges in v2:\n- add PIPELINE_VERSION macro to convert a major minor version pair to a\n  single version number\n- make the IPA module directory hardcoded to the insallation directory,\n  and read additional paths from an environment variable\n- pipeline handlers save the IPA that they load\n\nPaul Elder (10):\n  libcamera: ipa_interface: add header\n  libcamera: pipeline: add name\n  libcamera: ipa_module_info: update struct to allow IPA matching\n  libcamera: ipa_module: verify IPA module API version upon loading\n  libcamera: ipa_module: allow instantiation of IPAInterface\n  libcamera: ipa_module: match IPA module with pipeline handler\n  libcamera: ipa_manager: implement class for managing IPA modules\n  libcamera: ipa: add dummy IPA implementation\n  libcamera: test: remove test IPA and use dummy IPA instead\n  libcamera: pipeline: vimc: add dummy IPA\n\n Documentation/Doxyfile.in                |   7 +-\n include/libcamera/ipa/ipa_interface.h    |  22 ++++\n include/libcamera/ipa/ipa_module_info.h  |  10 +-\n include/libcamera/meson.build            |   1 +\n src/ipa/ipa_dummy.cpp                    |  45 +++++++\n src/ipa/meson.build                      |  15 +++\n src/libcamera/include/ipa_manager.h      |  40 ++++++\n src/libcamera/include/ipa_module.h       |  17 +++\n src/libcamera/include/pipeline_handler.h |  14 ++-\n src/libcamera/ipa_interface.cpp          |  27 ++++\n src/libcamera/ipa_manager.cpp            | 149 +++++++++++++++++++++++\n src/libcamera/ipa_module.cpp             | 138 +++++++++++++++++++--\n src/libcamera/meson.build                |   6 +-\n src/libcamera/pipeline/vimc.cpp          |  11 ++\n src/libcamera/pipeline_handler.cpp       |  17 +++\n src/meson.build                          |   1 +\n test/ipa/ipa_test.cpp                    |  33 +++--\n test/ipa/meson.build                     |  11 --\n test/ipa/shared_test.c                   |   6 -\n test/ipa/shared_test.cpp                 |  12 --\n test/libtest/test.cpp                    |   6 +\n 21 files changed, 526 insertions(+), 62 deletions(-)\n create mode 100644 include/libcamera/ipa/ipa_interface.h\n create mode 100644 src/ipa/ipa_dummy.cpp\n create mode 100644 src/ipa/meson.build\n create mode 100644 src/libcamera/include/ipa_manager.h\n create mode 100644 src/libcamera/ipa_interface.cpp\n create mode 100644 src/libcamera/ipa_manager.cpp\n delete mode 100644 test/ipa/shared_test.c\n delete mode 100644 test/ipa/shared_test.cpp"
}