summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorUmang Jain <umang.jain@ideasonboard.com>2024-09-26 15:06:20 +0530
committerUmang Jain <umang.jain@ideasonboard.com>2024-10-24 14:04:31 +0530
commit7fad22efae4e89374d1767642cdd0bb4d683df1f (patch)
treeddb51ae296679d2e6175abb81ea96242705944d6 /include
parent994588fb75838b46d5eb74b916d66f0b9fc49421 (diff)
libcamera: converter: Add interface for feature flags
This patch intends to extend the converter interface to have feature flags, which enables each converter to expose the set of features it supports. Signed-off-by: Umang Jain <umang.jain@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'include')
-rw-r--r--include/libcamera/internal/converter.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/include/libcamera/internal/converter.h b/include/libcamera/internal/converter.h
index b51563d7..6623de4d 100644
--- a/include/libcamera/internal/converter.h
+++ b/include/libcamera/internal/converter.h
@@ -17,6 +17,7 @@
#include <vector>
#include <libcamera/base/class.h>
+#include <libcamera/base/flags.h>
#include <libcamera/base/signal.h>
#include <libcamera/geometry.h>
@@ -32,7 +33,13 @@ struct StreamConfiguration;
class Converter
{
public:
- Converter(MediaDevice *media);
+ enum class Feature {
+ None = 0,
+ };
+
+ using Features = Flags<Feature>;
+
+ Converter(MediaDevice *media, Features features = Feature::None);
virtual ~Converter();
virtual int loadConfiguration(const std::string &filename) = 0;
@@ -61,6 +68,11 @@ public:
const std::string &deviceNode() const { return deviceNode_; }
+ Features features() const { return features_; }
+
+protected:
+ Features features_;
+
private:
std::string deviceNode_;
};