libcamera: Move IPA sensor controls validation to CameraSensor
The CameraSensor class validates that the sensor driver in use supports the controls required for IPA modules to work correctly. For in-tree IPA modules, whose pipeline handlers already use CameraSensor there's no need to validate such controls again. Remove controls validation from the IPU3 and RkISP1 IPA modules and rely on CameraSensor doing that at initialization time. The list of mandatory controls is expanded to add V4L2_CID_ANALOGUE_GAIN without which IPA modules cannot function. The new requirement only applies to RAW sensors, platforms like UVC and Simple are not impacted by this change. While at it, expand the sensor driver requirements documentation to include V4L2_ANALOGUE_GAIN in the list of mandatory controls a sensor driver has to support. Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
a857a150e1
commit
29d6d0e93b
4 changed files with 9 additions and 40 deletions
|
@ -215,20 +215,10 @@ int IPARkISP1::configure([[maybe_unused]] const IPACameraSensorInfo &info,
|
|||
ctrls_ = entityControls.at(0);
|
||||
|
||||
const auto itExp = ctrls_.find(V4L2_CID_EXPOSURE);
|
||||
if (itExp == ctrls_.end()) {
|
||||
LOG(IPARkISP1, Error) << "Can't find exposure control";
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
const auto itGain = ctrls_.find(V4L2_CID_ANALOGUE_GAIN);
|
||||
if (itGain == ctrls_.end()) {
|
||||
LOG(IPARkISP1, Error) << "Can't find gain control";
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
int32_t minExposure = itExp->second.min().get<int32_t>();
|
||||
int32_t maxExposure = itExp->second.max().get<int32_t>();
|
||||
|
||||
const auto itGain = ctrls_.find(V4L2_CID_ANALOGUE_GAIN);
|
||||
int32_t minGain = itGain->second.min().get<int32_t>();
|
||||
int32_t maxGain = itGain->second.max().get<int32_t>();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue