Show a patch.

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

{
    "id": 2365,
    "url": "https://patchwork.libcamera.org/api/patches/2365/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/2365/",
    "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": "<20191126233620.1695316-18-niklas.soderlund@ragnatech.se>",
    "date": "2019-11-26T23:36:07",
    "name": "[libcamera-devel,17/30] libcamera: v4l2_videodevice: Add support for multi plane output buffers",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "11de0d8bd5b523a07122901284fc7d51603247df",
    "submitter": {
        "id": 5,
        "url": "https://patchwork.libcamera.org/api/people/5/?format=api",
        "name": "Niklas Söderlund",
        "email": "niklas.soderlund@ragnatech.se"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/2365/mbox/",
    "series": [
        {
            "id": 579,
            "url": "https://patchwork.libcamera.org/api/series/579/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=579",
            "date": "2019-11-26T23:35:50",
            "name": "libcamera: Rework buffer API",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/579/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/2365/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/2365/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "<niklas.soderlund@ragnatech.se>",
        "Received": [
            "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 0B6656136C\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 27 Nov 2019 00:39:38 +0100 (CET)",
            "from bismarck.berto.se (p54ac5865.dip0.t-ipconnect.de\n\t[84.172.88.101]) by bin-vsp-out-02.atm.binero.net (Halon) with ESMTPA\n\tid 00df5d30-10a6-11ea-a0b9-005056917f90;\n\tWed, 27 Nov 2019 00:39:36 +0100 (CET)"
        ],
        "X-Halon-ID": "00df5d30-10a6-11ea-a0b9-005056917f90",
        "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": "Wed, 27 Nov 2019 00:36:07 +0100",
        "Message-Id": "<20191126233620.1695316-18-niklas.soderlund@ragnatech.se>",
        "X-Mailer": "git-send-email 2.24.0",
        "In-Reply-To": "<20191126233620.1695316-1-niklas.soderlund@ragnatech.se>",
        "References": "<20191126233620.1695316-1-niklas.soderlund@ragnatech.se>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH 17/30] libcamera: v4l2_videodevice: Add\n\tsupport for multi plane output buffers",
        "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>",
        "X-List-Received-Date": "Tue, 26 Nov 2019 23:39:38 -0000"
    },
    "content": "When queuing an output buffer it was assumed it only had one plane. With\nthe recent rework of the buffer code it's now trivial to add support\nmulti plane output buffers, add support for it.\n\nSigned-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n---\n src/libcamera/v4l2_videodevice.cpp | 12 +++++++++++-\n 1 file changed, 11 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp\nindex 8f962c7e9d0c7d01..a05dd6a1f7d86eaa 100644\n--- a/src/libcamera/v4l2_videodevice.cpp\n+++ b/src/libcamera/v4l2_videodevice.cpp\n@@ -1014,7 +1014,17 @@ int V4L2VideoDevice::queueBuffer(Buffer *buffer)\n \tif (V4L2_TYPE_IS_OUTPUT(buf.type)) {\n \t\tconst BufferInfo &info = buffer->info();\n \n-\t\tbuf.bytesused = info.planes()[0].bytesused;\n+\t\tif (multiPlanar) {\n+\t\t\tunsigned int nplane = 0;\n+\t\t\tfor (const BufferInfo::Plane &plane : info.planes()) {\n+\t\t\t\tv4l2Planes[nplane].bytesused = plane.bytesused;\n+\t\t\t\tnplane++;\n+\t\t\t}\n+\t\t} else {\n+\t\t\tif (info.planes().size())\n+\t\t\t\tbuf.bytesused = info.planes()[0].bytesused;\n+\t\t}\n+\n \t\tbuf.sequence = info.sequence();\n \t\tbuf.timestamp.tv_sec = info.timestamp() / 1000000000;\n \t\tbuf.timestamp.tv_usec = (info.timestamp() / 1000) % 1000000;\n",
    "prefixes": [
        "libcamera-devel",
        "17/30"
    ]
}