summaryrefslogtreecommitdiff
path: root/src/libcamera/formats.cpp
diff options
context:
space:
mode:
authorKieran Bingham <kieran.bingham@ideasonboard.com>2020-07-23 11:19:38 +0100
committerKieran Bingham <kieran.bingham@ideasonboard.com>2020-08-06 15:43:59 +0100
commit38ca814e9723562da7b3a63f89662f801ca45614 (patch)
tree1693b25e31479240b71ea9e8253398942a7b08a8 /src/libcamera/formats.cpp
parent000257a707fed083c6b9ed95d9497ba709cf6f30 (diff)
libcamera: formats: add numPlanes helper
Determine the number of planes used by a format by counting the number of PixelFormatPlaneInfo entries with a valid entry. Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'src/libcamera/formats.cpp')
-rw-r--r--src/libcamera/formats.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/libcamera/formats.cpp b/src/libcamera/formats.cpp
index a51e9681..ebaae9be 100644
--- a/src/libcamera/formats.cpp
+++ b/src/libcamera/formats.cpp
@@ -821,4 +821,22 @@ PixelFormatInfo::frameSize(const Size &size,
return sum;
}
+/**
+ * \brief Retrieve the number of planes represented by the format
+ * \return The number of planes used by the format
+ */
+unsigned int PixelFormatInfo::numPlanes() const
+{
+ unsigned int count = 0;
+
+ for (const PixelFormatPlaneInfo &p : planes) {
+ if (p.bytesPerGroup == 0)
+ break;
+
+ count++;
+ }
+
+ return count;
+}
+
} /* namespace libcamera */