diff options
Diffstat (limited to 'src/libcamera/include/v4l2_subdevice.h')
-rw-r--r-- | src/libcamera/include/v4l2_subdevice.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/libcamera/include/v4l2_subdevice.h b/src/libcamera/include/v4l2_subdevice.h index 669e79f9..1cc0fab7 100644 --- a/src/libcamera/include/v4l2_subdevice.h +++ b/src/libcamera/include/v4l2_subdevice.h @@ -7,15 +7,16 @@ #ifndef __LIBCAMERA_V4L2_SUBDEVICE_H__ #define __LIBCAMERA_V4L2_SUBDEVICE_H__ +#include <map> #include <string> +#include <vector> +#include "geometry.h" #include "log.h" #include "media_object.h" namespace libcamera { -struct Rectangle; - struct V4L2SubdeviceFormat { uint32_t mbus_code; uint32_t width; @@ -39,6 +40,9 @@ public: int setCrop(unsigned int pad, Rectangle *rect); int setCompose(unsigned int pad, Rectangle *rect); + const std::map<unsigned int, std::vector<SizeRange>> + formats(unsigned int pad); + int getFormat(unsigned int pad, V4L2SubdeviceFormat *format); int setFormat(unsigned int pad, V4L2SubdeviceFormat *format); @@ -46,6 +50,9 @@ protected: std::string logPrefix() const; private: + int enumPadSizes(unsigned int pad, unsigned int code, + std::vector<SizeRange> *size); + int setSelection(unsigned int pad, unsigned int target, Rectangle *rect); |