Message ID | 20250616221511.1374-1-laurent.pinchart@ideasonboard.com |
---|---|
State | New |
Headers | show |
Series |
|
Related | show |
Quoting Laurent Pinchart (2025-06-16 23:15:11) > The Sharpness control is used solely by the Filter algorithm. Create it > there, to avoid exposing it to applications when the algorithm is > disabled. > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > src/ipa/rkisp1/algorithms/filter.cpp | 11 +++++++++++ > src/ipa/rkisp1/algorithms/filter.h | 1 + > src/ipa/rkisp1/rkisp1.cpp | 1 - > 3 files changed, 12 insertions(+), 1 deletion(-) > > diff --git a/src/ipa/rkisp1/algorithms/filter.cpp b/src/ipa/rkisp1/algorithms/filter.cpp > index 7598ef8a9f47..8ad79801792f 100644 > --- a/src/ipa/rkisp1/algorithms/filter.cpp > +++ b/src/ipa/rkisp1/algorithms/filter.cpp > @@ -39,6 +39,17 @@ LOG_DEFINE_CATEGORY(RkISP1Filter) > static constexpr uint32_t kFiltLumWeightDefault = 0x00022040; > 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 > */ > diff --git a/src/ipa/rkisp1/algorithms/filter.h b/src/ipa/rkisp1/algorithms/filter.h > index 8f858e574fa2..37d8938d37bd 100644 > --- a/src/ipa/rkisp1/algorithms/filter.h > +++ b/src/ipa/rkisp1/algorithms/filter.h > @@ -21,6 +21,7 @@ public: > Filter() = default; > ~Filter() = default; > > + int init(IPAContext &context, const YamlObject &tuningData) override; > void queueRequest(IPAContext &context, const uint32_t frame, > IPAFrameContext &frameContext, > const ControlList &controls) override; > diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp > index 1ed7d7d92166..cf66d5553dcd 100644 > --- a/src/ipa/rkisp1/rkisp1.cpp > +++ b/src/ipa/rkisp1/rkisp1.cpp > @@ -116,7 +116,6 @@ const IPAHwSettings ipaHwSettingsV12{ > /* List of controls handled by the RkISP1 IPA */ > const ControlInfoMap::Map rkisp1Controls{ > { &controls::DebugMetadataEnable, ControlInfo(false, true, false) }, > - { &controls::Sharpness, ControlInfo(0.0f, 10.0f, 1.0f) }, > { &controls::draft::NoiseReductionMode, ControlInfo(controls::draft::NoiseReductionModeValues) }, > }; > > > base-commit: b3ff75d7589a263412ad63008b3c8518d40e6316 > -- > Regards, > > Laurent Pinchart >
Quoting Laurent Pinchart (2025-06-17 07:15:11) > 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: Paul Elder <paul.elder@ideasonboard.com> > --- > src/ipa/rkisp1/algorithms/filter.cpp | 11 +++++++++++ > src/ipa/rkisp1/algorithms/filter.h | 1 + > src/ipa/rkisp1/rkisp1.cpp | 1 - > 3 files changed, 12 insertions(+), 1 deletion(-) > > diff --git a/src/ipa/rkisp1/algorithms/filter.cpp b/src/ipa/rkisp1/algorithms/filter.cpp > index 7598ef8a9f47..8ad79801792f 100644 > --- a/src/ipa/rkisp1/algorithms/filter.cpp > +++ b/src/ipa/rkisp1/algorithms/filter.cpp > @@ -39,6 +39,17 @@ LOG_DEFINE_CATEGORY(RkISP1Filter) > static constexpr uint32_t kFiltLumWeightDefault = 0x00022040; > 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 > */ > diff --git a/src/ipa/rkisp1/algorithms/filter.h b/src/ipa/rkisp1/algorithms/filter.h > index 8f858e574fa2..37d8938d37bd 100644 > --- a/src/ipa/rkisp1/algorithms/filter.h > +++ b/src/ipa/rkisp1/algorithms/filter.h > @@ -21,6 +21,7 @@ public: > Filter() = default; > ~Filter() = default; > > + int init(IPAContext &context, const YamlObject &tuningData) override; > void queueRequest(IPAContext &context, const uint32_t frame, > IPAFrameContext &frameContext, > const ControlList &controls) override; > diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp > index 1ed7d7d92166..cf66d5553dcd 100644 > --- a/src/ipa/rkisp1/rkisp1.cpp > +++ b/src/ipa/rkisp1/rkisp1.cpp > @@ -116,7 +116,6 @@ const IPAHwSettings ipaHwSettingsV12{ > /* List of controls handled by the RkISP1 IPA */ > const ControlInfoMap::Map rkisp1Controls{ > { &controls::DebugMetadataEnable, ControlInfo(false, true, false) }, > - { &controls::Sharpness, ControlInfo(0.0f, 10.0f, 1.0f) }, > { &controls::draft::NoiseReductionMode, ControlInfo(controls::draft::NoiseReductionModeValues) }, > }; > > > base-commit: b3ff75d7589a263412ad63008b3c8518d40e6316 > -- > Regards, > > Laurent Pinchart >
diff --git a/src/ipa/rkisp1/algorithms/filter.cpp b/src/ipa/rkisp1/algorithms/filter.cpp index 7598ef8a9f47..8ad79801792f 100644 --- a/src/ipa/rkisp1/algorithms/filter.cpp +++ b/src/ipa/rkisp1/algorithms/filter.cpp @@ -39,6 +39,17 @@ LOG_DEFINE_CATEGORY(RkISP1Filter) static constexpr uint32_t kFiltLumWeightDefault = 0x00022040; 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 */ diff --git a/src/ipa/rkisp1/algorithms/filter.h b/src/ipa/rkisp1/algorithms/filter.h index 8f858e574fa2..37d8938d37bd 100644 --- a/src/ipa/rkisp1/algorithms/filter.h +++ b/src/ipa/rkisp1/algorithms/filter.h @@ -21,6 +21,7 @@ public: Filter() = default; ~Filter() = default; + int init(IPAContext &context, const YamlObject &tuningData) override; void queueRequest(IPAContext &context, const uint32_t frame, IPAFrameContext &frameContext, const ControlList &controls) override; diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp index 1ed7d7d92166..cf66d5553dcd 100644 --- a/src/ipa/rkisp1/rkisp1.cpp +++ b/src/ipa/rkisp1/rkisp1.cpp @@ -116,7 +116,6 @@ const IPAHwSettings ipaHwSettingsV12{ /* List of controls handled by the RkISP1 IPA */ const ControlInfoMap::Map rkisp1Controls{ { &controls::DebugMetadataEnable, ControlInfo(false, true, false) }, - { &controls::Sharpness, ControlInfo(0.0f, 10.0f, 1.0f) }, { &controls::draft::NoiseReductionMode, ControlInfo(controls::draft::NoiseReductionModeValues) }, };
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> --- src/ipa/rkisp1/algorithms/filter.cpp | 11 +++++++++++ src/ipa/rkisp1/algorithms/filter.h | 1 + src/ipa/rkisp1/rkisp1.cpp | 1 - 3 files changed, 12 insertions(+), 1 deletion(-) base-commit: b3ff75d7589a263412ad63008b3c8518d40e6316 -- Regards, Laurent Pinchart