Patch Detail
Show a patch.
GET /api/patches/18423/?format=api
{ "id": 18423, "url": "https://patchwork.libcamera.org/api/patches/18423/?format=api", "web_url": "https://patchwork.libcamera.org/patch/18423/", "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": "<20230321172004.176852-2-jacopo.mondi@ideasonboard.com>", "date": "2023-03-21T17:20:01", "name": "[libcamera-devel,v4,1/4] libcamera: rkisp1: Generate config using main path", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "0c4c57df1174672cc917eff8fef4e90311c7aa54", "submitter": { "id": 143, "url": "https://patchwork.libcamera.org/api/people/143/?format=api", "name": "Jacopo Mondi", "email": "jacopo.mondi@ideasonboard.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/18423/mbox/", "series": [ { "id": 3809, "url": "https://patchwork.libcamera.org/api/series/3809/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3809", "date": "2023-03-21T17:20:00", "name": "libcamera: rkisp1: Fix generateConfiguration", "version": 4, "mbox": "https://patchwork.libcamera.org/series/3809/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/18423/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/18423/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 3D0EAC3260\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 21 Mar 2023 17:20:16 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id F30BE62713;\n\tTue, 21 Mar 2023 18:20:13 +0100 (CET)", "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 A248661ED1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 21 Mar 2023 18:20:12 +0100 (CET)", "from uno.homenet.telecomitalia.it\n\t(host-87-18-61-243.retail.telecomitalia.it [87.18.61.243])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id C904A496;\n\tTue, 21 Mar 2023 18:20:11 +0100 (CET)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1679419214;\n\tbh=lBbYlayk8S/W6icFP8NLeG4EOj+Cu3jQutb7rTAiHRk=;\n\th=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=h2sAZjWVIieePxhhz2+5TrV2GaHoTOjMdplXbHeXFzB54JfHMbY2nDUR/bHee4g5b\n\tUol7lEW2PBsLz44fuvlS8jSjoAauak9IjG6mlodjgWThy3gPwFqGwQqmSHPxlKlWuI\n\t8L8Tz7KEXQvkVDZaKFB0SMj38o3XkXrTksWXbICO2rtJy+mK4bTXA3a2ubSMttqpZA\n\tlVOBj5t/r+JZ13dBoLS7p3LVXxTedMxvNqAOkNvukLMpzHA1ccjz6XMOm9O2ipbSId\n\txNudx9kiht2+WoxyshRH431rudH9lCneGMV/aXiqn5n8oaZv04rGzWyanfkRjLxtUi\n\tks0SGUrNbh+zg==", "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1679419212;\n\tbh=lBbYlayk8S/W6icFP8NLeG4EOj+Cu3jQutb7rTAiHRk=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=ZRDi0amkqbPHqfd0PSTLxcNmr3DRHJDDPh7yp6160lFYhaandtbUcitjgDvo4xi4b\n\tWldxjTQ6cunsr9UByCkJbmumtO2Gge/JiIGAp+4UGgam/03CU20tdVTsZLmkC+yPAz\n\tx6aIKSy6q2t/A7fVHUgTq6vHvurCah4jsEpnlJ7U=" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"ZRDi0amk\"; dkim-atps=neutral", "To": "libcamera-devel@lists.libcamera.org", "Date": "Tue, 21 Mar 2023 18:20:01 +0100", "Message-Id": "<20230321172004.176852-2-jacopo.mondi@ideasonboard.com>", "X-Mailer": "git-send-email 2.40.0", "In-Reply-To": "<20230321172004.176852-1-jacopo.mondi@ideasonboard.com>", "References": "<20230321172004.176852-1-jacopo.mondi@ideasonboard.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH v4 1/4] libcamera: rkisp1: Generate config\n\tusing main path", "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>, libcamera@luigi311.com", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "The generateConfiguration() implementation in the Rockchip RkISP1\npipeline handler uses by default the self path (if available) for\nthe Viewfinder and VideoRecording StreamRoles.\n\nThe validate() implementation, at the contrary, prefers using the main\npath, when available, for all streams.\n\nAs the self-path is limited in output resolution to 1920x1920,\ngenerating a configuration using the self path limits the maximum\nstream size to 1920x1920, while higher resolutions can be obtained by\nusing the main path.\n\nAlign the generateConfiguration() implementation to the validate() one\nby using the main path by default if available.\n\nBug: https://bugs.libcamera.org/show_bug.cgi?id=180\nReported-by: libcamera@luigi311.com\nSigned-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\nReviewed-by: Paul Elder <paul.elder@ideasonboard.com>\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n src/libcamera/pipeline/rkisp1/rkisp1.cpp | 10 +---------\n 1 file changed, 1 insertion(+), 9 deletions(-)", "diff": "diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\nindex 8a30fe061d04..fd331168af80 100644\n--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n@@ -630,23 +630,18 @@ PipelineHandlerRkISP1::generateConfiguration(Camera *camera,\n \t * first stream and use it for all streams.\n \t */\n \tstd::optional<ColorSpace> colorSpace;\n-\n \tbool mainPathAvailable = true;\n-\tbool selfPathAvailable = data->selfPath_;\n \n \tfor (const StreamRole role : roles) {\n-\t\tbool useMainPath;\n \n \t\tswitch (role) {\n \t\tcase StreamRole::StillCapture:\n-\t\t\tuseMainPath = mainPathAvailable;\n \t\t\t/* JPEG encoders typically expect sYCC. */\n \t\t\tif (!colorSpace)\n \t\t\t\tcolorSpace = ColorSpace::Sycc;\n \t\t\tbreak;\n \n \t\tcase StreamRole::Viewfinder:\n-\t\t\tuseMainPath = !selfPathAvailable;\n \t\t\t/*\n \t\t\t * sYCC is the YCbCr encoding of sRGB, which is commonly\n \t\t\t * used by displays.\n@@ -656,7 +651,6 @@ PipelineHandlerRkISP1::generateConfiguration(Camera *camera,\n \t\t\tbreak;\n \n \t\tcase StreamRole::VideoRecording:\n-\t\t\tuseMainPath = !selfPathAvailable;\n \t\t\t/* Rec. 709 is a good default for HD video recording. */\n \t\t\tif (!colorSpace)\n \t\t\t\tcolorSpace = ColorSpace::Rec709;\n@@ -669,7 +663,6 @@ PipelineHandlerRkISP1::generateConfiguration(Camera *camera,\n \t\t\t\treturn nullptr;\n \t\t\t}\n \n-\t\t\tuseMainPath = true;\n \t\t\tcolorSpace = ColorSpace::Raw;\n \t\t\tbreak;\n \n@@ -681,12 +674,11 @@ PipelineHandlerRkISP1::generateConfiguration(Camera *camera,\n \n \t\tRkISP1Path *path;\n \n-\t\tif (useMainPath) {\n+\t\tif (mainPathAvailable) {\n \t\t\tpath = data->mainPath_;\n \t\t\tmainPathAvailable = false;\n \t\t} else {\n \t\t\tpath = data->selfPath_;\n-\t\t\tselfPathAvailable = false;\n \t\t}\n \n \t\tStreamConfiguration cfg =\n", "prefixes": [ "libcamera-devel", "v4", "1/4" ] }