[libcamera-devel] [PATCH 21/21] POC: cam: Set random controls
Jacopo Mondi
jacopo at jmondi.org
Tue Sep 24 19:25:03 CEST 2019
Set random values for 3 controls supporte by the VIMC camera.
Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
---
src/cam/capture.cpp | 12 ++++++++++++
src/cam/capture.h | 2 ++
2 files changed, 14 insertions(+)
diff --git a/src/cam/capture.cpp b/src/cam/capture.cpp
index 8a939c622703..ce655c683a78 100644
--- a/src/cam/capture.cpp
+++ b/src/cam/capture.cpp
@@ -7,6 +7,7 @@
#include <chrono>
#include <climits>
+#include <cstdlib>
#include <iomanip>
#include <iostream>
#include <sstream>
@@ -114,6 +115,7 @@ int Capture::capture(EventLoop *loop)
}
for (Request *request : requests) {
+ setControls(request);
ret = camera_->queueRequest(request);
if (ret < 0) {
std::cerr << "Can't queue request" << std::endl;
@@ -188,5 +190,15 @@ void Capture::requestComplete(Request *request, const std::map<Stream *, Buffer
request->addBuffer(std::move(newBuffer));
}
+ setControls(request);
camera_->queueRequest(request);
}
+
+void Capture::setControls(libcamera::Request *request)
+{
+ ControlList &controls = request->controls();
+
+ controls[Brightness] = rand() % 255;
+ controls[Saturation] = rand() % 500;
+ controls[Contrast] = rand() % 128;
+}
diff --git a/src/cam/capture.h b/src/cam/capture.h
index ee0dc4211111..b98cd37eff87 100644
--- a/src/cam/capture.h
+++ b/src/cam/capture.h
@@ -31,6 +31,8 @@ private:
void requestComplete(libcamera::Request *request,
const std::map<libcamera::Stream *, libcamera::Buffer *> &buffers);
+ void setControls(libcamera::Request *request);
+
libcamera::Camera *camera_;
libcamera::CameraConfiguration *config_;
--
2.23.0
More information about the libcamera-devel
mailing list