Patch Detail
Show a patch.
GET /api/1.1/patches/21500/?format=api
{ "id": 21500, "url": "https://patchwork.libcamera.org/api/1.1/patches/21500/?format=api", "web_url": "https://patchwork.libcamera.org/patch/21500/", "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": "<20241004045338.18443-1-umang.jain@ideasonboard.com>", "date": "2024-10-04T04:53:38", "name": "libcamera: rkisp1: Clamp stream configuration to ISP limit on raw path", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "8fd320861700408c1aeaa95e8e7f796aeea48e5a", "submitter": { "id": 86, "url": "https://patchwork.libcamera.org/api/1.1/people/86/?format=api", "name": "Umang Jain", "email": "umang.jain@ideasonboard.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/21500/mbox/", "series": [ { "id": 4654, "url": "https://patchwork.libcamera.org/api/1.1/series/4654/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4654", "date": "2024-10-04T04:53:38", "name": "libcamera: rkisp1: Clamp stream configuration to ISP limit on raw path", "version": 1, "mbox": "https://patchwork.libcamera.org/series/4654/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/21500/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/21500/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 94DC8C3257\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 4 Oct 2024 04:53:49 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 62A5D63526;\n\tFri, 4 Oct 2024 06:53:48 +0200 (CEST)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4C62C62C8E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 4 Oct 2024 06:53:46 +0200 (CEST)", "from umang.jain (unknown\n\t[IPv6:2405:201:2015:f873:55d7:c02e:b2eb:ee3f])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id AA57918D;\n\tFri, 4 Oct 2024 06:52:11 +0200 (CEST)" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"NqH82nRg\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1728017532;\n\tbh=qZh/Pu2obf7VOxk/ur9QIsbpeYjcNYMqF5cQP7sJUL4=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=NqH82nRgWJTy5cKAFq+9VB8rUcKLMV1drjDQ00uiz7BtnUUdLwauwe6rbrGqdmpHx\n\tDO0fmgjPUL6d0hPgYuhOLfYVov9Y9tObxLP018fL20y2WFdyXTBB9xc22RIxTV/1Ut\n\txTydWj20HNvUD+ykDzgNWzSe7btGNDC/tqipJUas=", "From": "Umang Jain <umang.jain@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "Kieran Bingham <kieran.bingham@ideasonboard.com>,\n\tJacopo Mondi <jacopo.mondi@ideasonboard.com>,\n\tUmang Jain <umang.jain@ideasonboard.com>", "Subject": "[PATCH] libcamera: rkisp1: Clamp stream configuration to ISP limit\n\ton raw path", "Date": "Fri, 4 Oct 2024 10:23:38 +0530", "Message-ID": "<20241004045338.18443-1-umang.jain@ideasonboard.com>", "X-Mailer": "git-send-email 2.45.2", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "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>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "Commit 761545407c76 (\"pipeline: rkisp1: Filter out sensor sizes not\nsupported by the pipeline\") introduced a mechanism to determine maximum\nsupported sensor resolution and filter out resolutions that cannot be\nsupported by the ISP.\n\nHowever, it missed to update the raw stream configuration path, where\nit should have clamped the raw stream configuration size to the maximum\nsensor supported resolution.\n\nThis patch fixes the above issue and can be confirmed with IMX283\non i.MX8MP:\n\nFrom:\n($) cam -c1 -srole=raw,width=5472,height=3072\nINFO Camera camera.cpp:1197 configuring streams: (0) 5472x3648-SRGGB12\nERROR RkISP1 rkisp1_path.cpp:425 Unable to configure capture in 5472x3648-SRGGB12\nFailed to configure camera\nFailed to start camera session\n\nTo:\n($) cam -c1 -srole=raw,width=5472,height=3072\nINFO Camera camera.cpp:1197 configuring streams: (0) 4096x3072-SRGGB12\ncam0: Capture until user interrupts by SIGINT\n536.082380 (0.00 fps) cam0-stream0 seq: 000000 bytesused: 25165824\n536.182378 (10.00 fps) cam0-stream0 seq: 000001 bytesused: 25165824\n536.282375 (10.00 fps) cam0-stream0 seq: 000002 bytesused: 25165824\n...\n\nFixes: 761545407c76 (\"pipeline: rkisp1: Filter out sensor sizes not supported by the pipeline\")\nSigned-off-by: Umang Jain <umang.jain@ideasonboard.com>\n---\n src/libcamera/pipeline/rkisp1/rkisp1_path.cpp | 4 +++-\n 1 file changed, 3 insertions(+), 1 deletion(-)", "diff": "diff --git a/src/libcamera/pipeline/rkisp1/rkisp1_path.cpp b/src/libcamera/pipeline/rkisp1/rkisp1_path.cpp\nindex da8d25c3..feb6d89f 100644\n--- a/src/libcamera/pipeline/rkisp1/rkisp1_path.cpp\n+++ b/src/libcamera/pipeline/rkisp1/rkisp1_path.cpp\n@@ -316,9 +316,11 @@ CameraConfiguration::Status RkISP1Path::validate(const CameraSensor *sensor,\n \tif (isRaw) {\n \t\t/*\n \t\t * Use the sensor output size closest to the requested stream\n-\t\t * size.\n+\t\t * size while ensuring the output size doesn't exceed ISP limits.\n \t\t */\n \t\tuint32_t mbusCode = formatToMediaBus.at(cfg->pixelFormat);\n+\t\tcfg->size.boundTo(resolution);\n+\n \t\tV4L2SubdeviceFormat sensorFormat =\n \t\t\tsensor->getFormat({ mbusCode }, cfg->size);\n \n", "prefixes": [] }