pipeline: ipa: raspberrypi: Add HBLANK control to DelayedControls
Update CamHelper::getDelays() to return the sensor HBLANK delay. The HBLANK delay is set to the same value as VBLANK delay for all sensors in the Raspberry Pi IPA. Return the HBLANK gain delay from the IPA to the pipeline handler, and initialise DelayedControls to handle V4L2_CID_HBLANK with this delay value. As a drive-by, check that the V4L2_CID_HBLANK control is available when calling IPARPi::configure(). Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Tested-by: Dave Stevenson <dave.stevenson@raspberrypi.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
committed by
Laurent Pinchart
parent
f694da76be
commit
aa2fe6a86f
@@ -219,13 +219,14 @@ int IPARPi::init(const IPASettings &settings, IPAInitResult *result)
|
||||
* Pass out the sensor config to the pipeline handler in order
|
||||
* to setup the staggered writer class.
|
||||
*/
|
||||
int gainDelay, exposureDelay, vblankDelay, sensorMetadata;
|
||||
helper_->getDelays(exposureDelay, gainDelay, vblankDelay);
|
||||
int gainDelay, exposureDelay, vblankDelay, hblankDelay, sensorMetadata;
|
||||
helper_->getDelays(exposureDelay, gainDelay, vblankDelay, hblankDelay);
|
||||
sensorMetadata = helper_->sensorEmbeddedDataPresent();
|
||||
|
||||
result->sensorConfig.gainDelay = gainDelay;
|
||||
result->sensorConfig.exposureDelay = exposureDelay;
|
||||
result->sensorConfig.vblankDelay = vblankDelay;
|
||||
result->sensorConfig.hblankDelay = hblankDelay;
|
||||
result->sensorConfig.sensorMetadata = sensorMetadata;
|
||||
|
||||
/* Load the tuning file for this sensor. */
|
||||
@@ -606,6 +607,7 @@ bool IPARPi::validateSensorControls()
|
||||
V4L2_CID_ANALOGUE_GAIN,
|
||||
V4L2_CID_EXPOSURE,
|
||||
V4L2_CID_VBLANK,
|
||||
V4L2_CID_HBLANK,
|
||||
};
|
||||
|
||||
for (auto c : ctrls) {
|
||||
|
||||
Reference in New Issue
Block a user