summaryrefslogtreecommitdiff
path: root/src/libcamera/pipeline/ipu3/imgu.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcamera/pipeline/ipu3/imgu.h')
-rw-r--r--src/libcamera/pipeline/ipu3/imgu.h28
1 files changed, 26 insertions, 2 deletions
diff --git a/src/libcamera/pipeline/ipu3/imgu.h b/src/libcamera/pipeline/ipu3/imgu.h
index 31f4d75c..2ad2a65d 100644
--- a/src/libcamera/pipeline/ipu3/imgu.h
+++ b/src/libcamera/pipeline/ipu3/imgu.h
@@ -47,9 +47,29 @@ public:
}
int init(MediaDevice *media, unsigned int index);
+
int configureInput(const Size &size, V4L2DeviceFormat *inputFormat);
- int configureOutput(ImgUOutput *output, const StreamConfiguration &cfg,
- V4L2DeviceFormat *outputFormat);
+
+ int configureOutput(const StreamConfiguration &cfg,
+ V4L2DeviceFormat *outputFormat)
+ {
+ return configureVideoDevice(output_.dev, PAD_OUTPUT, cfg,
+ outputFormat);
+ }
+
+ int configureViewfinder(const StreamConfiguration &cfg,
+ V4L2DeviceFormat *outputFormat)
+ {
+ return configureVideoDevice(viewfinder_.dev, PAD_VF, cfg,
+ outputFormat);
+ }
+
+ int configureStat(const StreamConfiguration &cfg,
+ V4L2DeviceFormat *outputFormat)
+ {
+ return configureVideoDevice(stat_.dev, PAD_STAT, cfg,
+ outputFormat);
+ }
int allocateBuffers(unsigned int bufferCount);
void freeBuffers();
@@ -76,6 +96,10 @@ private:
const std::string &sink, unsigned int sinkPad,
bool enable);
+ int configureVideoDevice(V4L2VideoDevice *dev, unsigned int pad,
+ const StreamConfiguration &cfg,
+ V4L2DeviceFormat *outputFormat);
+
std::string name_;
MediaDevice *media_;
};