Show a cover letter.

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

{
    "id": 8527,
    "url": "https://patchwork.libcamera.org/api/1.1/covers/8527/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/8527/",
    "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": "<20200701123036.51922-1-jacopo@jmondi.org>",
    "date": "2020-07-01T12:30:21",
    "name": "[libcamera-devel,00/15] libcamera: ipu3: Rework streams configuration",
    "submitter": {
        "id": 3,
        "url": "https://patchwork.libcamera.org/api/1.1/people/3/?format=api",
        "name": "Jacopo Mondi",
        "email": "jacopo@jmondi.org"
    },
    "mbox": "https://patchwork.libcamera.org/cover/8527/mbox/",
    "series": [
        {
            "id": 1066,
            "url": "https://patchwork.libcamera.org/api/1.1/series/1066/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=1066",
            "date": "2020-07-01T12:30:21",
            "name": "libcamera: ipu3: Rework streams configuration",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/1066/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/8527/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 63AEBBF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  1 Jul 2020 12:27:21 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0BFA760C57;\n\tWed,  1 Jul 2020 14:27:21 +0200 (CEST)",
            "from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net\n\t[217.70.183.197])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C8BF4603B4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  1 Jul 2020 14:27:19 +0200 (CEST)",
            "from uno.lan (93-34-118-233.ip49.fastwebnet.it [93.34.118.233])\n\t(Authenticated sender: jacopo@jmondi.org)\n\tby relay5-d.mail.gandi.net (Postfix) with ESMTPSA id 407C61C0011;\n\tWed,  1 Jul 2020 12:27:18 +0000 (UTC)"
        ],
        "X-Originating-IP": "93.34.118.233",
        "From": "Jacopo Mondi <jacopo@jmondi.org>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Wed,  1 Jul 2020 14:30:21 +0200",
        "Message-Id": "<20200701123036.51922-1-jacopo@jmondi.org>",
        "X-Mailer": "git-send-email 2.27.0",
        "MIME-Version": "1.0",
        "Subject": "[libcamera-devel] [PATCH 00/15] libcamera: ipu3: Rework streams\n\tconfiguration",
        "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>",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "I started this series with the final goal of integrating in the IPU3 pipeline\nhandler with the calculation of the IF, BDS and GDC rectangle, which are at\nthe moment defaulted to the ImgU frame input sizes.\n\nBefore attempting to calculate the sizes required for the pipeline\ncomponents, I realized the IPU3 stream configuration had to be mostly reworked.\n\nThe IPU3 pipeline handler stream configuration has been the first one that has\nbeen developed in libcamera, and it has not been updated since. This series\nrework that part, paving the way for the pipeline sizes calculation, which is\nyet implemented, but will be provided on-top.\n\nThe series starts with a simple rename of an internal map of formats, then it\nreworks the generateConfiguration() operation in order to remove stream\nassignment from it. Following two minor patches, it then implements support for\nreporting the available stream formats associated to the stream configurations\ngenerated by the pipeline handler in [5/15].\n\nThen validate() gets re-worked, as the current version has some arbitrary\nassumptions, and still requires streams to be assigned to configurations, which\nshall instead happen at configure() time.\n\nAfter reworking validation and a few more clean-up patches, the series moves to\nrework configure() to perform stream assignment and more strict checks on the\nsupported stream combinations. As after [8/15] Streams are handled in\nconfigure() only, the streams_ vector and the camera_ shared pointer can be\nremoved from IPU3CameraConfiguration in [9/15] and [10/15].\n\nFrom [11/15] onward, the pipeline handler gets prepared to calculate the IF,\nBDS and GDC sizes, by instrumenting the ImgUDevice::configure() function\nwith all the parameter it needs to perform the computation. A few more\nclean up patches close the series.\n\nMost notable improvements are:\n- Support more stream combinations: before this series, asking for\n  two viewfinder streams, a viewfinder and a video stream or two video\n  streams was not allowed.\n\n- Report StreamFormats for each generated StreamConfiguration\n\n- Make sure no more than one raw and two non-raw streams are requested\n\n- Assign streams to video nodes in a way that reduces the risk of cropping the\n  field of view\n\n- Pave the way for integrating pipeline sizes configuration in\n  ImgUDevice::configure()\n\nThanks\n   j\n\nJacopo Mondi (15):\n  libcamera: ipu3: Rename mbusCodesToInfo\n  libcamera: ipu3: Remove streams from generateConfiguration\n  libcamera: ipu3: cio2: Report format and sizes\n  libcamera: ipu3: Do not overwrite StreamConfiguration\n  libcamera: ipu3: Report StreamFormats\n  libcamera: ipu3: Rework stream validation\n  libcamera: ipu3: Refuse unsupported configuration\n  libcamera: ipu3: Assign streams at configure() time\n  libcamera: ipu3: Remove streams from IPU3CameraConfiguration\n  libcamera: ipu3: Remove camera_ from IPU3CameraConfiguration\n  libcamera: geometry: Add isNull() function to Rectangle class\n  libcamera: ipu3: add ImgUDevice::Pipe\n  libcamera: ipu3: Collect ImgU pipe configuration\n  libcamera: ipu3: Rename ImgUDevice::configureInput()\n  libcamera: ipu3: Pass cio2 fourcc to ImgUDevice::configure()\n\n include/libcamera/geometry.h         |   1 +\n src/libcamera/geometry.cpp           |   6 +\n src/libcamera/pipeline/ipu3/cio2.cpp |  61 +++-\n src/libcamera/pipeline/ipu3/cio2.h   |   7 +\n src/libcamera/pipeline/ipu3/imgu.cpp |  45 ++-\n src/libcamera/pipeline/ipu3/imgu.h   |   9 +-\n src/libcamera/pipeline/ipu3/ipu3.cpp | 409 +++++++++++++--------------\n 7 files changed, 306 insertions(+), 232 deletions(-)\n\n--\n2.27.0"
}