summaryrefslogtreecommitdiff
path: root/src/libcamera/include/formats.h
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-04-30 05:11:59 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-04-30 14:54:03 +0300
commit37332ad50b4f55481b1dc4390fa436ce1ea3712d (patch)
tree5d69205baa5ebc1e84ce6b7cb06d712800cb8822 /src/libcamera/include/formats.h
parentdcabb8e354ca4dd02d5c0aaec28437eacaaf88b7 (diff)
libcamera: formats: Expose PixelFormatInfo as an internal API
To prepare for storing more information about pixel formats in PixelFormatInfo, move the class to formats.cpp and document it. The pixel formats database is moved to the same file, and a new static function is added to PixelFormatInfo to retrieve a PixelFormatInfo for a PixelFormat. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'src/libcamera/include/formats.h')
-rw-r--r--src/libcamera/include/formats.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/libcamera/include/formats.h b/src/libcamera/include/formats.h
index f43bc8c0..560df07c 100644
--- a/src/libcamera/include/formats.h
+++ b/src/libcamera/include/formats.h
@@ -12,6 +12,9 @@
#include <vector>
#include <libcamera/geometry.h>
+#include <libcamera/pixelformats.h>
+
+#include "v4l2_pixelformat.h"
namespace libcamera {
@@ -29,6 +32,18 @@ private:
std::map<unsigned int, std::vector<SizeRange>> data_;
};
+class PixelFormatInfo
+{
+public:
+ bool isValid() const { return format.isValid(); }
+
+ static const PixelFormatInfo &info(const PixelFormat &format);
+
+ /* \todo Add support for non-contiguous memory planes */
+ PixelFormat format;
+ V4L2PixelFormat v4l2Format;
+};
+
} /* namespace libcamera */
#endif /* __LIBCAMERA_FORMATS_H__ */