[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