[v7,11/12] ipa: rkisp1: agc: Report new AeEnable control as available
diff mbox series

Message ID 20250110235737.1524733-12-paul.elder@ideasonboard.com
State Superseded
Headers show
Series
  • AEGC controls
Related show

Commit Message

Paul Elder Jan. 10, 2025, 11:57 p.m. UTC
Even though the new AeEnable control internally switches on and off the
sub-controls (ExposureTimeMode and AnalogueGainMode), it still needs to
be declared as available. Report this control as available in the
rkisp1 IPA.

Support for the control does not need to be added as it is handled by
the Camera class. It does not need to be handled in metadata either as
the new version of AeEnable is not returned in metadata.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

---
No change in v7

New in v6
---
 src/ipa/rkisp1/algorithms/agc.cpp | 2 ++
 1 file changed, 2 insertions(+)

Comments

Stefan Klug Jan. 13, 2025, 11:09 a.m. UTC | #1
Hi Paul,

Thank you for the patch.

On Fri, Jan 10, 2025 at 05:57:36PM -0600, Paul Elder wrote:
> Even though the new AeEnable control internally switches on and off the
> sub-controls (ExposureTimeMode and AnalogueGainMode), it still needs to
> be declared as available. Report this control as available in the
> rkisp1 IPA.
> 
> Support for the control does not need to be added as it is handled by
> the Camera class. It does not need to be handled in metadata either as
> the new version of AeEnable is not returned in metadata.
> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> 
> ---
> No change in v7
> 
> New in v6
> ---
>  src/ipa/rkisp1/algorithms/agc.cpp | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/src/ipa/rkisp1/algorithms/agc.cpp b/src/ipa/rkisp1/algorithms/agc.cpp
> index 78122a1f0..ff9a96a43 100644
> --- a/src/ipa/rkisp1/algorithms/agc.cpp
> +++ b/src/ipa/rkisp1/algorithms/agc.cpp
> @@ -156,6 +156,8 @@ int Agc::init(IPAContext &context, const YamlObject &tuningData)
>  		ControlInfo(static_cast<int32_t>(controls::AnalogueGainModeAuto),
>  			    static_cast<int32_t>(controls::AnalogueGainModeManual),
>  			    static_cast<int32_t>(controls::AnalogueGainModeAuto));
> +	/* \todo Move this to the Camera class */
> +	context.ctrlMap[&controls::AeEnable] = ControlInfo(false, true);

Nit: This is a nice chance of setting the default to true also. In
camshark I display all the controls, so I guess a default value for
controls that don't provide one. I think it would be good to supply a
default to all control info (maybe even enforce it). And in this case
defaulting it to true is actually the truth.

Reviewed-by: Stefan Klug <stefan.klug@ideasonboard.com> 

Cheers,
Stefan

>  	context.ctrlMap.merge(controls());
>  
>  	return 0;
> -- 
> 2.39.2
>

Patch
diff mbox series

diff --git a/src/ipa/rkisp1/algorithms/agc.cpp b/src/ipa/rkisp1/algorithms/agc.cpp
index 78122a1f0..ff9a96a43 100644
--- a/src/ipa/rkisp1/algorithms/agc.cpp
+++ b/src/ipa/rkisp1/algorithms/agc.cpp
@@ -156,6 +156,8 @@  int Agc::init(IPAContext &context, const YamlObject &tuningData)
 		ControlInfo(static_cast<int32_t>(controls::AnalogueGainModeAuto),
 			    static_cast<int32_t>(controls::AnalogueGainModeManual),
 			    static_cast<int32_t>(controls::AnalogueGainModeAuto));
+	/* \todo Move this to the Camera class */
+	context.ctrlMap[&controls::AeEnable] = ControlInfo(false, true);
 	context.ctrlMap.merge(controls());
 
 	return 0;