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.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/libcamera/pipeline/ipu3/imgu.h b/src/libcamera/pipeline/ipu3/imgu.h
index 23ec1ca1..2f9dc022 100644
--- a/src/libcamera/pipeline/ipu3/imgu.h
+++ b/src/libcamera/pipeline/ipu3/imgu.h
@@ -23,8 +23,28 @@ struct StreamConfiguration;
class ImgUDevice
{
public:
+ struct PipeConfig {
+ float bds_sf;
+ Size iif;
+ Size bds;
+ Size gdc;
+
+ bool isNull() const
+ {
+ return iif.isNull() || bds.isNull() || gdc.isNull();
+ }
+ };
+
+ struct Pipe {
+ Size input;
+ Size main;
+ Size viewfinder;
+ };
+
int init(MediaDevice *media, unsigned int index);
+ PipeConfig calculatePipeConfig(Pipe *pipe);
+
int configureInput(const Size &size, V4L2DeviceFormat *inputFormat);
int configureOutput(const StreamConfiguration &cfg,