qtcamviewfinderrenderergeneric.h qtcamimagesettings.h qtcamvideosettings.h \
qtcamimagemode.h qtcamvideomode.h qtcammetadata.h qtcamcapability.h \
qtcamzoom.h qtcamflash.h qtcamscene.h qtcamevcomp.h qtcamvideotorch.h \
- qtcamwhitebalance.h qtcamcolortone.h
+ qtcamwhitebalance.h qtcamcolortone.h qtcamflickerreduction.h
SOURCES += qtcamconfig.cpp qtcamera.cpp qtcamscanner.cpp qtcamdevice.cpp qtcamviewfinder.cpp \
qtcammode.cpp qtcamgstreamermessagehandler.cpp qtcamgstreamermessagelistener.cpp \
qtcamviewfinderrenderergeneric.cpp qtcamimagesettings.cpp qtcamvideosettings.cpp \
qtcamimagemode.cpp qtcamvideomode.cpp qtcammetadata.cpp qtcamcapability.cpp \
qtcamzoom.cpp qtcamflash.cpp qtcamscene.cpp qtcamevcomp.cpp qtcamvideotorch.cpp \
- qtcamwhitebalance.cpp qtcamcolortone.cpp
+ qtcamwhitebalance.cpp qtcamcolortone.cpp qtcamflickerreduction.cpp
HEADERS += qtcammode_p.h qtcamdevice_p.h qtcamcapability_p.h
Aperture = (1 << 8),
Eposure = (1 << 9),
Shake = (1 << 10),
- NoiseReduction = (1 << 11)
+ NoiseReduction = (1 << 11),
+ FlickerReduction = (1 << 12)
} Capability;
Q_DECLARE_FLAGS(Capabilities, Capability)
--- /dev/null
+#include "qtcamflickerreduction.h"
+#include "qtcamcapability_p.h"
+
+QtCamFlickerReduction::QtCamFlickerReduction(QtCamDevice *dev, QObject *parent) :
+ QtCamCapability(new QtCamCapabilityPrivate(dev, QtCamCapability::FlickerReduction,
+ "flicker-mode"), parent) {
+ // TODO: QML
+}
+
+QtCamFlickerReduction::~QtCamFlickerReduction() {
+
+}
+
+QtCamFlickerReduction::FlickerReductionMode QtCamFlickerReduction::value() {
+ int val = 0;
+ if (!d_ptr->intValue(&val)) {
+ return QtCamFlickerReduction::Auto;
+ }
+
+ switch (val) {
+ case QtCamFlickerReduction::Off:
+ case QtCamFlickerReduction::FiftyHz:
+ case QtCamFlickerReduction::SixtyHz:
+ return (QtCamFlickerReduction::FlickerReductionMode)val;
+
+ default:
+ return QtCamFlickerReduction::Auto;
+ }
+}
+
+bool QtCamFlickerReduction::setValue(const QtCamFlickerReduction::FlickerReductionMode& mode) {
+ return d_ptr->setIntValue(mode, false);
+}
--- /dev/null
+// -*- c++ -*-
+
+#ifndef QT_CAM_FLICKER_REDUCTION_H
+#define QT_CAM_FLICKER_REDUCTION_H
+
+#include "qtcamcapability.h"
+
+class QtCamFlickerReduction : public QtCamCapability {
+ Q_OBJECT
+
+public:
+ typedef enum {
+ Off = 0,
+ FiftyHz = 1,
+ SixtyHz = 2,
+ Auto = 3
+ } FlickerReductionMode;
+
+ QtCamFlickerReduction(QtCamDevice *dev, QObject *parent = 0);
+ ~QtCamFlickerReduction();
+
+ FlickerReductionMode value();
+ bool setValue(const FlickerReductionMode& mode);
+};
+
+#endif /* QT_CAM_FLICKER_REDUCTION_H */