[libcamera-devel] [IPU3-IPA PATCH] ipu3: ipa: Update to latest IPACameraSensorInfo

Laurent Pinchart laurent.pinchart at ideasonboard.com
Wed Oct 19 11:51:39 CEST 2022


On Wed, Oct 19, 2022 at 02:11:46PM +0530, Umang Jain via libcamera-devel wrote:
> Hi Kieran,
> 
> Thanks for the patch
> 
> On 10/19/22 4:43 AM, Kieran Bingham via libcamera-devel wrote:
> > In libcamera commit e5fc0132f80d ("camera_sensor: Add minimum and
> > maximum line length to IPACameraSensorInfo"), the IPU3 IPA interface is
> > updated to provide both minimum and maximum line lengths, replacing the
> > existing lineLenght field.
> 
> s/lineLenght/lineLength
>
> > Update the ipu3-ipa to use IPACameraSensorInfo::minLineLength instead of
> > IPACameraSensorInfo::lineLength, as logically we will always want to use
> > the fastest sensor readout by default.
> >
> > Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> 
> Reviewed-by: Umang Jain <umang.jain at ideasonboard.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

> > ---
> >   aiq/aiq_input_parameters.cpp | 2 +-
> >   ipu3.cpp                     | 2 +-
> >   2 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/aiq/aiq_input_parameters.cpp b/aiq/aiq_input_parameters.cpp
> > index 7a6a1fac8a37..1639b61b1831 100644
> > --- a/aiq/aiq_input_parameters.cpp
> > +++ b/aiq/aiq_input_parameters.cpp
> > @@ -79,7 +79,7 @@ void AiqInputParameters::reset()
> >   int AiqInputParameters::configure(const IPAConfigInfo &configInfo)
> >   {
> >   	sensorDescriptor.pixel_clock_freq_mhz = configInfo.sensorInfo.pixelRate / 1000000;
> > -	sensorDescriptor.pixel_periods_per_line = configInfo.sensorInfo.lineLength;
> > +	sensorDescriptor.pixel_periods_per_line = configInfo.sensorInfo.minLineLength;
> >   	sensorDescriptor.line_periods_per_field = configInfo.sensorInfo.minFrameLength;
> >   	sensorDescriptor.line_periods_vertical_blanking = 106; /* default */
> >   	//INFO: fine integration is not supported by v4l2
> > diff --git a/ipu3.cpp b/ipu3.cpp
> > index 7ecd377346f0..f3c65c7c142d 100644
> > --- a/ipu3.cpp
> > +++ b/ipu3.cpp
> > @@ -118,7 +118,7 @@ void IPAIPU3::updateControls(const IPACameraSensorInfo &sensorInfo,
> >   	 * exposure min, max and default and convert it from lines to
> >   	 * microseconds.
> >   	 */
> > -	double lineDuration = sensorInfo.lineLength / (sensorInfo.pixelRate / 1e6);
> > +	double lineDuration = sensorInfo.minLineLength / (sensorInfo.pixelRate / 1e6);
> >   	const ControlInfo &v4l2Exposure = sensorControls.find(V4L2_CID_EXPOSURE)->second;
> >   	int32_t minExposure = v4l2Exposure.min().get<int32_t>() * lineDuration;
> >   	int32_t maxExposure = v4l2Exposure.max().get<int32_t>() * lineDuration;

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list