controls: Split FrameDurations into FrameDuration and FrameDurationLimits

We need a separate control to report the nominal frame duration, but
it's also useful to report the min/max frame duration values that will
be used. Split the FrameDurations control into FrameDuration and
FrameDurationLimits respectively to support both of these.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
Paul Elder
2021-05-24 18:37:14 +09:00
parent c0a9768a9b
commit 19772ffe10
5 changed files with 16 additions and 8 deletions
+8 -1
View File
@@ -323,7 +323,14 @@ controls:
step to respect the received gain factor and shall report
their total value in the request metadata.
- FrameDurations:
- FrameDuration:
type: int64_t
description: |
The instantaneous frame duration from start of frame exposure to start
of next exposure, expressed in microseconds. This control is meant to
be returned in metadata.
- FrameDurationLimits:
type: int64_t
description: |
The minimum and maximum (in that order) frame duration,
+4 -3
View File
@@ -983,9 +983,10 @@ int PipelineHandlerIPU3::initControls(IPU3CameraData *data)
frameDurations[i] = frameSize / (sensorInfo.pixelRate / 1000000U);
}
controls[&controls::FrameDurations] = ControlInfo(frameDurations[0],
frameDurations[1],
frameDurations[2]);
controls[&controls::FrameDurationLimits] =
ControlInfo(frameDurations[0],
frameDurations[1],
frameDurations[2]);
/*
* Compute the scaler crop limits.