{"id":3369,"url":"https://patchwork.libcamera.org/api/patches/3369/?format=json","web_url":"https://patchwork.libcamera.org/patch/3369/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20200403141208.GA3005@kaaira-HP-Pavilion-Notebook>","date":"2020-04-03T14:12:08","name":"[libcamera-devel] libcamera: pixelformats: replace set of modifiers with a single value","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"f71a12ea6c6845be77ce3576183db21b89f078df","submitter":{"id":39,"url":"https://patchwork.libcamera.org/api/people/39/?format=json","name":"Kaaira Gupta","email":"kgupta@es.iitr.ac.in"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/3369/mbox/","series":[{"id":793,"url":"https://patchwork.libcamera.org/api/series/793/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=793","date":"2020-04-03T14:12:08","name":"[libcamera-devel] libcamera: pixelformats: replace set of modifiers with a single value","version":1,"mbox":"https://patchwork.libcamera.org/series/793/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/3369/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/3369/checks/","tags":{},"headers":{"Return-Path":"<kgupta@es.iitr.ac.in>","Received":["from mail-pf1-x443.google.com (mail-pf1-x443.google.com\n\t[IPv6:2607:f8b0:4864:20::443])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 48038600FA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  3 Apr 2020 16:12:17 +0200 (CEST)","by mail-pf1-x443.google.com with SMTP id u65so3540474pfb.4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 03 Apr 2020 07:12:17 -0700 (PDT)","from kaaira-HP-Pavilion-Notebook ([103.113.213.154])\n\tby smtp.gmail.com with ESMTPSA id\n\tf15sm5971263pfq.100.2020.04.03.07.12.12\n\t(version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);\n\tFri, 03 Apr 2020 07:12:14 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected)\n\theader.d=es-iitr-ac-in.20150623.gappssmtp.com\n\theader.i=@es-iitr-ac-in.20150623.gappssmtp.com header.b=\"Se86HKWU\"; \n\tdkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=es-iitr-ac-in.20150623.gappssmtp.com; s=20150623;\n\th=date:from:to:subject:message-id:mime-version:content-disposition\n\t:user-agent; bh=zWlB8RhDC1zevTS9Wgr9ZNnJhnB7w7RlTNAvpm3S2/8=;\n\tb=Se86HKWUlLxdfIjo0pu3jRD5rt0C/ECdNO3cUSEbkY9ObkB/1J6SPvNFpg1Wt3zxxi\n\tyR6Oc8lbpfSuK+1YjqeD0bpYpI+mPwGigCMoJuRHh4H94pamRQ+fEhLTjcTIZpyQ258X\n\t/tVDu/ApkYEOwTR7irG+e0lr9PVrxSqiZIaie1IEs4g//WGszAr6KSQWM34pmROGrXc7\n\t98PMlbBqpeRMMfuIwEVUelCSNbRHP/bBRgcP+lEcdIXvIT2POmybHQg4pJfMs9mQO6kY\n\tF14PeHLFRH/XGEuQUCEZdKnfLlhz+OJlmLJbnDAzceEB+gNmq8+iircfqRnEXtfjVmGq\n\t+A+w==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:subject:message-id:mime-version\n\t:content-disposition:user-agent;\n\tbh=zWlB8RhDC1zevTS9Wgr9ZNnJhnB7w7RlTNAvpm3S2/8=;\n\tb=cI3gHqnqKn32n7s+ODy6lSFwJ1eJTre8pAKwk8dED1+/mhVGuhGUrhjwmAnDN8mWXH\n\tFHR0iTvFWMrrGfBpa/4JgCG9UL4KQ89OaYjAnXYUv1XkISb56tUIhLZt8y5qDt35pwnV\n\tfFbOxTc4hDz5tTlLAnrEWCs8AsIgbJpR7RUqO3a8aOKb2uUSczd10XghloqcLkHvP+4w\n\tyv5UAnuaC8YQtlcpX/68pcg41kinavvwu7uq3Frr2Q9v9LPmWASaYGCls8UEQw17t9Ke\n\tNeMvAfZ1SF53UK1LGaeNQcdFtW5mZ0Zxv5upNnmidPkIJ9T/leYie9U2kAkzRGiHCF3u\n\tTrwQ==","X-Gm-Message-State":"AGi0PuYUnAAA+LYKWKRtG/Xg9sLdkYo4c/kh3NKyBNnlMs/CDkTij3Dd\n\tj8ed2T0n8MGG94RmJojeK/q5aguF3DzynA==","X-Google-Smtp-Source":"APiQypIp6DtyZQHtjHeeVWhTkjaAlXTUTsh7O1yifhXjoO9pf2pXg7N6gEISR2JzwMddc1uuXNtrbw==","X-Received":"by 2002:aa7:999e:: with SMTP id\n\tk30mr8366518pfh.235.1585923135403; \n\tFri, 03 Apr 2020 07:12:15 -0700 (PDT)","Date":"Fri, 3 Apr 2020 19:42:08 +0530","From":"Kaaira Gupta <kgupta@es.iitr.ac.in>","To":"libcamera-devel@lists.libcamera.org,\n\tKieran Bingham <kieran.bingham@ideasonboard.com>,\n\tHelen Koike <helen.koike@collabora.com>,\n\tVaishali Thakkar <vthakkar@vaishalithakkar.in>","Message-ID":"<20200403141208.GA3005@kaaira-HP-Pavilion-Notebook>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","User-Agent":"Mutt/1.9.4 (2018-02-28)","Subject":"[libcamera-devel] [PATCH] libcamera: pixelformats: replace set of\n\tmodifiers with a single value","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>","X-List-Received-Date":"Fri, 03 Apr 2020 14:12:17 -0000"},"content":"Pixelformat class takes a set of modifiers as an input, but all the\nvalues in the set are same. Hence take just one value as an input.\n\nSigned-off-by: Kaaira Gupta <kgupta@es.iitr.ac.in>\n---\n include/libcamera/pixelformats.h     |  6 +++---\n src/libcamera/pipeline/ipu3/ipu3.cpp |  2 +-\n src/libcamera/pixelformats.cpp       | 22 +++++++++++-----------\n 3 files changed, 15 insertions(+), 15 deletions(-)","diff":"diff --git a/include/libcamera/pixelformats.h b/include/libcamera/pixelformats.h\nindex 9ce6f7f..89966e5 100644\n--- a/include/libcamera/pixelformats.h\n+++ b/include/libcamera/pixelformats.h\n@@ -19,7 +19,7 @@ class PixelFormat\n {\n public:\n \tPixelFormat();\n-\texplicit PixelFormat(uint32_t fourcc, const std::set<uint64_t> &modifiers = {});\n+\texplicit PixelFormat(uint32_t fourcc, uint64_t modifier = 0);\n \n \tbool operator==(const PixelFormat &other) const;\n \tbool operator!=(const PixelFormat &other) const { return !(*this == other); }\n@@ -29,13 +29,13 @@ public:\n \n \toperator uint32_t() const { return fourcc_; }\n \tuint32_t fourcc() const { return fourcc_; }\n-\tconst std::set<uint64_t> &modifiers() const { return modifiers_; }\n+\tuint64_t modifier() const { return modifier_; }\n \n \tstd::string toString() const;\n \n private:\n \tuint32_t fourcc_;\n-\tstd::set<uint64_t> modifiers_;\n+\tuint64_t modifier_;\n };\n \n } /* namespace libcamera */\ndiff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\nindex 1e114ca..219b90b 100644\n--- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n@@ -365,7 +365,7 @@ CameraConfiguration::Status IPU3CameraConfiguration::validate()\n \t\tconst Size size = cfg.size;\n \t\tconst IPU3Stream *stream;\n \n-\t\tif (cfg.pixelFormat.modifiers().count(IPU3_FORMAT_MOD_PACKED))\n+\t\tif (cfg.pixelFormat.modifier() == IPU3_FORMAT_MOD_PACKED)\n \t\t\tstream = &data_->rawStream_;\n \t\telse if (cfg.size == sensorFormat_.size)\n \t\t\tstream = &data_->outStream_;\ndiff --git a/src/libcamera/pixelformats.cpp b/src/libcamera/pixelformats.cpp\nindex 87557d9..a53d435 100644\n--- a/src/libcamera/pixelformats.cpp\n+++ b/src/libcamera/pixelformats.cpp\n@@ -19,8 +19,8 @@ namespace libcamera {\n  * \\brief libcamera image pixel format\n  *\n  * The PixelFormat type describes the format of images in the public libcamera\n- * API. It stores a FourCC value as a 32-bit unsigned integer and a set of\n- * modifiers. The FourCC and modifiers values are defined in the Linux kernel\n+ * API. It stores a FourCC value as a 32-bit unsigned integer and a\n+ * modifier. The FourCC and modifier values are defined in the Linux kernel\n  * DRM/KMS API (see linux/drm_fourcc.h).\n  */\n \n@@ -36,12 +36,12 @@ PixelFormat::PixelFormat()\n }\n \n /**\n- * \\brief Construct a PixelFormat from a DRM FourCC and a set of modifiers\n+ * \\brief Construct a PixelFormat from a DRM FourCC and a modifier\n  * \\param[in] fourcc A DRM FourCC\n- * \\param[in] modifiers A set of DRM FourCC modifiers\n+ * \\param[in] modifier A DRM FourCC modifier\n  */\n-PixelFormat::PixelFormat(uint32_t fourcc, const std::set<uint64_t> &modifiers)\n-\t: fourcc_(fourcc), modifiers_(modifiers)\n+PixelFormat::PixelFormat(uint32_t fourcc, uint64_t modifier)\n+\t: fourcc_(fourcc), modifier_(modifier)\n {\n }\n \n@@ -51,7 +51,7 @@ PixelFormat::PixelFormat(uint32_t fourcc, const std::set<uint64_t> &modifiers)\n  */\n bool PixelFormat::operator==(const PixelFormat &other) const\n {\n-\treturn fourcc_ == other.fourcc() && modifiers_ == other.modifiers_;\n+\treturn fourcc_ == other.fourcc() && modifier_ == other.modifier_;\n }\n \n /**\n@@ -70,7 +70,7 @@ bool PixelFormat::operator<(const PixelFormat &other) const\n \t\treturn true;\n \tif (fourcc_ > other.fourcc_)\n \t\treturn false;\n-\treturn modifiers_ < modifiers_;\n+\treturn modifier_ < other.modifier_;\n }\n \n /**\n@@ -97,9 +97,9 @@ bool PixelFormat::operator<(const PixelFormat &other) const\n  */\n \n /**\n- * \\fn PixelFormat::modifiers() const\n- * \\brief Retrieve the pixel format modifiers\n- * \\return Set of DRM modifiers\n+ * \\fn PixelFormat::modifier() const\n+ * \\brief Retrieve the pixel format modifier\n+ * \\return DRM modifier\n  */\n \n /**\n","prefixes":["libcamera-devel"]}