diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2021-09-02 01:42:10 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2021-09-07 19:17:50 +0300 |
commit | e85978ef5f813866178e809529db0602d00acde8 (patch) | |
tree | f02b86dad879d9c62711ac7e001e2fe417d676a5 | |
parent | 9a8c0365f707207c89f7082177899ab80ab9be39 (diff) |
libcamera: formats: Move plane info structure to PixelFormatInfo
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@ideasonboard.com>
Reviewed-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
Reviewed-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
-rw-r--r-- | include/libcamera/internal/formats.h | 13 | ||||
-rw-r--r-- | 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 51a8a6b8..a07de6bc 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 603d8861..1e5c8a0c 100644 --- a/src/libcamera/formats.cpp +++ b/src/libcamera/formats.cpp @@ -24,22 +24,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; |