Show a patch.

GET /api/1.1/patches/10227/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 10227,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/10227/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/10227/",
    "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": "<20201023171116.24899-9-jacopo@jmondi.org>",
    "date": "2020-10-23T17:11:12",
    "name": "[libcamera-devel,v4,08/12] libcamera: ipu3: Register camera controls",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "1b4033641083657b4e97ea279fc8243390b2b1a1",
    "submitter": {
        "id": 3,
        "url": "https://patchwork.libcamera.org/api/1.1/people/3/?format=api",
        "name": "Jacopo Mondi",
        "email": "jacopo@jmondi.org"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/10227/mbox/",
    "series": [
        {
            "id": 1410,
            "url": "https://patchwork.libcamera.org/api/1.1/series/1410/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=1410",
            "date": "2020-10-23T17:11:04",
            "name": "libcamera: Introduce draft controls",
            "version": 4,
            "mbox": "https://patchwork.libcamera.org/series/1410/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/10227/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/10227/checks/",
    "tags": {},
    "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 45003BDB13\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 23 Oct 2020 17:11:34 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 044DE617E7;\n\tFri, 23 Oct 2020 19:11:34 +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 F250E61994\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 23 Oct 2020 19:11:29 +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 3886C1C0008;\n\tFri, 23 Oct 2020 17:11:29 +0000 (UTC)"
        ],
        "X-Originating-IP": "93.34.118.233",
        "From": "Jacopo Mondi <jacopo@jmondi.org>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Fri, 23 Oct 2020 19:11:12 +0200",
        "Message-Id": "<20201023171116.24899-9-jacopo@jmondi.org>",
        "X-Mailer": "git-send-email 2.28.0",
        "In-Reply-To": "<20201023171116.24899-1-jacopo@jmondi.org>",
        "References": "<20201023171116.24899-1-jacopo@jmondi.org>",
        "MIME-Version": "1.0",
        "Subject": "[libcamera-devel] [PATCH v4 08/12] libcamera: ipu3: Register camera\n\tcontrols",
        "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": "Register controls for the IPU3 pipeline handler. The only supported\nCamera control is currently the pipeline depth control.\n\nReport the minimum and maximum values the pipeline handler supports for\nthe pipeline processing stages and report for each request the pipeline\ndepth describing the number of processing steps the frames went through.\n\nAcked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\nSigned-off-by: Jacopo Mondi <jacopo@jmondi.org>\n---\n src/libcamera/pipeline/ipu3/ipu3.cpp | 10 ++++++++++\n 1 file changed, 10 insertions(+)",
    "diff": "diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\nindex af47739d8d4f..5a6ee1a83e45 100644\n--- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n@@ -12,6 +12,7 @@\n #include <vector>\n \n #include <libcamera/camera.h>\n+#include <libcamera/control_ids.h>\n #include <libcamera/formats.h>\n #include <libcamera/request.h>\n #include <libcamera/stream.h>\n@@ -40,6 +41,10 @@ static constexpr unsigned int IMGU_OUTPUT_HEIGHT_ALIGN = 4;\n static constexpr unsigned int IMGU_OUTPUT_WIDTH_MARGIN = 64;\n static constexpr unsigned int IMGU_OUTPUT_HEIGHT_MARGIN = 32;\n \n+static const ControlInfoMap IPU3Controls = {\n+\t{ &controls::draft::PipelineDepth, ControlInfo(2, 3) },\n+};\n+\n class IPU3CameraData : public CameraData\n {\n public:\n@@ -771,6 +776,9 @@ int PipelineHandlerIPU3::registerCameras()\n \t\t/* Initialize the camera properties. */\n \t\tdata->properties_ = cio2->sensor()->properties();\n \n+\t\t/* Initialze the camera controls. */\n+\t\tdata->controlInfo_ = IPU3Controls;\n+\n \t\t/**\n \t\t * \\todo Dynamically assign ImgU and output devices to each\n \t\t * stream and camera; as of now, limit support to two cameras\n@@ -833,6 +841,7 @@ void IPU3CameraData::imguOutputBufferReady(FrameBuffer *buffer)\n \t\treturn;\n \n \t/* Mark the request as complete. */\n+\trequest->metadata().set(controls::draft::PipelineDepth, 3);\n \tpipe_->completeRequest(camera_, request);\n }\n \n@@ -858,6 +867,7 @@ void IPU3CameraData::cio2BufferReady(FrameBuffer *buffer)\n \tif (request->findBuffer(&rawStream_)) {\n \t\tbool isComplete = pipe_->completeBuffer(camera_, request, buffer);\n \t\tif (isComplete) {\n+\t\t\trequest->metadata().set(controls::draft::PipelineDepth, 2);\n \t\t\tpipe_->completeRequest(camera_, request);\n \t\t\treturn;\n \t\t}\n",
    "prefixes": [
        "libcamera-devel",
        "v4",
        "08/12"
    ]
}