Show a cover letter.

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

{
    "id": 8457,
    "url": "https://patchwork.libcamera.org/api/covers/8457/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/8457/",
    "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": "<20200628001532.2685967-1-niklas.soderlund@ragnatech.se>",
    "date": "2020-06-28T00:15:19",
    "name": "[libcamera-devel,v2,00/13] libcamera: ipu3: Refactoring of ImgU",
    "submitter": {
        "id": 5,
        "url": "https://patchwork.libcamera.org/api/people/5/?format=api",
        "name": "Niklas Söderlund",
        "email": "niklas.soderlund@ragnatech.se"
    },
    "mbox": "https://patchwork.libcamera.org/cover/8457/mbox/",
    "series": [
        {
            "id": 1048,
            "url": "https://patchwork.libcamera.org/api/series/1048/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=1048",
            "date": "2020-06-28T00:15:19",
            "name": "libcamera: ipu3: Refactoring of ImgU",
            "version": 2,
            "mbox": "https://patchwork.libcamera.org/series/1048/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/8457/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 85DF8C2E69\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun, 28 Jun 2020 00:15:48 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id CA634609C5;\n\tSun, 28 Jun 2020 02:15:47 +0200 (CEST)",
            "from bin-mail-out-06.binero.net (bin-mail-out-06.binero.net\n\t[195.74.38.229])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id AE432609A9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 28 Jun 2020 02:15:45 +0200 (CEST)",
            "from bismarck.berto.se (p4fca2eca.dip0.t-ipconnect.de\n\t[79.202.46.202]) by bin-vsp-out-03.atm.binero.net (Halon) with ESMTPA\n\tid 6bbd32ff-b8d4-11ea-86ee-0050569116f7;\n\tSun, 28 Jun 2020 02:15:10 +0200 (CEST)"
        ],
        "X-Halon-ID": "6bbd32ff-b8d4-11ea-86ee-0050569116f7",
        "Authorized-sender": "niklas@soderlund.pp.se",
        "From": "=?utf-8?q?Niklas_S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Sun, 28 Jun 2020 02:15:19 +0200",
        "Message-Id": "<20200628001532.2685967-1-niklas.soderlund@ragnatech.se>",
        "X-Mailer": "git-send-email 2.27.0",
        "MIME-Version": "1.0",
        "Subject": "[libcamera-devel] [PATCH v2 00/13] libcamera: ipu3: Refactoring of\n\tImgU",
        "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=\"utf-8\"",
        "Content-Transfer-Encoding": "base64",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "Hi,\n\nThis series do some cleanup of the IPU3 pipeline. It removes dead or\nalmost dead code, replacing it with something more coherent to what is\ndone elsewhere in the pipeline. It breaks out the ImgU to a separate cpp\nand h file.\n\nIt reworks a bit how the streams are identified and handled inside the\npipeline. When the pipeline was first developed only the output and\nviewfinder streams where available, now we have a RAW stream in addition\nto this. Some of the abstraction around streams and which hardware\nresource they are backed by made sens in the earlier context but not so\nmuch once RAW is added to the mix. The biggest difference in this rework\nis that the ImgUDevice gets explicit functions to configure each of its\nsink instead of having a generic one which depends which pointer is\npassed to it. This makes reading code where RAW and ImgU streams are\nmixed much nicer IMHO.\n\nLastly some assumptions that buffers must be allocated at video nodes\nthat are not involved in the capture session are being challenged. This\nwas true a year ago but not any more it seems. Chancing this simplifies\nthe driver enormously and saves on memory that otherwise would be\nwasted. I have really tried to force the end result to failed by\nresetting the hardware between each test so that no video node\nconfiguration from a previous sessions saves the day.\n\nI have for both sensors reset the hardware and then tested the following\ncapture combinations successfully. After the first capture session for\neach one in the list that was done after a power cycle all the other\ncaptures where tried in a semi random order and always succeeded.\n\n  cam -c 1 -s role=viewfinder -C\n  cam -c 1 -s role=still  -C\n  cam -c 1 -s role=still -s role=viewfinder -C\n  cam -c 1 -s role=still -s role=viewfinder -s role=stillraw -C\n  cam -c 1 -s role=stillraw -C\n\nNiklas Söderlund (13):\n  libcamera: ipu3: Remove unused name_ filed from IPU3Stream\n  libcamera: ipu3: Import instead of allocate statistic buffers\n  libcamera: ipu3: Always import buffers for ImgU sinks\n  libcamera: ipu3: Remove usage of IPU3CameraData from ImgUDevice\n  libcamera: ipu3: imgu: Move the ImgUDevice class to separate files\n  libcamera: ipu3: imgu: Do not cache index\n  libcamera: ipu3: imgu: Mark things that are internal as private\n  libcamera: ipu3: imgu: Use specific functions to configure each sink\n  libcamera: ipu3: Do not duplicate data in IPU3Stream\n  libcamera: ipu3: Remove the active flag from IPU3Stream\n  libcamera: ipu3: Remove IPU3Stream\n  libcamera: ipu3: imgu: Remove ImgUOutput\n  libcamera: ipu3: imgu: Use unique_ptr for video and subdevices\n\n src/libcamera/pipeline/ipu3/imgu.cpp    | 353 +++++++++++++++\n src/libcamera/pipeline/ipu3/imgu.h      |  87 ++++\n src/libcamera/pipeline/ipu3/ipu3.cpp    | 548 +++---------------------\n src/libcamera/pipeline/ipu3/meson.build |   1 +\n 4 files changed, 505 insertions(+), 484 deletions(-)\n create mode 100644 src/libcamera/pipeline/ipu3/imgu.cpp\n create mode 100644 src/libcamera/pipeline/ipu3/imgu.h"
}