From 7f1dd04933d68cb2ccaf5b4abc67bb5f77624f38 Mon Sep 17 00:00:00 2001 From: Matthew Morley Date: Tue, 24 Jan 2023 09:01:11 -0500 Subject: [PATCH] Update camera_grabber.cpp --- camera_grabber.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/camera_grabber.cpp b/camera_grabber.cpp index d34f7a14..460d0976 100644 --- a/camera_grabber.cpp +++ b/camera_grabber.cpp @@ -182,6 +182,18 @@ void CameraGrabber::setControls(libcamera::Request *request) { if (m_model != OV7251 && m_model != OV9281) { controls_.set(controls::Sharpness, 1); } + + auto supportedFlickers = controls_.get(controls::draft::SceneFlickerValues) + if (std::find(std::begin(supportedFlickers), std::end(supportedFlickers), controls::draft::SceneFlickerEnum::SceneFlicker60hz) != std::end(supportedFlickers)) { + // Hard-code 60hz compensation + controls_.set(controls::draft::SceneFlicker, controls::draft::SceneFlickerEnum::SceneFlicker60hz); + } + + auto supportedNoise = controls_.get(controls::draft::NoiseReductionModeValues) + if (std::find(std::begin(supportedNoise), std::end(supportedNoise), controls::draft::NoiseReductionModeEnum::NoiseReductionModeOff) != std::end(supportedNoise)) { + // TODO test more noise reduction modes + controls_.set(controls::draft::NoiseReductionMode, controls::draft::NoiseReductionModeEnum::NoiseReductionModeOff); + } } void CameraGrabber::startAndQueue() {