summaryrefslogtreecommitdiff
path: root/src/ipa/rkisp1/algorithms/blc.cpp
AgeCommit message (Expand)Author
2022-06-29ipa: rkisp1: Add support of Black Level Correction tuningFlorian Sylvestre
2022-06-29ipa: rkisp1: Register algorithmsLaurent Pinchart
2022-03-28ipa: rkisp1: Introduce Black Level CorrectionJean-Michel Hautbois
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * Copyright (C) 2019, Google Inc.
 *
 * control_info.cpp - ControlInfoMap tests
 */

#include <iostream>

#include <libcamera/camera.h>
#include <libcamera/camera_manager.h>
#include <libcamera/control_ids.h>
#include <libcamera/controls.h>

#include "libcamera/internal/camera_controls.h"

#include "camera_test.h"
#include "test.h"

using namespace std;
using namespace libcamera;

class ControlInfoMapTest : public CameraTest, public Test
{
public:
	ControlInfoMapTest()
		: CameraTest("platform/vimc.0 Sensor B")
	{
	}

protected:
	int init() override
	{
		return status_;
	}

	int run() override
	{
		const ControlInfoMap &infoMap = camera_->controls();

		/* Test looking up a valid control by ControlId. */
		if (infoMap.count(&controls::Brightness) != 1) {
			cerr << "count() on valid control failed" << endl;
			return TestFail;
		}

		if (infoMap.find(&controls::Brightness) == infoMap.end()) {
			cerr << "find() on valid control failed" << endl;
			return TestFail;
		}

		infoMap.at(&controls::Brightness);

		/* Test looking up a valid control by numerical ID. */
		if (infoMap.count(controls::Brightness.id()) != 1) {
			cerr << "count() on valid ID failed" << endl;
			return TestFail;
		}

		if (infoMap.find(controls::Brightness.id()) == infoMap.end()) {
			cerr << "find() on valid ID failed" << endl;
			return TestFail;
		}

		infoMap.at(controls::Brightness.id());

		/* Test looking up an invalid control by numerical ID. */
		if (infoMap.count(12345) != 0) {
			cerr << "count() on invalid ID failed" << endl;
			return TestFail;
		}

		if (infoMap.find(12345) != infoMap.end()) {
			cerr << "find() on invalid ID failed" << endl;
			return TestFail;
		}

		return TestPass;
	}
};

TEST_REGISTER(ControlInfoMapTest)