mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-13 23:39:44 +03:00
ipa: raspberrypi: Rename the controller namespace from Rpi to RpiController
This avoids a namespace clash with the RPi namespace used by the ipa and pipeline handlers, and cleans up the syntax slightly. There are no functional changes in this commit. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
parent
2ba3c68b67
commit
2f46dec949
50 changed files with 99 additions and 99 deletions
|
@ -16,7 +16,7 @@
|
|||
#include "cam_helper.hpp"
|
||||
#include "md_parser.hpp"
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
static std::map<std::string, CamHelperCreateFunc> cam_helpers;
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
#include "libcamera/internal/v4l2_videodevice.h"
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
// The CamHelper class provides a number of facilities that anyone trying
|
||||
// trying to drive a camera will need to know, but which are not provided by
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
#include "md_parser_rpi.hpp"
|
||||
#endif
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
/* Metadata parser implementation specific to Sony IMX219 sensors. */
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
#include "cam_helper.hpp"
|
||||
#include "md_parser.hpp"
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
/* Metadata parser implementation specific to Sony IMX477 sensors. */
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
#include "cam_helper.hpp"
|
||||
#include "md_parser_rpi.hpp"
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
class CamHelperOv5647 : public CamHelper
|
||||
{
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
#include "algorithm.hpp"
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
class AgcAlgorithm : public Algorithm
|
||||
{
|
||||
|
@ -25,4 +25,4 @@ public:
|
|||
SetConstraintMode(std::string const &contraint_mode_name) = 0;
|
||||
};
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
#include "algorithm.hpp"
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
void Algorithm::Read([[maybe_unused]] boost::property_tree::ptree const ¶ms)
|
||||
{
|
||||
|
@ -32,7 +32,7 @@ void Algorithm::Process([[maybe_unused]] StatisticsPtr &stats,
|
|||
// For registering algorithms with the system:
|
||||
|
||||
static std::map<std::string, AlgoCreateFunc> algorithms;
|
||||
std::map<std::string, AlgoCreateFunc> const &RPi::GetAlgorithms()
|
||||
std::map<std::string, AlgoCreateFunc> const &RPiController::GetAlgorithms()
|
||||
{
|
||||
return algorithms;
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
#include <boost/property_tree/ptree.hpp>
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
// This defines the basic interface for all control algorithms.
|
||||
|
||||
|
@ -59,4 +59,4 @@ struct RegisterAlgorithm {
|
|||
};
|
||||
std::map<std::string, AlgoCreateFunc> const &GetAlgorithms();
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
#include "algorithm.hpp"
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
class AwbAlgorithm : public Algorithm
|
||||
{
|
||||
|
@ -19,4 +19,4 @@ public:
|
|||
virtual void SetManualGains(double manual_r, double manual_b) = 0;
|
||||
};
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
#include "algorithm.hpp"
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
class CcmAlgorithm : public Algorithm
|
||||
{
|
||||
|
@ -18,4 +18,4 @@ public:
|
|||
virtual void SetSaturation(double saturation) = 0;
|
||||
};
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
#include "algorithm.hpp"
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
class ContrastAlgorithm : public Algorithm
|
||||
{
|
||||
|
@ -19,4 +19,4 @@ public:
|
|||
virtual void SetContrast(double contrast) = 0;
|
||||
};
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#include <boost/property_tree/json_parser.hpp>
|
||||
#include <boost/property_tree/ptree.hpp>
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
Controller::Controller()
|
||||
: switch_mode_called_(false) {}
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#include "device_status.h"
|
||||
#include "metadata.hpp"
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
class Algorithm;
|
||||
typedef std::unique_ptr<Algorithm> AlgorithmPtr;
|
||||
|
@ -51,4 +51,4 @@ protected:
|
|||
bool switch_mode_called_;
|
||||
};
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
#include "histogram.hpp"
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
uint64_t Histogram::CumulativeFreq(double bin) const
|
||||
{
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// A simple histogram class, for use in particular to find "quantiles" and
|
||||
// averages between "quantiles".
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
class Histogram
|
||||
{
|
||||
|
@ -41,4 +41,4 @@ private:
|
|||
std::vector<uint64_t> cumulative_;
|
||||
};
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
#include <boost/any.hpp>
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
class Metadata
|
||||
{
|
||||
|
@ -74,4 +74,4 @@ private:
|
|||
|
||||
typedef std::shared_ptr<Metadata> MetadataPtr;
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
#include "pwl.hpp"
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
void Pwl::Read(boost::property_tree::ptree const ¶ms)
|
||||
{
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
#include <boost/property_tree/ptree.hpp>
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
class Pwl
|
||||
{
|
||||
|
@ -106,4 +106,4 @@ private:
|
|||
std::vector<Point> points_;
|
||||
};
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
#include "agc.hpp"
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
#define NAME "rpi.agc"
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
#define AGC_STATS_SIZE 15
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
struct AgcMeteringMode {
|
||||
double weights[AGC_STATS_SIZE];
|
||||
|
@ -121,4 +121,4 @@ private:
|
|||
double fixed_analogue_gain_;
|
||||
};
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
// Raspberry Pi ALSC (Auto Lens Shading Correction) algorithm.
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
#define NAME "rpi.alsc"
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
#include "../algorithm.hpp"
|
||||
#include "../alsc_status.h"
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
// Algorithm to generate automagic LSC (Lens Shading Correction) tables.
|
||||
|
||||
|
@ -102,4 +102,4 @@ private:
|
|||
double lambda_b_[ALSC_CELLS_X * ALSC_CELLS_Y];
|
||||
};
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
#include "awb.hpp"
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
#define NAME "rpi.awb"
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
#include "../pwl.hpp"
|
||||
#include "../awb_status.h"
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
// Control algorithm to perform AWB calculations.
|
||||
|
||||
|
@ -175,4 +175,4 @@ static inline Awb::RGB operator*(Awb::RGB const &rgb, double d)
|
|||
return d * rgb;
|
||||
}
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
#include "black_level.hpp"
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
#define NAME "rpi.black_level"
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
// This is our implementation of the "black level algorithm".
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
class BlackLevel : public Algorithm
|
||||
{
|
||||
|
@ -27,4 +27,4 @@ private:
|
|||
double black_level_b_;
|
||||
};
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
#include "ccm.hpp"
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
// This algorithm selects a CCM (Colour Correction Matrix) according to the
|
||||
// colour temperature estimated by AWB (interpolating between known matricies as
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
#include "../ccm_algorithm.hpp"
|
||||
#include "../pwl.hpp"
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
// Algorithm to calculate colour matrix. Should be placed after AWB.
|
||||
|
||||
|
@ -73,4 +73,4 @@ private:
|
|||
std::atomic<double> saturation_;
|
||||
};
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
#include "contrast.hpp"
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
// This is a very simple control algorithm which simply retrieves the results of
|
||||
// AGC and AWB via their "status" metadata, and applies digital gain to the
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
#include "../contrast_algorithm.hpp"
|
||||
#include "../pwl.hpp"
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
// Back End algorithm to appaly correct digital gain. Should be placed after
|
||||
// Back End AWB.
|
||||
|
@ -48,4 +48,4 @@ private:
|
|||
std::mutex mutex_;
|
||||
};
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
#include "../logging.hpp"
|
||||
#include "dpc.hpp"
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
// We use the lux status so that we can apply stronger settings in darkness (if
|
||||
// necessary).
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
#include "../algorithm.hpp"
|
||||
#include "../dpc_status.h"
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
// Back End algorithm to apply appropriate GEQ settings.
|
||||
|
||||
|
@ -29,4 +29,4 @@ private:
|
|||
DpcConfig config_;
|
||||
};
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#include "../focus_status.h"
|
||||
#include "focus.hpp"
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
using namespace libcamera;
|
||||
|
||||
LOG_DEFINE_CATEGORY(RPiFocus)
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
* control.
|
||||
*/
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
class Focus : public Algorithm
|
||||
{
|
||||
|
@ -25,4 +25,4 @@ public:
|
|||
void Process(StatisticsPtr &stats, Metadata *image_metadata) override;
|
||||
};
|
||||
|
||||
} /* namespace RPi */
|
||||
} /* namespace RPiController */
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
#include "geq.hpp"
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
// We use the lux status so that we can apply stronger settings in darkness (if
|
||||
// necessary).
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
#include "../algorithm.hpp"
|
||||
#include "../geq_status.h"
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
// Back End algorithm to apply appropriate GEQ settings.
|
||||
|
||||
|
@ -31,4 +31,4 @@ private:
|
|||
GeqConfig config_;
|
||||
};
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
#include "lux.hpp"
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
#define NAME "rpi.lux"
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
// This is our implementation of the "lux control algorithm".
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
class Lux : public Algorithm
|
||||
{
|
||||
|
@ -39,4 +39,4 @@ private:
|
|||
std::mutex mutex_;
|
||||
};
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
#include "noise.hpp"
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
#define NAME "rpi.noise"
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
// This is our implementation of the "noise algorithm".
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
class Noise : public Algorithm
|
||||
{
|
||||
|
@ -29,4 +29,4 @@ private:
|
|||
std::atomic<double> mode_factor_;
|
||||
};
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
#include "sdn.hpp"
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
// Calculate settings for the spatial denoise block using the noise profile in
|
||||
// the image metadata.
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
#include "../algorithm.hpp"
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
// Algorithm to calculate correct spatial denoise (SDN) settings.
|
||||
|
||||
|
@ -26,4 +26,4 @@ private:
|
|||
double strength_;
|
||||
};
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
#include "sharpen.hpp"
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
#define NAME "rpi.sharpen"
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
// This is our implementation of the "sharpen algorithm".
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
class Sharpen : public SharpenAlgorithm
|
||||
{
|
||||
|
@ -31,4 +31,4 @@ private:
|
|||
double user_strength_;
|
||||
};
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
#include "algorithm.hpp"
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
class SharpenAlgorithm : public Algorithm
|
||||
{
|
||||
|
@ -18,4 +18,4 @@ public:
|
|||
virtual void SetStrength(double strength) = 0;
|
||||
};
|
||||
|
||||
} // namespace RPi
|
||||
} // namespace RPiController
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
#include "md_parser.hpp"
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
// This function goes through the embedded data to find the offsets (not
|
||||
// values!), in the data block, where the values of the given registers can
|
||||
|
|
|
@ -50,7 +50,7 @@ parser->Reset();
|
|||
|
||||
before calling Parse again. */
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
// Abstract base class from which other metadata parsers are derived.
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
#include "md_parser_rpi.hpp"
|
||||
|
||||
using namespace RPi;
|
||||
using namespace RPiController;
|
||||
|
||||
MdParserRPi::MdParserRPi()
|
||||
{
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
#include "md_parser.hpp"
|
||||
|
||||
namespace RPi {
|
||||
namespace RPiController {
|
||||
|
||||
class MdParserRPi : public MdParser
|
||||
{
|
||||
|
|
|
@ -125,10 +125,10 @@ private:
|
|||
CameraMode lastMode_;
|
||||
|
||||
/* Raspberry Pi controller specific defines. */
|
||||
std::unique_ptr<RPi::CamHelper> helper_;
|
||||
RPi::Controller controller_;
|
||||
std::unique_ptr<RPiController::CamHelper> helper_;
|
||||
RPiController::Controller controller_;
|
||||
bool controllerInit_;
|
||||
RPi::Metadata rpiMetadata_;
|
||||
RPiController::Metadata rpiMetadata_;
|
||||
|
||||
/*
|
||||
* We count frames to decide if the frame must be hidden (e.g. from
|
||||
|
@ -211,7 +211,7 @@ void IPARPi::configure(const CameraSensorInfo &sensorInfo,
|
|||
*/
|
||||
std::string cameraName(sensorInfo.model);
|
||||
if (!helper_) {
|
||||
helper_ = std::unique_ptr<RPi::CamHelper>(RPi::CamHelper::Create(cameraName));
|
||||
helper_ = std::unique_ptr<RPiController::CamHelper>(RPiController::CamHelper::Create(cameraName));
|
||||
/*
|
||||
* Pass out the sensor config to the pipeline handler in order
|
||||
* to setup the staggered writer class.
|
||||
|
@ -295,7 +295,7 @@ void IPARPi::configure(const CameraSensorInfo &sensorInfo,
|
|||
agcStatus.analogue_gain = DEFAULT_ANALOGUE_GAIN;
|
||||
}
|
||||
|
||||
RPi::Metadata metadata;
|
||||
RPiController::Metadata metadata;
|
||||
controller_.SwitchMode(mode_, &metadata);
|
||||
|
||||
/* SwitchMode may supply updated exposure/gain values to use. */
|
||||
|
@ -397,7 +397,7 @@ void IPARPi::processEvent(const IPAOperationData &event)
|
|||
|
||||
void IPARPi::reportMetadata()
|
||||
{
|
||||
std::unique_lock<RPi::Metadata> lock(rpiMetadata_);
|
||||
std::unique_lock<RPiController::Metadata> lock(rpiMetadata_);
|
||||
|
||||
/*
|
||||
* Certain information about the current frame and how it will be
|
||||
|
@ -502,7 +502,7 @@ void IPARPi::queueRequest(const ControlList &controls)
|
|||
|
||||
switch (ctrl.first) {
|
||||
case controls::AE_ENABLE: {
|
||||
RPi::Algorithm *agc = controller_.GetAlgorithm("agc");
|
||||
RPiController::Algorithm *agc = controller_.GetAlgorithm("agc");
|
||||
ASSERT(agc);
|
||||
if (ctrl.second.get<bool>() == false)
|
||||
agc->Pause();
|
||||
|
@ -514,7 +514,7 @@ void IPARPi::queueRequest(const ControlList &controls)
|
|||
}
|
||||
|
||||
case controls::EXPOSURE_TIME: {
|
||||
RPi::AgcAlgorithm *agc = dynamic_cast<RPi::AgcAlgorithm *>(
|
||||
RPiController::AgcAlgorithm *agc = dynamic_cast<RPiController::AgcAlgorithm *>(
|
||||
controller_.GetAlgorithm("agc"));
|
||||
ASSERT(agc);
|
||||
/* This expects units of micro-seconds. */
|
||||
|
@ -528,7 +528,7 @@ void IPARPi::queueRequest(const ControlList &controls)
|
|||
}
|
||||
|
||||
case controls::ANALOGUE_GAIN: {
|
||||
RPi::AgcAlgorithm *agc = dynamic_cast<RPi::AgcAlgorithm *>(
|
||||
RPiController::AgcAlgorithm *agc = dynamic_cast<RPiController::AgcAlgorithm *>(
|
||||
controller_.GetAlgorithm("agc"));
|
||||
ASSERT(agc);
|
||||
agc->SetFixedAnalogueGain(ctrl.second.get<float>());
|
||||
|
@ -542,7 +542,7 @@ void IPARPi::queueRequest(const ControlList &controls)
|
|||
}
|
||||
|
||||
case controls::AE_METERING_MODE: {
|
||||
RPi::AgcAlgorithm *agc = dynamic_cast<RPi::AgcAlgorithm *>(
|
||||
RPiController::AgcAlgorithm *agc = dynamic_cast<RPiController::AgcAlgorithm *>(
|
||||
controller_.GetAlgorithm("agc"));
|
||||
ASSERT(agc);
|
||||
|
||||
|
@ -558,7 +558,7 @@ void IPARPi::queueRequest(const ControlList &controls)
|
|||
}
|
||||
|
||||
case controls::AE_CONSTRAINT_MODE: {
|
||||
RPi::AgcAlgorithm *agc = dynamic_cast<RPi::AgcAlgorithm *>(
|
||||
RPiController::AgcAlgorithm *agc = dynamic_cast<RPiController::AgcAlgorithm *>(
|
||||
controller_.GetAlgorithm("agc"));
|
||||
ASSERT(agc);
|
||||
|
||||
|
@ -574,7 +574,7 @@ void IPARPi::queueRequest(const ControlList &controls)
|
|||
}
|
||||
|
||||
case controls::AE_EXPOSURE_MODE: {
|
||||
RPi::AgcAlgorithm *agc = dynamic_cast<RPi::AgcAlgorithm *>(
|
||||
RPiController::AgcAlgorithm *agc = dynamic_cast<RPiController::AgcAlgorithm *>(
|
||||
controller_.GetAlgorithm("agc"));
|
||||
ASSERT(agc);
|
||||
|
||||
|
@ -590,7 +590,7 @@ void IPARPi::queueRequest(const ControlList &controls)
|
|||
}
|
||||
|
||||
case controls::EXPOSURE_VALUE: {
|
||||
RPi::AgcAlgorithm *agc = dynamic_cast<RPi::AgcAlgorithm *>(
|
||||
RPiController::AgcAlgorithm *agc = dynamic_cast<RPiController::AgcAlgorithm *>(
|
||||
controller_.GetAlgorithm("agc"));
|
||||
ASSERT(agc);
|
||||
|
||||
|
@ -606,7 +606,7 @@ void IPARPi::queueRequest(const ControlList &controls)
|
|||
}
|
||||
|
||||
case controls::AWB_ENABLE: {
|
||||
RPi::Algorithm *awb = controller_.GetAlgorithm("awb");
|
||||
RPiController::Algorithm *awb = controller_.GetAlgorithm("awb");
|
||||
ASSERT(awb);
|
||||
|
||||
if (ctrl.second.get<bool>() == false)
|
||||
|
@ -620,7 +620,7 @@ void IPARPi::queueRequest(const ControlList &controls)
|
|||
}
|
||||
|
||||
case controls::AWB_MODE: {
|
||||
RPi::AwbAlgorithm *awb = dynamic_cast<RPi::AwbAlgorithm *>(
|
||||
RPiController::AwbAlgorithm *awb = dynamic_cast<RPiController::AwbAlgorithm *>(
|
||||
controller_.GetAlgorithm("awb"));
|
||||
ASSERT(awb);
|
||||
|
||||
|
@ -637,7 +637,7 @@ void IPARPi::queueRequest(const ControlList &controls)
|
|||
|
||||
case controls::COLOUR_GAINS: {
|
||||
auto gains = ctrl.second.get<Span<const float>>();
|
||||
RPi::AwbAlgorithm *awb = dynamic_cast<RPi::AwbAlgorithm *>(
|
||||
RPiController::AwbAlgorithm *awb = dynamic_cast<RPiController::AwbAlgorithm *>(
|
||||
controller_.GetAlgorithm("awb"));
|
||||
ASSERT(awb);
|
||||
|
||||
|
@ -650,7 +650,7 @@ void IPARPi::queueRequest(const ControlList &controls)
|
|||
}
|
||||
|
||||
case controls::BRIGHTNESS: {
|
||||
RPi::ContrastAlgorithm *contrast = dynamic_cast<RPi::ContrastAlgorithm *>(
|
||||
RPiController::ContrastAlgorithm *contrast = dynamic_cast<RPiController::ContrastAlgorithm *>(
|
||||
controller_.GetAlgorithm("contrast"));
|
||||
ASSERT(contrast);
|
||||
|
||||
|
@ -661,7 +661,7 @@ void IPARPi::queueRequest(const ControlList &controls)
|
|||
}
|
||||
|
||||
case controls::CONTRAST: {
|
||||
RPi::ContrastAlgorithm *contrast = dynamic_cast<RPi::ContrastAlgorithm *>(
|
||||
RPiController::ContrastAlgorithm *contrast = dynamic_cast<RPiController::ContrastAlgorithm *>(
|
||||
controller_.GetAlgorithm("contrast"));
|
||||
ASSERT(contrast);
|
||||
|
||||
|
@ -672,7 +672,7 @@ void IPARPi::queueRequest(const ControlList &controls)
|
|||
}
|
||||
|
||||
case controls::SATURATION: {
|
||||
RPi::CcmAlgorithm *ccm = dynamic_cast<RPi::CcmAlgorithm *>(
|
||||
RPiController::CcmAlgorithm *ccm = dynamic_cast<RPiController::CcmAlgorithm *>(
|
||||
controller_.GetAlgorithm("ccm"));
|
||||
ASSERT(ccm);
|
||||
|
||||
|
@ -683,7 +683,7 @@ void IPARPi::queueRequest(const ControlList &controls)
|
|||
}
|
||||
|
||||
case controls::SHARPNESS: {
|
||||
RPi::SharpenAlgorithm *sharpen = dynamic_cast<RPi::SharpenAlgorithm *>(
|
||||
RPiController::SharpenAlgorithm *sharpen = dynamic_cast<RPiController::SharpenAlgorithm *>(
|
||||
controller_.GetAlgorithm("sharpen"));
|
||||
ASSERT(sharpen);
|
||||
|
||||
|
@ -726,7 +726,7 @@ void IPARPi::prepareISP(unsigned int bufferId)
|
|||
controller_.Prepare(&rpiMetadata_);
|
||||
|
||||
/* Lock the metadata buffer to avoid constant locks/unlocks. */
|
||||
std::unique_lock<RPi::Metadata> lock(rpiMetadata_);
|
||||
std::unique_lock<RPiController::Metadata> lock(rpiMetadata_);
|
||||
|
||||
AwbStatus *awbStatus = rpiMetadata_.GetLocked<AwbStatus>("awb.status");
|
||||
if (awbStatus)
|
||||
|
@ -787,18 +787,18 @@ bool IPARPi::parseEmbeddedData(unsigned int bufferId, struct DeviceStatus &devic
|
|||
|
||||
int size = buffers_.find(bufferId)->second.planes()[0].length;
|
||||
helper_->Parser().SetBufferSize(size);
|
||||
RPi::MdParser::Status status = helper_->Parser().Parse(it->second);
|
||||
if (status != RPi::MdParser::Status::OK) {
|
||||
RPiController::MdParser::Status status = helper_->Parser().Parse(it->second);
|
||||
if (status != RPiController::MdParser::Status::OK) {
|
||||
LOG(IPARPI, Error) << "Embedded Buffer parsing failed, error " << status;
|
||||
} else {
|
||||
uint32_t exposure_lines, gain_code;
|
||||
if (helper_->Parser().GetExposureLines(exposure_lines) != RPi::MdParser::Status::OK) {
|
||||
if (helper_->Parser().GetExposureLines(exposure_lines) != RPiController::MdParser::Status::OK) {
|
||||
LOG(IPARPI, Error) << "Exposure time failed";
|
||||
return false;
|
||||
}
|
||||
|
||||
deviceStatus.shutter_speed = helper_->Exposure(exposure_lines);
|
||||
if (helper_->Parser().GetGainCode(gain_code) != RPi::MdParser::Status::OK) {
|
||||
if (helper_->Parser().GetGainCode(gain_code) != RPiController::MdParser::Status::OK) {
|
||||
LOG(IPARPI, Error) << "Gain failed";
|
||||
return false;
|
||||
}
|
||||
|
@ -821,7 +821,7 @@ void IPARPi::processStats(unsigned int bufferId)
|
|||
}
|
||||
|
||||
bcm2835_isp_stats *stats = static_cast<bcm2835_isp_stats *>(it->second);
|
||||
RPi::StatisticsPtr statistics = std::make_shared<bcm2835_isp_stats>(*stats);
|
||||
RPiController::StatisticsPtr statistics = std::make_shared<bcm2835_isp_stats>(*stats);
|
||||
controller_.Process(statistics, &rpiMetadata_);
|
||||
|
||||
struct AgcStatus agcStatus;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue