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 b9e59899..0bc0d053 100644
--- a/include/libcamera/internal/converter/converter_v4l2_m2m.h
+++ b/include/libcamera/internal/converter/converter_v4l2_m2m.h
@@ -30,6 +30,7 @@ class Size;
class SizeRange;
class Stream;
struct StreamConfiguration;
+class Rectangle;
class V4L2M2MDevice;
class V4L2M2MConverter : public Converter
@@ -57,6 +58,9 @@ public:
int queueBuffers(FrameBuffer *input,
const std::map<const Stream *, FrameBuffer *> &outputs);
+ int setInputCrop(const Stream *stream, Rectangle *rect);
+ std::pair<Rectangle, Rectangle> inputCropBounds(const Stream *stream);
+
private:
class V4L2M2MStream : protected Loggable
{
@@ -75,6 +79,11 @@ private:
int queueBuffers(FrameBuffer *input, FrameBuffer *output);
+ int setInputSelection(unsigned int target, Rectangle *rect);
+ int getInputSelection(unsigned int target, Rectangle *rect);
+
+ std::pair<Rectangle, Rectangle> inputCropBounds();
+
protected:
std::string logPrefix() const override;
@@ -88,6 +97,8 @@ private:
unsigned int inputBufferCount_;
unsigned int outputBufferCount_;
+
+ std::pair<Rectangle, Rectangle> inputCropBounds_;
};
std::unique_ptr<V4L2M2MDevice> m2m_;