Patch Detail
Show a patch.
GET /api/patches/11082/?format=api
{ "id": 11082, "url": "https://patchwork.libcamera.org/api/patches/11082/?format=api", "web_url": "https://patchwork.libcamera.org/patch/11082/", "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": "<20210131224702.8838-4-laurent.pinchart@ideasonboard.com>", "date": "2021-01-31T22:46:45", "name": "[libcamera-devel,03/20] libcamera: pipeline: simple: converter: Group query functions together", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "82700a871956e7ed0558bd55a9ce2849bb4f9b9e", "submitter": { "id": 2, "url": "https://patchwork.libcamera.org/api/people/2/?format=api", "name": "Laurent Pinchart", "email": "laurent.pinchart@ideasonboard.com" }, "delegate": { "id": 14, "url": "https://patchwork.libcamera.org/api/users/14/?format=api", "username": "pinchartl", "first_name": "Laurent", "last_name": "Pinchart", "email": "laurent.pinchart@ideasonboard.com" }, "mbox": "https://patchwork.libcamera.org/patch/11082/mbox/", "series": [ { "id": 1633, "url": "https://patchwork.libcamera.org/api/series/1633/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=1633", "date": "2021-01-31T22:46:42", "name": "[libcamera-devel,01/20] libcamera: pipeline: simple: Manage converter with std::unique_ptr<>", "version": 1, "mbox": "https://patchwork.libcamera.org/series/1633/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/11082/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/11082/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 28D2CBD808\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun, 31 Jan 2021 22:47:35 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id CE2D2683E3;\n\tSun, 31 Jan 2021 23:47:34 +0100 (CET)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C4EE3683E1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 31 Jan 2021 23:47:28 +0100 (CET)", "from pendragon.lan (62-78-145-57.bb.dnainternet.fi [62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 40AA48B5;\n\tSun, 31 Jan 2021 23:47:28 +0100 (CET)" ], "Authentication-Results": "lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"H9U+01Wh\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1612133248;\n\tbh=eJODzAKRKevxslVtydpC+xCmvYO9E7TZ3nYawSGMLjk=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=H9U+01Whcbg4t64nUhrwi8KVaUOYaNJwydZaX1fyuHxDLOONaChsHY2GAn+Mufd+/\n\twwDPYViaNpv7TCyzAhucVgfkytkx1xQiWP+u1ED5NjGgVXXV1hbRcYZFXNHQ7wVJWf\n\thqztL4QrUYK3797ClWq24Sm7X1CX1ULzTMq3RPF0=", "From": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Mon, 1 Feb 2021 00:46:45 +0200", "Message-Id": "<20210131224702.8838-4-laurent.pinchart@ideasonboard.com>", "X-Mailer": "git-send-email 2.28.0", "In-Reply-To": "<20210131224702.8838-1-laurent.pinchart@ideasonboard.com>", "References": "<20210131224702.8838-1-laurent.pinchart@ideasonboard.com>", "MIME-Version": "1.0", "Subject": "[libcamera-devel] [PATCH 03/20] libcamera: pipeline: simple:\n\tconverter: Group query functions together", "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>", "Cc": "Phi-Bang Nguyen <pnguyen@baylibre.com>", "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": "The SimpleConverter class has different sets of functions, related to\nstatic queries, device configuration and runtime operation. Group the\nquery functions together. While at it, swap the arguments to the\nstrideAndFrameSize() function to match the order in which pixel format\nand size are usually specified.\n\nNo functional change is included.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n src/libcamera/pipeline/simple/converter.cpp | 30 ++++++++++-----------\n src/libcamera/pipeline/simple/converter.h | 5 ++--\n src/libcamera/pipeline/simple/simple.cpp | 2 +-\n 3 files changed, 18 insertions(+), 19 deletions(-)", "diff": "diff --git a/src/libcamera/pipeline/simple/converter.cpp b/src/libcamera/pipeline/simple/converter.cpp\nindex 87d15c781ed8..8f54caaca983 100644\n--- a/src/libcamera/pipeline/simple/converter.cpp\n+++ b/src/libcamera/pipeline/simple/converter.cpp\n@@ -133,6 +133,21 @@ SizeRange SimpleConverter::sizes(const Size &input)\n \treturn sizes;\n }\n \n+std::tuple<unsigned int, unsigned int>\n+SimpleConverter::strideAndFrameSize(const PixelFormat &pixelFormat,\n+\t\t\t\t const Size &size)\n+{\n+\tV4L2DeviceFormat format;\n+\tformat.fourcc = m2m_->capture()->toV4L2PixelFormat(pixelFormat);\n+\tformat.size = size;\n+\n+\tint ret = m2m_->capture()->tryFormat(&format);\n+\tif (ret < 0)\n+\t\treturn std::make_tuple(0, 0);\n+\n+\treturn std::make_tuple(format.planes[0].bpl, format.planes[0].size);\n+}\n+\n int SimpleConverter::configure(PixelFormat inputFormat, const Size &inputSize,\n \t\t\t const StreamConfiguration &outputCfg)\n {\n@@ -254,19 +269,4 @@ void SimpleConverter::outputBufferReady(FrameBuffer *buffer)\n \t}\n }\n \n-std::tuple<unsigned int, unsigned int>\n-SimpleConverter::strideAndFrameSize(const Size &size,\n-\t\t\t\t const PixelFormat &pixelFormat)\n-{\n-\tV4L2DeviceFormat format;\n-\tformat.fourcc = m2m_->capture()->toV4L2PixelFormat(pixelFormat);\n-\tformat.size = size;\n-\n-\tint ret = m2m_->capture()->tryFormat(&format);\n-\tif (ret < 0)\n-\t\treturn std::make_tuple(0, 0);\n-\n-\treturn std::make_tuple(format.planes[0].bpl, format.planes[0].size);\n-}\n-\n } /* namespace libcamera */\ndiff --git a/src/libcamera/pipeline/simple/converter.h b/src/libcamera/pipeline/simple/converter.h\nindex 06d66f8caba7..07a632abd8f6 100644\n--- a/src/libcamera/pipeline/simple/converter.h\n+++ b/src/libcamera/pipeline/simple/converter.h\n@@ -35,6 +35,8 @@ public:\n \n \tstd::vector<PixelFormat> formats(PixelFormat input);\n \tSizeRange sizes(const Size &input);\n+\tstd::tuple<unsigned int, unsigned int>\n+\tstrideAndFrameSize(const PixelFormat &pixelFormat, const Size &size);\n \n \tint configure(PixelFormat inputFormat, const Size &inputSize,\n \t\t const StreamConfiguration &outputCfg);\n@@ -46,9 +48,6 @@ public:\n \n \tint queueBuffers(FrameBuffer *input, FrameBuffer *output);\n \n-\tstd::tuple<unsigned int, unsigned int>\n-\tstrideAndFrameSize(const Size &size, const PixelFormat &pixelFormat);\n-\n \tSignal<FrameBuffer *, FrameBuffer *> bufferReady;\n \n private:\ndiff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp\nindex a97b8442d9a4..4e3127814b89 100644\n--- a/src/libcamera/pipeline/simple/simple.cpp\n+++ b/src/libcamera/pipeline/simple/simple.cpp\n@@ -494,7 +494,7 @@ CameraConfiguration::Status SimpleCameraConfiguration::validate()\n \tSimpleConverter *converter = pipe->converter();\n \n \tstd::tie(cfg.stride, cfg.frameSize) =\n-\t\tconverter->strideAndFrameSize(cfg.size, cfg.pixelFormat);\n+\t\tconverter->strideAndFrameSize(cfg.pixelFormat, cfg.size);\n \tif (cfg.stride == 0)\n \t\treturn Invalid;\n \n", "prefixes": [ "libcamera-devel", "03/20" ] }