summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/apps/lc-compliance/meson.build1
-rw-r--r--src/apps/lc-compliance/test_base.cpp28
-rw-r--r--src/apps/lc-compliance/test_base.h24
-rw-r--r--src/apps/lc-compliance/tests/capture_test.cpp18
-rw-r--r--src/ipa/rkisp1/algorithms/awb.cpp2
-rw-r--r--src/ipa/rkisp1/rkisp1.cpp2
6 files changed, 59 insertions, 16 deletions
diff --git a/src/apps/lc-compliance/meson.build b/src/apps/lc-compliance/meson.build
index b1f605f3..80b9a160 100644
--- a/src/apps/lc-compliance/meson.build
+++ b/src/apps/lc-compliance/meson.build
@@ -15,6 +15,7 @@ lc_compliance_sources = files([
'environment.cpp',
'helpers/capture.cpp',
'main.cpp',
+ 'test_base.cpp',
'tests/capture_test.cpp',
])
diff --git a/src/apps/lc-compliance/test_base.cpp b/src/apps/lc-compliance/test_base.cpp
new file mode 100644
index 00000000..c9957b9e
--- /dev/null
+++ b/src/apps/lc-compliance/test_base.cpp
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2021, Collabora Ltd.
+ *
+ * test_base.cpp - Base definitions for tests
+ */
+
+#include "test_base.h"
+
+#include "environment.h"
+
+void CameraHolder::acquireCamera()
+{
+ Environment *env = Environment::get();
+
+ camera_ = env->cm()->get(env->cameraId());
+
+ ASSERT_EQ(camera_->acquire(), 0);
+}
+
+void CameraHolder::releaseCamera()
+{
+ if (!camera_)
+ return;
+
+ camera_->release();
+ camera_.reset();
+}
diff --git a/src/apps/lc-compliance/test_base.h b/src/apps/lc-compliance/test_base.h
new file mode 100644
index 00000000..52347749
--- /dev/null
+++ b/src/apps/lc-compliance/test_base.h
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2021, Collabora Ltd.
+ *
+ * test_base.h - Base definitions for tests
+ */
+
+#ifndef __LC_COMPLIANCE_TEST_BASE_H__
+#define __LC_COMPLIANCE_TEST_BASE_H__
+
+#include <libcamera/libcamera.h>
+
+#include <gtest/gtest.h>
+
+class CameraHolder
+{
+protected:
+ void acquireCamera();
+ void releaseCamera();
+
+ std::shared_ptr<libcamera::Camera> camera_;
+};
+
+#endif /* __LC_COMPLIANCE_TEST_BASE_H__ */
diff --git a/src/apps/lc-compliance/tests/capture_test.cpp b/src/apps/lc-compliance/tests/capture_test.cpp
index d02caa8a..29d8b7f8 100644
--- a/src/apps/lc-compliance/tests/capture_test.cpp
+++ b/src/apps/lc-compliance/tests/capture_test.cpp
@@ -15,13 +15,13 @@
#include <gtest/gtest.h>
-#include "environment.h"
+#include "test_base.h"
namespace {
using namespace libcamera;
-class SimpleCapture : public testing::TestWithParam<std::tuple<std::vector<StreamRole>, int>>
+class SimpleCapture : public testing::TestWithParam<std::tuple<std::vector<StreamRole>, int>>, public CameraHolder
{
public:
static std::string nameParameters(const testing::TestParamInfo<SimpleCapture::ParamType> &info);
@@ -29,8 +29,6 @@ public:
protected:
void SetUp() override;
void TearDown() override;
-
- std::shared_ptr<Camera> camera_;
};
/*
@@ -39,20 +37,12 @@ protected:
*/
void SimpleCapture::SetUp()
{
- Environment *env = Environment::get();
-
- camera_ = env->cm()->get(env->cameraId());
-
- ASSERT_EQ(camera_->acquire(), 0);
+ acquireCamera();
}
void SimpleCapture::TearDown()
{
- if (!camera_)
- return;
-
- camera_->release();
- camera_.reset();
+ releaseCamera();
}
std::string SimpleCapture::nameParameters(const testing::TestParamInfo<SimpleCapture::ParamType> &info)
diff --git a/src/ipa/rkisp1/algorithms/awb.cpp b/src/ipa/rkisp1/algorithms/awb.cpp
index eafe9308..8991f9cf 100644
--- a/src/ipa/rkisp1/algorithms/awb.cpp
+++ b/src/ipa/rkisp1/algorithms/awb.cpp
@@ -90,6 +90,8 @@ int Awb::init(IPAContext &context, const YamlObject &tuningData)
cmap[&controls::ColourTemperature] = ControlInfo(kMinColourTemperature,
kMaxColourTemperature,
kDefaultColourTemperature);
+ cmap[&controls::AwbEnable] = ControlInfo(false, true);
+ cmap[&controls::ColourGains] = ControlInfo(0.0f, 3.996f, 1.0f);
if (!tuningData.contains("algorithm"))
LOG(RkISP1Awb, Info) << "No AWB algorithm specified."
diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp
index 70ce0cba..1ed7d7d9 100644
--- a/src/ipa/rkisp1/rkisp1.cpp
+++ b/src/ipa/rkisp1/rkisp1.cpp
@@ -115,8 +115,6 @@ const IPAHwSettings ipaHwSettingsV12{
/* List of controls handled by the RkISP1 IPA */
const ControlInfoMap::Map rkisp1Controls{
- { &controls::AwbEnable, ControlInfo(false, true) },
- { &controls::ColourGains, ControlInfo(0.0f, 3.996f, 1.0f) },
{ &controls::DebugMetadataEnable, ControlInfo(false, true, false) },
{ &controls::Sharpness, ControlInfo(0.0f, 10.0f, 1.0f) },
{ &controls::draft::NoiseReductionMode, ControlInfo(controls::draft::NoiseReductionModeValues) },