summaryrefslogtreecommitdiff
path: root/include/libcamera/internal/converter/converter_v4l2_m2m.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/libcamera/internal/converter/converter_v4l2_m2m.h')
-rw-r--r--include/libcamera/internal/converter/converter_v4l2_m2m.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/libcamera/internal/converter/converter_v4l2_m2m.h b/include/libcamera/internal/converter/converter_v4l2_m2m.h
index 1ccbfc7c..0ad7bf7f 100644
--- a/include/libcamera/internal/converter/converter_v4l2_m2m.h
+++ b/include/libcamera/internal/converter/converter_v4l2_m2m.h
@@ -47,6 +47,11 @@ public:
std::tuple<unsigned int, unsigned int>
strideAndFrameSize(const PixelFormat &pixelFormat, const Size &size) override;
+ Size adjustInputSize(const PixelFormat &pixFmt,
+ const Size &size, Alignment align = Alignment::Down) override;
+ Size adjustOutputSize(const PixelFormat &pixFmt,
+ const Size &size, Alignment align = Alignment::Down) override;
+
int configure(const StreamConfiguration &inputCfg,
const std::vector<std::reference_wrapper<StreamConfiguration>>
&outputCfg) override;
@@ -57,6 +62,9 @@ public:
int start() override;
void stop() override;
+ int validateOutput(StreamConfiguration *cfg, bool *adjusted,
+ Alignment align = Alignment::Down) override;
+
int queueBuffers(FrameBuffer *input,
const std::map<const Stream *, FrameBuffer *> &outputs) override;
@@ -104,6 +112,9 @@ private:
std::pair<Rectangle, Rectangle> inputCropBounds_;
};
+ Size adjustSizes(const Size &size, const std::vector<SizeRange> &ranges,
+ Alignment align);
+
std::unique_ptr<V4L2M2MDevice> m2m_;
std::map<const Stream *, std::unique_ptr<V4L2M2MStream>> streams_;