[{"id":15197,"web_url":"https://patchwork.libcamera.org/comment/15197/","msgid":"<20210217095745.GD17707@pyrite.rasen.tech>","date":"2021-02-17T09:57:45","subject":"Re: [libcamera-devel] [PATCH 03/20] libcamera: pipeline: simple:\n\tconverter: Group query functions together","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"content":"Hi Laurent,\n\nOn Mon, Feb 01, 2021 at 12:46:45AM +0200, Laurent Pinchart wrote:\n> The SimpleConverter class has different sets of functions, related to\n> static queries, device configuration and runtime operation. Group the\n> query functions together. While at it, swap the arguments to the\n> strideAndFrameSize() function to match the order in which pixel format\n> and size are usually specified.\n> \n> No functional change is included.\n> \n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nReviewed-by: Paul Elder <paul.elder@ideasonboard.com>\n\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(-)\n> \n> diff --git a/src/libcamera/pipeline/simple/converter.cpp b/src/libcamera/pipeline/simple/converter.cpp\n> index 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 */\n> diff --git a/src/libcamera/pipeline/simple/converter.h b/src/libcamera/pipeline/simple/converter.h\n> index 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:\n> diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp\n> index 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> -- \n> Regards,\n> \n> Laurent Pinchart\n> \n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel","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 C271CBD1F1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 17 Feb 2021 09:57:54 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5452D63808;\n\tWed, 17 Feb 2021 10:57:54 +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 8F93F602FA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 17 Feb 2021 10:57:53 +0100 (CET)","from pyrite.rasen.tech (unknown\n\t[IPv6:2400:4051:61:600:2c71:1b79:d06d:5032])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id A7EDA8C4;\n\tWed, 17 Feb 2021 10:57:51 +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=\"DndCLHwJ\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1613555873;\n\tbh=nLQdBjcuFVXmIXdIaj7+Up+UMPeMZqV21OsAkpTBq6E=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=DndCLHwJTl0qFXV/eI/EPU6n0S+ErC270sIQAYTkHALND7321p0fuvd1D8zAgEAFg\n\tExA3rnOxjVdcS5+Rwe2Oj72OkVBzloKsQxb2lhd1nf9h8iN4ZMzX3HCPLkm8D4jYy0\n\t8L5fxsouiQnHvq0YzRIInB1Ve+yXQ5LlG3e3zSsA=","Date":"Wed, 17 Feb 2021 18:57:45 +0900","From":"paul.elder@ideasonboard.com","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<20210217095745.GD17707@pyrite.rasen.tech>","References":"<20210131224702.8838-1-laurent.pinchart@ideasonboard.com>\n\t<20210131224702.8838-4-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20210131224702.8838-4-laurent.pinchart@ideasonboard.com>","Subject":"Re: [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>,\n\tlibcamera-devel@lists.libcamera.org","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>"}},{"id":15248,"web_url":"https://patchwork.libcamera.org/comment/15248/","msgid":"<f34bbaae-b764-9fd6-c8cf-094774d35599@ideasonboard.com>","date":"2021-02-19T17:13:13","subject":"Re: [libcamera-devel] [PATCH 03/20] libcamera: pipeline: simple:\n\tconverter: Group query functions together","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"On 31/01/2021 22:46, Laurent Pinchart wrote:\n> The SimpleConverter class has different sets of functions, related to\n> static queries, device configuration and runtime operation. Group the\n> query functions together. While at it, swap the arguments to the\n> strideAndFrameSize() function to match the order in which pixel format\n> and size are usually specified.\n> \n> No functional change is included.\n> \n> Signed-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(-)\n> \n> diff --git a/src/libcamera/pipeline/simple/converter.cpp b/src/libcamera/pipeline/simple/converter.cpp\n> index 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 */\n> diff --git a/src/libcamera/pipeline/simple/converter.h b/src/libcamera/pipeline/simple/converter.h\n> index 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\nI might have put a new line here, because the return value and function\nare indented the same, so it might be better to separate it from the\nprevious one... but it's white space so it doesn't matter much.\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\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:\n> diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp\n> index 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>","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 DE4D5BD1F6\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 19 Feb 2021 17:13:18 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 53585689D5;\n\tFri, 19 Feb 2021 18:13:18 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id DEE8D689CD\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 19 Feb 2021 18:13:16 +0100 (CET)","from [192.168.0.20]\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 5A3AC596;\n\tFri, 19 Feb 2021 18:13:16 +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=\"ZxDhUCn6\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1613754796;\n\tbh=0nD1QXqmEO1r9Gr8BN78EwUWOdGoTEPSgox8ROJwhng=;\n\th=Reply-To:Subject:To:Cc:References:From:Date:In-Reply-To:From;\n\tb=ZxDhUCn6vs6X0S36VbEyARK1OezONMr2OHrlTqxa/5v51n7mCiBZ5sCgD1cLc3GQG\n\t4+SfXEv9lGirmnbqOtat5iuTrDSXk0yj2Y5G7PzKjSZ72GjUhH1TYnAVaslGAGS2Y7\n\tOVwziGN/X8cfKcvRklIKx+X+v94QauwWAyau5A4M=","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20210131224702.8838-1-laurent.pinchart@ideasonboard.com>\n\t<20210131224702.8838-4-laurent.pinchart@ideasonboard.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Autocrypt":"addr=kieran.bingham@ideasonboard.com; keydata=\n\t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\n\tWZw01QYHU/GUV/zHJSFk","Organization":"Ideas on Board","Message-ID":"<f34bbaae-b764-9fd6-c8cf-094774d35599@ideasonboard.com>","Date":"Fri, 19 Feb 2021 17:13:13 +0000","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101\n\tThunderbird/68.10.0","MIME-Version":"1.0","In-Reply-To":"<20210131224702.8838-4-laurent.pinchart@ideasonboard.com>","Content-Language":"en-GB","Subject":"Re: [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>","Reply-To":"kieran.bingham@ideasonboard.com","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>"}}]