diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-05-22 03:54:29 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-06-06 00:25:04 +0300 |
commit | 79f96256071eec9ecf7fd2ebb7261d26e5344f9f (patch) | |
tree | 2704da21a9c2cbb92fc875461ec8cbf5aa7d492f /include | |
parent | 4bd09795a17dd1acd556c5549a71e9a5fe2fbcbe (diff) |
libcamera: pixel_format: Make PixelFormat usable as a constexpr
The PixelFormat class is a lightweight wrapper around a 32-bit FourCC
and a 64-bit modifier. Make is usable as a constexpr.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Diffstat (limited to 'include')
-rw-r--r-- | include/libcamera/pixel_format.h | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/include/libcamera/pixel_format.h b/include/libcamera/pixel_format.h index e3b371ef..8dfeb892 100644 --- a/include/libcamera/pixel_format.h +++ b/include/libcamera/pixel_format.h @@ -18,18 +18,25 @@ namespace libcamera { class PixelFormat { public: - PixelFormat(); - explicit PixelFormat(uint32_t fourcc, uint64_t modifier = 0); + constexpr PixelFormat() + : fourcc_(0), modifier_(0) + { + } + + explicit constexpr PixelFormat(uint32_t fourcc, uint64_t modifier = 0) + : fourcc_(fourcc), modifier_(modifier) + { + } bool operator==(const PixelFormat &other) const; bool operator!=(const PixelFormat &other) const { return !(*this == other); } bool operator<(const PixelFormat &other) const; - bool isValid() const { return fourcc_ != 0; } + constexpr bool isValid() const { return fourcc_ != 0; } - operator uint32_t() const { return fourcc_; } - uint32_t fourcc() const { return fourcc_; } - uint64_t modifier() const { return modifier_; } + constexpr operator uint32_t() const { return fourcc_; } + constexpr uint32_t fourcc() const { return fourcc_; } + constexpr uint64_t modifier() const { return modifier_; } std::string toString() const; |