summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiklas Söderlund <niklas.soderlund@ragnatech.se>2019-01-22 21:46:04 +0100
committerNiklas Söderlund <niklas.soderlund@ragnatech.se>2019-02-01 08:11:33 +0100
commit51d442d5a1c1839bb538aeca35a9451e2d325200 (patch)
treea4a28df3724c3b5670fc6580d94bfa853d0f9b00
parent50e184d3f1f1b89b15ccdf1268e68b43a435c7d0 (diff)
libcamera: stream: add initial StreamConfiguration structure
Add an initial StreamConfiguration implementation to hold configuration data for a single stream of a Camera. In its current form not many configuration parameters are supported but it's expected the number of options will grow over time. At this stage the pixel format is represented as an unsigned int to allow for easy mapping to the V4L2 API. This might be subject to change in the future as we finalize how libcamera shall represent pixel formats. Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r--include/libcamera/stream.h6
-rw-r--r--src/libcamera/stream.cpp26
2 files changed, 32 insertions, 0 deletions
diff --git a/include/libcamera/stream.h b/include/libcamera/stream.h
index 4f47d85e..4b24dd84 100644
--- a/include/libcamera/stream.h
+++ b/include/libcamera/stream.h
@@ -13,6 +13,12 @@ class Stream final
{
};
+struct StreamConfiguration {
+ unsigned int width;
+ unsigned int height;
+ unsigned int pixelFormat;
+};
+
} /* namespace libcamera */
#endif /* __LIBCAMERA_STREAM_H__ */
diff --git a/src/libcamera/stream.cpp b/src/libcamera/stream.cpp
index 9417c588..b0b4efe3 100644
--- a/src/libcamera/stream.cpp
+++ b/src/libcamera/stream.cpp
@@ -47,4 +47,30 @@ namespace libcamera {
* optimal stream for the task.
*/
+/**
+ * \struct StreamConfiguration
+ * \brief Configuration parameters for a stream
+ *
+ * The StreamConfiguration structure models all information which can be
+ * configured for a single video stream.
+ */
+
+/**
+ * \var StreamConfiguration::width
+ * \brief Stream width in pixels
+ */
+
+/**
+ * \var StreamConfiguration::height
+ * \brief Stream height in pixels
+ */
+
+/**
+ * \var StreamConfiguration::pixelFormat
+ * \brief Stream pixel format
+ *
+ * This is a little endian four character code representation of the pixel
+ * format described in V4L2 using the V4L2_PIX_FMT_* definitions.
+ */
+
} /* namespace libcamera */