summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNiklas Söderlund <niklas.soderlund@ragnatech.se>2020-07-01 22:05:09 +0200
committerNiklas Söderlund <niklas.soderlund@ragnatech.se>2020-07-23 16:31:41 +0200
commitdcda73ec14a69d303456cb8ab4869410c29bd762 (patch)
treeda39c75d2825cac7b0fa73dcbb5d1626e6585233 /include
parentd9295552b17c72c57357e901cd256bcf66528233 (diff)
libcamera: v4l2_subdevice: Replace ImageFormats with a map
Replace the V4L2Subdevice usage of the ImageFormats class with a std::map and the utils::map_keys() helper. Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'include')
-rw-r--r--include/libcamera/internal/camera_sensor.h6
-rw-r--r--include/libcamera/internal/v4l2_subdevice.h4
2 files changed, 5 insertions, 5 deletions
diff --git a/include/libcamera/internal/camera_sensor.h b/include/libcamera/internal/camera_sensor.h
index 7f07413f..06c8292c 100644
--- a/include/libcamera/internal/camera_sensor.h
+++ b/include/libcamera/internal/camera_sensor.h
@@ -16,13 +16,11 @@
#include "libcamera/internal/formats.h"
#include "libcamera/internal/log.h"
+#include "libcamera/internal/v4l2_subdevice.h"
namespace libcamera {
class MediaEntity;
-class V4L2Subdevice;
-
-struct V4L2SubdeviceFormat;
struct CameraSensorInfo {
std::string model;
@@ -75,7 +73,7 @@ private:
std::string model_;
- ImageFormats formats_;
+ V4L2Subdevice::Formats formats_;
Size resolution_;
std::vector<unsigned int> mbusCodes_;
std::vector<Size> sizes_;
diff --git a/include/libcamera/internal/v4l2_subdevice.h b/include/libcamera/internal/v4l2_subdevice.h
index a3ecf123..02ee3e91 100644
--- a/include/libcamera/internal/v4l2_subdevice.h
+++ b/include/libcamera/internal/v4l2_subdevice.h
@@ -32,6 +32,8 @@ struct V4L2SubdeviceFormat {
class V4L2Subdevice : public V4L2Device
{
public:
+ using Formats = std::map<unsigned int, std::vector<SizeRange>>;
+
enum Whence {
ActiveFormat,
TryFormat,
@@ -51,7 +53,7 @@ public:
int setSelection(unsigned int pad, unsigned int target,
Rectangle *rect);
- ImageFormats formats(unsigned int pad);
+ Formats formats(unsigned int pad);
int getFormat(unsigned int pad, V4L2SubdeviceFormat *format,
Whence whence = ActiveFormat);