Patch Detail
Show a patch.
GET /api/patches/22300/?format=api
{ "id": 22300, "url": "https://patchwork.libcamera.org/api/patches/22300/?format=api", "web_url": "https://patchwork.libcamera.org/patch/22300/", "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": "<20241212175635.99625-1-jacopo.mondi@ideasonboard.com>", "date": "2024-12-12T17:56:35", "name": "[v3.1,09/17] fixup! libcamera: converter: Add functions to adjust config", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "c4a1aaaccbac3ea56cd266d7a94bfea0fb837093", "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/22300/mbox/", "series": [ { "id": 4878, "url": "https://patchwork.libcamera.org/api/series/4878/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4878", "date": "2024-12-12T17:56:35", "name": null, "version": 1, "mbox": "https://patchwork.libcamera.org/series/4878/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/22300/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/22300/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 A3283C3260\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 12 Dec 2024 17:56:45 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 59B7067EDB;\n\tThu, 12 Dec 2024 18:56:45 +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 7B87E608B6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 12 Dec 2024 18:56:43 +0100 (CET)", "from ideasonboard.com (93-61-96-190.ip145.fastwebnet.it\n\t[93.61.96.190])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 5CBAD18D;\n\tThu, 12 Dec 2024 18:56:09 +0100 (CET)" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"T0wnppRv\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1734026169;\n\tbh=pwl5hD8uohDtgFFWnBC2oz1YAgD4XpeuhrKv58sQ9VA=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=T0wnppRveks8H5pS7cwZFugT4atlyOTmLnLrZFEVMwjDiKBixsdzerSjalXUVbHVi\n\tKJxdXE9FvHR3pbAZjJNpctR7ZMl2JjpiM4V819iDhknwbIF+BewEUf7RmzpbRDXIzw\n\tKMg2J3CFZoB5r3KWqriZ+KJczjFIpnTscOL1zUyo=", "From": "Jacopo Mondi <jacopo.mondi@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "stefan.klug@ideasonboard.com, paul.elder@ideasonboard.com,\n\tJacopo Mondi <jacopo.mondi@ideasonboard.com>", "Subject": "[PATCH v3.1 09/17] fixup! libcamera: converter: Add functions to\n\tadjust config", "Date": "Thu, 12 Dec 2024 18:56:35 +0100", "Message-ID": "<20241212175635.99625-1-jacopo.mondi@ideasonboard.com>", "X-Mailer": "git-send-email 2.47.1", "In-Reply-To": "<20241206101344.767170-10-stefan.klug@ideasonboard.com>", "References": "<20241206101344.767170-10-stefan.klug@ideasonboard.com>", "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": "Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n---\n include/libcamera/internal/converter.h | 10 ++++------\n .../libcamera/internal/converter/converter_v4l2_m2m.h | 8 ++++----\n src/libcamera/converter.cpp | 11 ++++-------\n src/libcamera/converter/converter_v4l2_m2m.cpp | 10 +++++-----\n 4 files changed, 17 insertions(+), 22 deletions(-)", "diff": "diff --git a/include/libcamera/internal/converter.h b/include/libcamera/internal/converter.h\nindex 9213ae5b9c33..12de6aef0e40 100644\n--- a/include/libcamera/internal/converter.h\n+++ b/include/libcamera/internal/converter.h\n@@ -43,11 +43,9 @@ public:\n \n \tenum class Alignment {\n \t\tDown = 0,\n-\t\tUp = (1 << 0),\n+\t\tUp,\n \t};\n \n-\tusing Alignments = Flags<Alignment>;\n-\n \tConverter(MediaDevice *media, Features features = Feature::None);\n \tvirtual ~Converter();\n \n@@ -60,16 +58,16 @@ public:\n \n \tvirtual Size adjustInputSize(const PixelFormat &pixFmt,\n \t\t\t\t const Size &size,\n-\t\t\t\t Alignments align = Alignment::Down) = 0;\n+\t\t\t\t Alignment align = Alignment::Down) = 0;\n \tvirtual Size adjustOutputSize(const PixelFormat &pixFmt,\n \t\t\t\t const Size &size,\n-\t\t\t\t Alignments align = Alignment::Down) = 0;\n+\t\t\t\t Alignment align = Alignment::Down) = 0;\n \n \tvirtual std::tuple<unsigned int, unsigned int>\n \tstrideAndFrameSize(const PixelFormat &pixelFormat, const Size &size) = 0;\n \n \tvirtual int validateOutput(StreamConfiguration *cfg, bool *adjusted,\n-\t\t\t\t Alignments align = Alignment::Down) = 0;\n+\t\t\t\t Alignment align = Alignment::Down) = 0;\n \n \tvirtual int configure(const StreamConfiguration &inputCfg,\n \t\t\t const std::vector<std::reference_wrapper<StreamConfiguration>> &outputCfgs) = 0;\ndiff --git a/include/libcamera/internal/converter/converter_v4l2_m2m.h b/include/libcamera/internal/converter/converter_v4l2_m2m.h\nindex 89bd2878b190..89c398614006 100644\n--- a/include/libcamera/internal/converter/converter_v4l2_m2m.h\n+++ b/include/libcamera/internal/converter/converter_v4l2_m2m.h\n@@ -48,9 +48,9 @@ public:\n \tstrideAndFrameSize(const PixelFormat &pixelFormat, const Size &size);\n \n \tSize adjustInputSize(const PixelFormat &pixFmt,\n-\t\t\t const Size &size, Alignments align = Alignment::Down) override;\n+\t\t\t const Size &size, Alignment align = Alignment::Down) override;\n \tSize adjustOutputSize(const PixelFormat &pixFmt,\n-\t\t\t const Size &size, Alignments align = Alignment::Down) override;\n+\t\t\t const Size &size, Alignment align = Alignment::Down) override;\n \n \tint configure(const StreamConfiguration &inputCfg,\n \t\t const std::vector<std::reference_wrapper<StreamConfiguration>> &outputCfg);\n@@ -61,7 +61,7 @@ public:\n \tvoid stop();\n \n \tint validateOutput(StreamConfiguration *cfg, bool *adjusted,\n-\t\t\t Alignments align = Alignment::Down) override;\n+\t\t\t Alignment align = Alignment::Down) override;\n \n \tint queueBuffers(FrameBuffer *input,\n \t\t\t const std::map<const Stream *, FrameBuffer *> &outputs);\n@@ -110,7 +110,7 @@ private:\n \t};\n \n \tSize adjustSizes(const Size &size, const std::vector<SizeRange> &ranges,\n-\t\t\t Alignments align);\n+\t\t\t Alignment align);\n \n \tstd::unique_ptr<V4L2M2MDevice> m2m_;\n \ndiff --git a/src/libcamera/converter.cpp b/src/libcamera/converter.cpp\nindex c3da162b7de7..c373564d6007 100644\n--- a/src/libcamera/converter.cpp\n+++ b/src/libcamera/converter.cpp\n@@ -60,11 +60,6 @@ LOG_DEFINE_CATEGORY(Converter)\n * \\brief Adjust the Converter sizes to a larger valid size\n */\n \n-/**\n- * \\typedef Converter::Alignments\n- * \\brief A bitwise combination of alignments supported by the converter\n- */\n-\n /**\n * \\brief Construct a Converter instance\n * \\param[in] media The media device implementing the converter\n@@ -131,7 +126,8 @@ Converter::~Converter()\n * \\param[in] pixFmt The pixel format of the converter input stream\n * \\param[in] size The converter input size to adjust to a valid value\n * \\param[in] align The desired alignment\n- * \\return The adjusted converter input size\n+ * \\return The adjusted converter input size or a null Size if \\a size cannot\n+ * be adjusted\n */\n \n /**\n@@ -140,7 +136,8 @@ Converter::~Converter()\n * \\param[in] pixFmt The pixel format of the converter output stream\n * \\param[in] size The converter output size to adjust to a valid value\n * \\param[in] align The desired alignment\n- * \\return The adjusted converter output size\n+ * \\return The adjusted converter output size or a null Size if \\a size cannot\n+ * be adjusted\n */\n \n /**\ndiff --git a/src/libcamera/converter/converter_v4l2_m2m.cpp b/src/libcamera/converter/converter_v4l2_m2m.cpp\nindex 6857472b29f2..17098f69c934 100644\n--- a/src/libcamera/converter/converter_v4l2_m2m.cpp\n+++ b/src/libcamera/converter/converter_v4l2_m2m.cpp\n@@ -405,7 +405,7 @@ V4L2M2MConverter::strideAndFrameSize(const PixelFormat &pixelFormat,\n * \\copydoc libcamera::Converter::adjustInputSize\n */\n Size V4L2M2MConverter::adjustInputSize(const PixelFormat &pixFmt,\n-\t\t\t\t const Size &size, Alignments align)\n+\t\t\t\t const Size &size, Alignment align)\n {\n \tauto formats = m2m_->output()->formats();\n \tV4L2PixelFormat v4l2PixFmt = m2m_->output()->toV4L2PixelFormat(pixFmt);\n@@ -424,7 +424,7 @@ Size V4L2M2MConverter::adjustInputSize(const PixelFormat &pixFmt,\n * \\copydoc libcamera::Converter::adjustOutputSize\n */\n Size V4L2M2MConverter::adjustOutputSize(const PixelFormat &pixFmt,\n-\t\t\t\t\tconst Size &size, Alignments align)\n+\t\t\t\t\tconst Size &size, Alignment align)\n {\n \tauto formats = m2m_->capture()->formats();\n \tV4L2PixelFormat v4l2PixFmt = m2m_->capture()->toV4L2PixelFormat(pixFmt);\n@@ -441,7 +441,7 @@ Size V4L2M2MConverter::adjustOutputSize(const PixelFormat &pixFmt,\n \n Size V4L2M2MConverter::adjustSizes(const Size &cfgSize,\n \t\t\t\t const std::vector<SizeRange> &ranges,\n-\t\t\t\t Alignments align)\n+\t\t\t\t Alignment align)\n {\n \tSize size = cfgSize;\n \n@@ -495,7 +495,7 @@ Size V4L2M2MConverter::adjustSizes(const Size &cfgSize,\n \t\t * alignment: smaller than s1 if we align down, larger than s1\n \t\t * if we align up.\n \t\t */\n-\t\tauto nextSizeValid = [](const Size &s1, const Size &s2, Alignments a) {\n+\t\tauto nextSizeValid = [](const Size &s1, const Size &s2, Alignment a) {\n \t\t\treturn a == Alignment::Down\n \t\t\t\t? (s1.width > s2.width && s1.height > s2.height)\n \t\t\t\t: (s1.width < s2.width && s1.height < s2.height);\n@@ -633,7 +633,7 @@ void V4L2M2MConverter::stop()\n * \\copydoc libcamera::Converter::validateOutput\n */\n int V4L2M2MConverter::validateOutput(StreamConfiguration *cfg, bool *adjusted,\n-\t\t\t\t Alignments align)\n+\t\t\t\t Alignment align)\n {\n \tV4L2VideoDevice *capture = m2m_->capture();\n \tV4L2VideoDevice::Formats fmts = capture->formats();\n", "prefixes": [ "v3.1", "09/17" ] }