ipa: rkisp1: Move Sharpness control creation to Filter algorithm

The Sharpness control is used solely by the Filter algorithm. Create it
there, to avoid exposing it to applications when the algorithm is
disabled.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
This commit is contained in:
Laurent Pinchart 2025-06-09 18:01:51 +03:00
parent 1537da7442
commit 02a3b436c4
3 changed files with 12 additions and 1 deletions

View file

@ -39,6 +39,17 @@ LOG_DEFINE_CATEGORY(RkISP1Filter)
static constexpr uint32_t kFiltLumWeightDefault = 0x00022040; static constexpr uint32_t kFiltLumWeightDefault = 0x00022040;
static constexpr uint32_t kFiltModeDefault = 0x000004f2; static constexpr uint32_t kFiltModeDefault = 0x000004f2;
/**
* \copydoc libcamera::ipa::Algorithm::init
*/
int Filter::init(IPAContext &context,
[[maybe_unused]] const YamlObject &tuningData)
{
auto &cmap = context.ctrlMap;
cmap[&controls::Sharpness] = ControlInfo(0.0f, 10.0f, 1.0f);
return 0;
}
/** /**
* \copydoc libcamera::ipa::Algorithm::queueRequest * \copydoc libcamera::ipa::Algorithm::queueRequest
*/ */

View file

@ -21,6 +21,7 @@ public:
Filter() = default; Filter() = default;
~Filter() = default; ~Filter() = default;
int init(IPAContext &context, const YamlObject &tuningData) override;
void queueRequest(IPAContext &context, const uint32_t frame, void queueRequest(IPAContext &context, const uint32_t frame,
IPAFrameContext &frameContext, IPAFrameContext &frameContext,
const ControlList &controls) override; const ControlList &controls) override;

View file

@ -116,7 +116,6 @@ const IPAHwSettings ipaHwSettingsV12{
/* List of controls handled by the RkISP1 IPA */ /* List of controls handled by the RkISP1 IPA */
const ControlInfoMap::Map rkisp1Controls{ const ControlInfoMap::Map rkisp1Controls{
{ &controls::DebugMetadataEnable, ControlInfo(false, true, false) }, { &controls::DebugMetadataEnable, ControlInfo(false, true, false) },
{ &controls::Sharpness, ControlInfo(0.0f, 10.0f, 1.0f) },
{ &controls::draft::NoiseReductionMode, ControlInfo(controls::draft::NoiseReductionModeValues) }, { &controls::draft::NoiseReductionMode, ControlInfo(controls::draft::NoiseReductionModeValues) },
}; };