Show a cover letter.

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

{
    "id": 16381,
    "url": "https://patchwork.libcamera.org/api/covers/16381/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/16381/",
    "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": "<20220627162732.33160-1-jacopo@jmondi.org>",
    "date": "2022-06-27T16:27:17",
    "name": "[libcamera-devel,00/15] Internal controls, sensor delays and IPA init/configure rework",
    "submitter": {
        "id": 3,
        "url": "https://patchwork.libcamera.org/api/people/3/?format=api",
        "name": "Jacopo Mondi",
        "email": "jacopo@jmondi.org"
    },
    "mbox": "https://patchwork.libcamera.org/cover/16381/mbox/",
    "series": [
        {
            "id": 3224,
            "url": "https://patchwork.libcamera.org/api/series/3224/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3224",
            "date": "2022-06-27T16:27:17",
            "name": "Internal controls, sensor delays and IPA init/configure rework",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/3224/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/16381/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 7192CBD808\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 27 Jun 2022 16:27:41 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8C3BF65635;\n\tMon, 27 Jun 2022 18:27:40 +0200 (CEST)",
            "from relay7-d.mail.gandi.net (relay7-d.mail.gandi.net\n\t[IPv6:2001:4b98:dc4:8::227])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 76D206059B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 27 Jun 2022 18:27:39 +0200 (CEST)",
            "(Authenticated sender: jacopo@jmondi.org)\n\tby mail.gandi.net (Postfix) with ESMTPSA id 8B7802000C;\n\tMon, 27 Jun 2022 16:27:38 +0000 (UTC)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1656347260;\n\tbh=LdodLVjx2elvsFzCyUgfoO7IuBTIh1j4Bg1ydGpKu5E=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=wuS+AYpaMnqlotNf55LhiqdabKU15eRCHMAur4ycczxqLRKgtBw8N5UwWoijp5/La\n\t+bXCX5FRBINsYh7kpNhpiC3fDv2ExRJ23ehOY5imbUH82bBlX4xiO5zN9DwOTvO2CQ\n\t1qSuXhufvm1iHrEduBlC0Mldi1VT/+PLMFfy/6jIP92gQAdd1JtSb/FlkgUuCpaxoJ\n\toTtfgWChcrKRIwvQmOx8n9cpfD1CGbsKUSJH65bKZK2iRK9xDJHuc3Y1UEWwIvdZpR\n\t1uY23+gK+zFYahEZqlXa//QNPkVVZHy7mrw9OTFgiKP6LfMGE4uN40TbkwnSp6W5ZA\n\tPas2FI3pFSWqQ==",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Mon, 27 Jun 2022 18:27:17 +0200",
        "Message-Id": "<20220627162732.33160-1-jacopo@jmondi.org>",
        "X-Mailer": "git-send-email 2.36.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH 00/15] Internal controls,\n\tsensor delays and IPA init/configure rework",
        "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>",
        "From": "Jacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>",
        "Reply-To": "Jacopo Mondi <jacopo@jmondi.org>",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "Hello,\n   this series collects one on top of the others three developments, which\nshould ideally continue in the direction of removing V4L2 controls from the\nPH/IPA interaction.\n\nPatches 1 to 3 introduce internal controls. The patches have already been sent\nand reviewed by Jean-Michel. I have however fixed a bug in 1/15 and dropped the\ntag.\n\nPatches 4 5 and 6 introduce a map of delays associated to the newly introduced\ninternal control to replace the hardcoded delays in use in IPU3. The PH\nstill interfaces with delayed controls, which reasons in V4L2 terms, so delays\nare translated from libcamera::internal to V4L2.\n\nOn top of this development starts the reworking of the IPA interface to remove\nV4L2 controls. The patches here included remove V4L2 control from init and\nconfigure, as those function do not require to interface with delayed controls.\n\nAlong the way a few fixes/rework of the IPA code, specifically:\n- Use the actual VBLANK value and not the control's default\n- Re-calculate the line length as it's now fixed at init time\n- Store all session variables in the context instead of mixing class members\n  and context\n- Rework the operation flow slightly to assign a more logical order.\n\nI assume the last part of the series is not the most urgent to be merged, as it\nwon't however remove V4L2 controls from IPA until we don't rework delayed\ncontrols, but I would appreciate feedback already, especially from IPA developers.\n\nThanks\n\nJacopo Mondi (15):\n  libcamera: control_ids: Add 'internal' argument\n  libcamera: control_ids: Separate the id numerical space\n  libcamera: Introduce internal controls\n  libcamera: camera_sensor_properties: Add sensor delays\n  libcamera: camera_sensor: Retrieve sensor delays\n  libcamera: ipu3: Initialize DelayedControls with camera properties\n  libcamera: camera_sensor: Rename the control interface\n  libcamera: camera_sensor: Initialize controls\n  libcamera: control_serializer: Support internal controls\n  libcamera: ipu3: Initialize Camera controls in the PH\n  libcamera: IPACameraSensorInfo: Add VBLANK\n  libcamera: ipa: Use the current VBLANK value\n  libcamera: ipu3: ipa: Use an updated lineDuration\n  ipa: ipu3: Configure IPA with libcamera controls\n  ipa: ipu3: Rework IPAIPU3::processStatsBuffer()\n\n include/libcamera/control_ids.h.in            |   6 +-\n include/libcamera/internal/camera_sensor.h    |  13 +-\n .../internal/camera_sensor_properties.h       |   2 +\n include/libcamera/internal/meson.build        |  15 ++\n include/libcamera/ipa/core.mojom              |   6 +\n include/libcamera/ipa/ipa_controls.h          |   1 +\n include/libcamera/ipa/ipu3.mojom              |   8 +-\n src/ipa/ipu3/ipa_context.cpp                  |  14 +-\n src/ipa/ipu3/ipa_context.h                    |   9 +-\n src/ipa/ipu3/ipu3.cpp                         | 229 ++++++------------\n src/libcamera/camera_sensor.cpp               | 134 +++++++++-\n src/libcamera/camera_sensor_properties.cpp    |  32 +++\n src/libcamera/control_ids.cpp.in              |  12 +-\n src/libcamera/control_serializer.cpp          |   6 +\n src/libcamera/internal_control_ids.yaml       |  64 +++++\n src/libcamera/meson.build                     |  17 ++\n src/libcamera/pipeline/ipu3/ipu3.cpp          |  78 +++---\n .../pipeline/raspberrypi/raspberrypi.cpp      |  14 +-\n src/libcamera/pipeline/rkisp1/rkisp1.cpp      |   2 +-\n src/libcamera/pipeline/vimc/vimc.cpp          |   8 +-\n utils/gen-controls.py                         |  24 +-\n 21 files changed, 469 insertions(+), 225 deletions(-)\n create mode 100644 src/libcamera/internal_control_ids.yaml\n\n--\n2.36.1"
}