Show a cover letter.

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

{
    "id": 19065,
    "url": "https://patchwork.libcamera.org/api/covers/19065/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/19065/",
    "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": "<20230921165550.50956-1-jacopo.mondi@ideasonboard.com>",
    "date": "2023-09-21T16:55:37",
    "name": "[libcamera-devel,v5,00/13] libcamera: Introduce SensorConfiguration",
    "submitter": {
        "id": 143,
        "url": "https://patchwork.libcamera.org/api/people/143/?format=api",
        "name": "Jacopo Mondi",
        "email": "jacopo.mondi@ideasonboard.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/19065/mbox/",
    "series": [
        {
            "id": 4034,
            "url": "https://patchwork.libcamera.org/api/series/4034/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4034",
            "date": "2023-09-21T16:55:37",
            "name": "libcamera: Introduce SensorConfiguration",
            "version": 5,
            "mbox": "https://patchwork.libcamera.org/series/4034/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/19065/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 5CEE8BE080\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 21 Sep 2023 16:56:04 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8548962948;\n\tThu, 21 Sep 2023 18:56:03 +0200 (CEST)",
            "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 8EF2F628D8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 21 Sep 2023 18:56:01 +0200 (CEST)",
            "from uno.lan (93-46-82-201.ip106.fastwebnet.it [93.46.82.201])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id EA1241102;\n\tThu, 21 Sep 2023 18:54:23 +0200 (CEST)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1695315363;\n\tbh=iYayj+kA3sVFnTa0nUEbQLYQ28qwbkFkmOKC2WF5w8M=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:Cc:From;\n\tb=VcCCDDq8R88HTwRb5FbAsHWUCQcd/hje4TB85kmy55B3vsStWYDLMRkMBS5V0cN5J\n\tjETOuC2T9QGl/SYGBYrGKJplnwj73txLku6iXKWIID+qwPdcmnDEs3l6n+wBksfHFH\n\t5XpCX6WQgJX1W4XwUiKvF9P3R0D5RPABNw7v16rki6z8mY3IGwBVQeCjoiop8gdmA7\n\tjJmVjBlTtGqeSmnGZylC57Rs8aNhQj4NkjD6MrH2ZeMsPsYY6+5mUS9X+jTbsOy9ih\n\tcpFJx+4X31kGE9Ft0M/PqynD0e6ooMIbRxIceTOA9QuddSy9Va9C8IWjdM3KGVYSkh\n\tZ3j/UqBa1qdPA==",
            "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1695315264;\n\tbh=iYayj+kA3sVFnTa0nUEbQLYQ28qwbkFkmOKC2WF5w8M=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=C3SXK5hqwOn/KsCxph1OhF+kNhC9wIZP0Nt/shjLQNXgFJDtIcNJHEaWd2qgXTUWy\n\tEd0I5DSUZ5QAjM4pnp+ecYQ3L8YYXOSIM+ixmhmr6TzRi3KfoD/3aM1GhF7nEwEwiy\n\t6bGudLIIgOjI9LJg8sGuThGgwGLFxfK/xyvK+2QY="
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"C3SXK5hq\"; dkim-atps=neutral",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Thu, 21 Sep 2023 18:55:37 +0200",
        "Message-ID": "<20230921165550.50956-1-jacopo.mondi@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.42.0",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH v5 00/13] libcamera: Introduce\n\tSensorConfiguration",
        "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.mondi@ideasonboard.com>",
        "Cc": "Jacopo Mondi <jacopo.mondi@ideasonboard.com>",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "Hello,\n  the series introduces a slightly more formally defined camera sensor model\nused to model a SensorConfiguration class, an instance of which is added to\nthe CameraConfiguration class. The newly introduced class allows to control the\nsensor configuration without abusing the RAW stream configuration, reason\nbeing some platforms do not allow to capture RAW frames as they get produced\nby the sensor.\n\nIntroduce a model for the SensorConfiguration class and implement its handling\non the RaspberryPi pipeline handler as a proof of concept.\n\nTested with an imx219, configured to capture frames with different sensor\nconfigurations, without using any RAW stream.\n\nOn top of the previously sent patches a series from Naush that simplifies the\nRaspberryPi validatation and configuration code.\n\nv4->v5:\n- Address Laurent's comment on documentation\n- Use std::optional<> for CameraConfiguration::sensorConfig\n- Add a patch for the cam test application to allow setting a sensor\n  configuration\n\nv3->v4:\n- Address Laurent's comment on documentation:\n  - Replace images from CCS specs with custom ones\n  - use .svg instead than .png\n  - Describe the model before the parameters\n  - Move part of the documentation to doxygen\n- Add SensorConfig::populated() to replace operator bool()\n\nv2->v3:\n- Address Kieran's comments on documentation\n- Add Naush's patches on top\n\nv1->v2:\n- Fix spelling in 2/4 as suggested by Naush\n- Add Naush's tags\n\nJacopo Mondi (6):\n  documentation: Introduce Camera Sensor Model\n  libcamera: camera: Introduce SensorConfiguration\n  libcamera: camera_sensor: Support SensorConfiguration\n  libcamera: rpi: Handle SensorConfiguration\n  libcamera: rpi: Fix wrong comment indentation\n  apps: cam: Add option to configure sensor\n\nNaushir Patuck (7):\n  libcamera: rpi: Allow platformValidate() to adjust format strides\n  libcamera: rpi: Make isRaw/isYuv/isRgb static functions\n  libcamera: rpi: Cache rawStreams and outStreams\n  libcamera: rpi: Add some helpers to PipelineHandlerBase\n  libcamera: rpi: Simplify validate() and configure() for RAW streams\n  libcamera: rpi: Change default stream formats\n  libcamera: rpi: Simplify validate() and configure() for YUV/RGB\n    streams\n\n .reuse/dep5                                   |    6 +\n Documentation/binning.svg                     | 5053 +++++++++++++++++\n Documentation/camera-sensor-model.rst         |  174 +\n Documentation/index.rst                       |    1 +\n Documentation/meson.build                     |    1 +\n Documentation/sensor_model.svg                | 4870 ++++++++++++++++\n Documentation/skipping.svg                    | 1720 ++++++\n include/libcamera/camera.h                    |   27 +\n include/libcamera/internal/camera_sensor.h    |    5 +\n src/apps/cam/camera_session.cpp               |    7 +\n src/apps/cam/main.cpp                         |    4 +\n src/apps/cam/main.h                           |    1 +\n src/apps/common/stream_options.cpp            |   42 +\n src/apps/common/stream_options.h              |    8 +\n src/libcamera/camera.cpp                      |  144 +\n src/libcamera/camera_sensor.cpp               |   86 +\n .../pipeline/rpi/common/pipeline_base.cpp     |  285 +-\n .../pipeline/rpi/common/pipeline_base.h       |   55 +-\n src/libcamera/pipeline/rpi/vc4/vc4.cpp        |   86 +-\n 19 files changed, 12392 insertions(+), 183 deletions(-)\n create mode 100644 Documentation/binning.svg\n create mode 100644 Documentation/camera-sensor-model.rst\n create mode 100644 Documentation/sensor_model.svg\n create mode 100644 Documentation/skipping.svg\n\n--\n2.42.0"
}