diff options
author | Kieran Bingham <kieran.bingham@ideasonboard.com> | 2020-07-23 11:19:38 +0100 |
---|---|---|
committer | Kieran Bingham <kieran.bingham@ideasonboard.com> | 2020-08-06 15:43:59 +0100 |
commit | 38ca814e9723562da7b3a63f89662f801ca45614 (patch) | |
tree | 1693b25e31479240b71ea9e8253398942a7b08a8 /src | |
parent | 000257a707fed083c6b9ed95d9497ba709cf6f30 (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')
-rw-r--r-- | src/libcamera/formats.cpp | 18 |
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 */ |