This commit adds a Metadata parameter to the SwitchMode method enabling it to return camera and other settings to the caller (usually the configure method, just after the camera mode has been selected). In future this will allow the Raspberry Pi IPAs to take those settings (such as exposure and analogue gain) and program them directly into the camera or ISP before the camera is even started. Signed-off-by: David Plowman <david.plowman@raspberrypi.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
48 lines
966 B
C++
48 lines
966 B
C++
/* SPDX-License-Identifier: BSD-2-Clause */
|
|
/*
|
|
* Copyright (C) 2019, Raspberry Pi (Trading) Limited
|
|
*
|
|
* algorithm.cpp - ISP control algorithms
|
|
*/
|
|
|
|
#include "algorithm.hpp"
|
|
|
|
using namespace RPi;
|
|
|
|
void Algorithm::Read(boost::property_tree::ptree const ¶ms)
|
|
{
|
|
(void)params;
|
|
}
|
|
|
|
void Algorithm::Initialise() {}
|
|
|
|
void Algorithm::SwitchMode(CameraMode const &camera_mode, Metadata *metadata)
|
|
{
|
|
(void)camera_mode;
|
|
(void)metadata;
|
|
}
|
|
|
|
void Algorithm::Prepare(Metadata *image_metadata)
|
|
{
|
|
(void)image_metadata;
|
|
}
|
|
|
|
void Algorithm::Process(StatisticsPtr &stats, Metadata *image_metadata)
|
|
{
|
|
(void)stats;
|
|
(void)image_metadata;
|
|
}
|
|
|
|
// For registering algorithms with the system:
|
|
|
|
static std::map<std::string, AlgoCreateFunc> algorithms;
|
|
std::map<std::string, AlgoCreateFunc> const &RPi::GetAlgorithms()
|
|
{
|
|
return algorithms;
|
|
}
|
|
|
|
RegisterAlgorithm::RegisterAlgorithm(char const *name,
|
|
AlgoCreateFunc create_func)
|
|
{
|
|
algorithms[std::string(name)] = create_func;
|
|
}
|