[libcamera-devel] [PATCH 12/15] libcamera: ipu3: add ImgUDevice::Pipe

Jacopo Mondi jacopo at jmondi.org
Wed Jul 1 14:30:33 CEST 2020


Add a structure that describes the ImgU pipe configuration.

The new structure reports the size of the ImgU input frame, the
desired main output size and desired viewfinder size.

Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
---
 src/libcamera/pipeline/ipu3/imgu.cpp | 19 +++++++++++++++++++
 src/libcamera/pipeline/ipu3/imgu.h   |  6 ++++++
 2 files changed, 25 insertions(+)

diff --git a/src/libcamera/pipeline/ipu3/imgu.cpp b/src/libcamera/pipeline/ipu3/imgu.cpp
index d7f4173d3607..7e9047cc8dc1 100644
--- a/src/libcamera/pipeline/ipu3/imgu.cpp
+++ b/src/libcamera/pipeline/ipu3/imgu.cpp
@@ -19,6 +19,25 @@ namespace libcamera {
 
 LOG_DECLARE_CATEGORY(IPU3)
 
+/**
+ * \struct Pipe
+ * \brief Describe the ImgU requested configuration
+ *
+ * The ImgU unit processes images through several components, which have
+ * to be properly configured inspecting the input image size and the desired
+ * output sizes. This structure collects the ImgU input configuration and the
+ * requested main output and viewfinder configurations.
+ *
+ * \var Pipe::input
+ * \brief The input image size
+ *
+ * \var Pipe::output
+ * \brief The requested main output size
+ *
+ * \var Pipe::viewfinder
+ * \brief The requested viewfinder size
+ */
+
 /**
  * \brief Initialize components of the ImgU instance
  * \param[in] mediaDevice The ImgU instance media device
diff --git a/src/libcamera/pipeline/ipu3/imgu.h b/src/libcamera/pipeline/ipu3/imgu.h
index 5c124af2e9fe..8fb271fb8350 100644
--- a/src/libcamera/pipeline/ipu3/imgu.h
+++ b/src/libcamera/pipeline/ipu3/imgu.h
@@ -23,6 +23,12 @@ struct StreamConfiguration;
 class ImgUDevice
 {
 public:
+	struct Pipe {
+		Size input;
+		Size output;
+		Size viewfinder;
+	};
+
 	int init(MediaDevice *media, unsigned int index);
 
 	int configureInput(const Size &size, V4L2DeviceFormat *inputFormat);
-- 
2.27.0



More information about the libcamera-devel mailing list