Message ID | 20211123091451.67404-4-jeanmichel.hautbois@ideasonboard.com |
---|---|
State | Superseded |
Headers | show |
Series |
|
Related | show |
Hi Jean-Michel, Thank you for the patch. On Tue, Nov 23, 2021 at 10:14:43AM +0100, Jean-Michel Hautbois wrote: > The driver is responsible of setting the proper limits for its controls. > For instance, imx219 has an analogue gain of 1.0 when the gain code is > set to 0. The minimum analogue is forced to be at least 1, which for > imx219 sets it to 1.00329. Rework this for both IPU3 and RkISP1. > > Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > src/ipa/ipu3/ipu3.cpp | 4 ++-- > src/ipa/rkisp1/rkisp1.cpp | 4 ++-- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/src/ipa/ipu3/ipu3.cpp b/src/ipa/ipu3/ipu3.cpp > index a8d54a5d..b0c75541 100644 > --- a/src/ipa/ipu3/ipu3.cpp > +++ b/src/ipa/ipu3/ipu3.cpp > @@ -444,11 +444,11 @@ int IPAIPU3::configure(const IPAConfigInfo &configInfo, > return -EINVAL; > } > > - minExposure_ = std::max(itExp->second.min().get<int32_t>(), 1); > + minExposure_ = itExp->second.min().get<int32_t>(); > maxExposure_ = itExp->second.max().get<int32_t>(); > exposure_ = minExposure_; > > - minGain_ = std::max(itGain->second.min().get<int32_t>(), 1); > + minGain_ = itGain->second.min().get<int32_t>(); > maxGain_ = itGain->second.max().get<int32_t>(); > gain_ = minGain_; > > diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp > index 7ecbf8ae..910ad952 100644 > --- a/src/ipa/rkisp1/rkisp1.cpp > +++ b/src/ipa/rkisp1/rkisp1.cpp > @@ -139,11 +139,11 @@ int IPARkISP1::configure([[maybe_unused]] const IPACameraSensorInfo &info, > > autoExposure_ = true; > > - minExposure_ = std::max<uint32_t>(itExp->second.min().get<int32_t>(), 1); > + minExposure_ = itExp->second.min().get<int32_t>(); > maxExposure_ = itExp->second.max().get<int32_t>(); > exposure_ = minExposure_; > > - minGain_ = std::max<uint32_t>(itGain->second.min().get<int32_t>(), 1); > + minGain_ = itGain->second.min().get<int32_t>(); > maxGain_ = itGain->second.max().get<int32_t>(); > gain_ = minGain_; >
diff --git a/src/ipa/ipu3/ipu3.cpp b/src/ipa/ipu3/ipu3.cpp index a8d54a5d..b0c75541 100644 --- a/src/ipa/ipu3/ipu3.cpp +++ b/src/ipa/ipu3/ipu3.cpp @@ -444,11 +444,11 @@ int IPAIPU3::configure(const IPAConfigInfo &configInfo, return -EINVAL; } - minExposure_ = std::max(itExp->second.min().get<int32_t>(), 1); + minExposure_ = itExp->second.min().get<int32_t>(); maxExposure_ = itExp->second.max().get<int32_t>(); exposure_ = minExposure_; - minGain_ = std::max(itGain->second.min().get<int32_t>(), 1); + minGain_ = itGain->second.min().get<int32_t>(); maxGain_ = itGain->second.max().get<int32_t>(); gain_ = minGain_; diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp index 7ecbf8ae..910ad952 100644 --- a/src/ipa/rkisp1/rkisp1.cpp +++ b/src/ipa/rkisp1/rkisp1.cpp @@ -139,11 +139,11 @@ int IPARkISP1::configure([[maybe_unused]] const IPACameraSensorInfo &info, autoExposure_ = true; - minExposure_ = std::max<uint32_t>(itExp->second.min().get<int32_t>(), 1); + minExposure_ = itExp->second.min().get<int32_t>(); maxExposure_ = itExp->second.max().get<int32_t>(); exposure_ = minExposure_; - minGain_ = std::max<uint32_t>(itGain->second.min().get<int32_t>(), 1); + minGain_ = itGain->second.min().get<int32_t>(); maxGain_ = itGain->second.max().get<int32_t>(); gain_ = minGain_;
The driver is responsible of setting the proper limits for its controls. For instance, imx219 has an analogue gain of 1.0 when the gain code is set to 0. The minimum analogue is forced to be at least 1, which for imx219 sets it to 1.00329. Rework this for both IPU3 and RkISP1. Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com> --- src/ipa/ipu3/ipu3.cpp | 4 ++-- src/ipa/rkisp1/rkisp1.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)