ipa: rkisp1: Pass parameters buffer format to IPA module
The rkisp1 driver supports two formats for the ISP parameters buffer, the legacy fixed format and the new extensible format. In preparation of support for the new format, pass the parameters buffer format from the pipeline handler to the IPA module and store it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
This commit is contained in:
@@ -11,6 +11,7 @@ import "include/libcamera/ipa/core.mojom";
|
||||
struct IPAConfigInfo {
|
||||
libcamera.IPACameraSensorInfo sensorInfo;
|
||||
libcamera.ControlInfoMap sensorControls;
|
||||
uint32 paramFormat;
|
||||
};
|
||||
|
||||
interface IPARkISP1Interface {
|
||||
|
||||
@@ -105,6 +105,11 @@ namespace libcamera::ipa::rkisp1 {
|
||||
* \brief Indicates if the camera is configured to capture raw frames
|
||||
*/
|
||||
|
||||
/**
|
||||
* \var IPASessionConfiguration::paramFormat
|
||||
* \brief The fourcc of the parameters buffers format
|
||||
*/
|
||||
|
||||
/**
|
||||
* \struct IPAActiveState
|
||||
* \brief Active state for algorithms
|
||||
|
||||
@@ -59,6 +59,7 @@ struct IPASessionConfiguration {
|
||||
} sensor;
|
||||
|
||||
bool raw;
|
||||
uint32_t paramFormat;
|
||||
};
|
||||
|
||||
struct IPAActiveState {
|
||||
|
||||
@@ -226,6 +226,8 @@ int IPARkISP1::configure(const IPAConfigInfo &ipaConfig,
|
||||
context_.activeState = {};
|
||||
context_.frameContexts.clear();
|
||||
|
||||
context_.configuration.paramFormat = ipaConfig.paramFormat;
|
||||
|
||||
const IPACameraSensorInfo &info = ipaConfig.sensorInfo;
|
||||
const ControlInfo vBlank = sensorControls_.find(V4L2_CID_VBLANK)->second;
|
||||
context_.configuration.sensor.defVBlank = vBlank.def().get<int32_t>();
|
||||
|
||||
@@ -814,6 +814,7 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c)
|
||||
return ret;
|
||||
|
||||
ipaConfig.sensorControls = data->sensor_->controls();
|
||||
ipaConfig.paramFormat = paramFormat.fourcc;
|
||||
|
||||
ret = data->ipa_->configure(ipaConfig, streamConfig, &data->controlInfo_);
|
||||
if (ret) {
|
||||
|
||||
Reference in New Issue
Block a user