[libcamera-devel] [PATCH v3.1 05/30] libcamera: formats: Move plane info structure to PixelFormatInfo
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Tue Sep 7 17:45:17 CEST 2021
Move the PixelFormatPlaneInfo structure within the PixelFormatInfo class
definition and rename it to Plane, to align the naming scheme with other
parts of libcamera, such as FrameBuffer::Plane or FrameMetadata::Plane.
Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Reviewed-by: Jean-Michel Hautbois <jeanmichel.hautbois at ideasonboard.com>
Reviewed-by: Hirokazu Honda <hiroh at chromium.org>
Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder at ideasonboard.com>
---
Changes since v3:
- Use \struct instead of \class
- Move the comment block to the right place
---
include/libcamera/internal/formats.h | 13 +++++-----
src/libcamera/formats.cpp | 38 ++++++++++++++--------------
2 files changed, 25 insertions(+), 26 deletions(-)
diff --git a/include/libcamera/internal/formats.h b/include/libcamera/internal/formats.h
index 51a8a6b8b0ae..a07de6bc6020 100644
--- a/include/libcamera/internal/formats.h
+++ b/include/libcamera/internal/formats.h
@@ -19,12 +19,6 @@
namespace libcamera {
-struct PixelFormatPlaneInfo
-{
- unsigned int bytesPerGroup;
- unsigned int verticalSubSampling;
-};
-
class PixelFormatInfo
{
public:
@@ -34,6 +28,11 @@ public:
ColourEncodingRAW,
};
+ struct Plane {
+ unsigned int bytesPerGroup;
+ unsigned int verticalSubSampling;
+ };
+
bool isValid() const { return format.isValid(); }
static const PixelFormatInfo &info(const PixelFormat &format);
@@ -58,7 +57,7 @@ public:
unsigned int pixelsPerGroup;
- std::array<PixelFormatPlaneInfo, 3> planes;
+ std::array<Plane, 3> planes;
};
} /* namespace libcamera */
diff --git a/src/libcamera/formats.cpp b/src/libcamera/formats.cpp
index 603d88619fe0..1e5c8a0c36dc 100644
--- a/src/libcamera/formats.cpp
+++ b/src/libcamera/formats.cpp
@@ -23,22 +23,6 @@ namespace libcamera {
LOG_DEFINE_CATEGORY(Formats)
-/**
- * \class PixelFormatPlaneInfo
- * \brief Information about a single plane of a pixel format
- *
- * \var PixelFormatPlaneInfo::bytesPerGroup
- * \brief The number of bytes that a pixel group consumes
- *
- * \sa PixelFormatInfo::pixelsPerGroup
- *
- * \var PixelFormatPlaneInfo::verticalSubSampling
- * \brief Vertical subsampling multiplier
- *
- * This value is the ratio between the number of rows of pixels in the frame
- * to the number of rows of pixels in the plane.
- */
-
/**
* \class PixelFormatInfo
* \brief Information about pixel formats
@@ -87,7 +71,7 @@ LOG_DEFINE_CATEGORY(Formats)
*
* A pixel group is defined as the minimum number of pixels (including padding)
* necessary in a row when the image has only one column of effective pixels.
- * pixelsPerGroup refers to this value. PixelFormatPlaneInfo::bytesPerGroup,
+ * pixelsPerGroup refers to this value. PixelFormatInfo::Plane::bytesPerGroup,
* then, refers to the number of bytes that a pixel group consumes. This
* definition of a pixel group allows simple calculation of stride, as
* ceil(width / pixelsPerGroup) * bytesPerGroup. These values are determined
@@ -122,7 +106,7 @@ LOG_DEFINE_CATEGORY(Formats)
* \var PixelFormatInfo::planes
* \brief Information about pixels for each plane
*
- * \sa PixelFormatPlaneInfo
+ * \sa PixelFormatInfo::Plane
*/
/**
@@ -139,6 +123,22 @@ LOG_DEFINE_CATEGORY(Formats)
* \brief RAW colour encoding
*/
+/**
+ * \struct PixelFormatInfo::Plane
+ * \brief Information about a single plane of a pixel format
+ *
+ * \var PixelFormatInfo::Plane::bytesPerGroup
+ * \brief The number of bytes that a pixel group consumes
+ *
+ * \sa PixelFormatInfo::pixelsPerGroup
+ *
+ * \var PixelFormatInfo::Plane::verticalSubSampling
+ * \brief Vertical subsampling multiplier
+ *
+ * This value is the ratio between the number of rows of pixels in the frame
+ * to the number of rows of pixels in the plane.
+ */
+
namespace {
const PixelFormatInfo pixelFormatInfoInvalid{};
@@ -869,7 +869,7 @@ unsigned int PixelFormatInfo::numPlanes() const
{
unsigned int count = 0;
- for (const PixelFormatPlaneInfo &p : planes) {
+ for (const Plane &p : planes) {
if (p.bytesPerGroup == 0)
break;
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list