ipa: rkisp1: add FrameDurationLimits control
Currently, the Android HAL does not work on rkisp1-based devices because required FrameDurationLimits metadata is missing from the IPA implementation. This change sets FrameDurationLimits for rkisp1 based on the existing ipu3 implementation, using the sensor's reported range of vertical blanking intervals with the minimum reported horizontal blanking interval. Signed-off-by: Nicholas Roth <nicholas@rothemail.net> 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:
committed by
Jacopo Mondi
parent
13d85e632a
commit
1d8fb31759
@@ -347,8 +347,15 @@ int RkISP1CameraData::loadIPA(unsigned int hwRevision)
|
||||
ipaTuningFile = std::string(configFromEnv);
|
||||
}
|
||||
|
||||
int ret = ipa_->init({ ipaTuningFile, sensor_->model() }, hwRevision,
|
||||
&controlInfo_);
|
||||
IPACameraSensorInfo sensorInfo{};
|
||||
int ret = sensor_->sensorInfo(&sensorInfo);
|
||||
if (ret) {
|
||||
LOG(RkISP1, Error) << "Camera sensor information not available";
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = ipa_->init({ ipaTuningFile, sensor_->model() }, hwRevision,
|
||||
sensorInfo, sensor_->controls(), &controlInfo_);
|
||||
if (ret < 0) {
|
||||
LOG(RkISP1, Error) << "IPA initialization failure";
|
||||
return ret;
|
||||
@@ -718,14 +725,12 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c)
|
||||
ipa::rkisp1::IPAConfigInfo ipaConfig{};
|
||||
|
||||
ret = data->sensor_->sensorInfo(&ipaConfig.sensorInfo);
|
||||
if (ret) {
|
||||
LOG(RkISP1, Error) << "Camera sensor information not available";
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
ipaConfig.sensorControls = data->sensor_->controls();
|
||||
|
||||
ret = data->ipa_->configure(ipaConfig, streamConfig);
|
||||
ret = data->ipa_->configure(ipaConfig, streamConfig, &data->controlInfo_);
|
||||
if (ret) {
|
||||
LOG(RkISP1, Error) << "failed configuring IPA (" << ret << ")";
|
||||
return ret;
|
||||
|
||||
Reference in New Issue
Block a user