diff options
author | Kieran Bingham <kieran.bingham@ideasonboard.com> | 2022-10-18 23:55:41 +0100 |
---|---|---|
committer | Kieran Bingham <kieran.bingham@ideasonboard.com> | 2022-10-19 12:45:22 +0100 |
commit | 4ff236804432937861c3ee151f4001cd1de9fafc (patch) | |
tree | 095bb1878bb8e1329a3482fef61b9ae6c2db9f5c | |
parent | bc7ff6e2897f6b80368fb21bd08414125a946c8f (diff) |
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 lineLength field.
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.
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
-rw-r--r-- | aiq/aiq_input_parameters.cpp | 2 | ||||
-rw-r--r-- | 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 7a6a1fa..1639b61 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 @@ -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; |