@@ -178,6 +178,11 @@ module libcamera;
* The total line length in pixel clock periods, including blanking.
*/
+/**
+ * \var IPACameraSensorInfo::vblank
+ * \brief The vertical blanking, expressed in number of lines
+ */
+
/**
* \var IPACameraSensorInfo::minFrameLength
* \brief The minimum allowable frame length in units of lines
@@ -218,6 +223,7 @@ struct IPACameraSensorInfo {
uint64 pixelRate;
uint32 lineLength;
+ uint32 vblank;
uint32 minFrameLength;
uint32 maxFrameLength;
@@ -1004,6 +1004,7 @@ int CameraSensor::sensorInfo(IPACameraSensorInfo *info) const
int32_t hblank = ctrls.get(V4L2_CID_HBLANK).get<int32_t>();
info->lineLength = info->outputSize.width + hblank;
info->pixelRate = ctrls.get(V4L2_CID_PIXEL_RATE).get<int64_t>();
+ info->vblank = ctrls.get(V4L2_CID_VBLANK).get<int32_t>();
const ControlInfo vblank = ctrls.infoMap()->at(V4L2_CID_VBLANK);
info->minFrameLength = info->outputSize.height + vblank.min().get<int32_t>();
The IPA modules need the V4L2_CID_VBLANK value to calculate the total frame size for the current sensor configuration. In order to prepare removing usage of V4L2_CID_VBLANK in IPA modules, add the vblank value to the IPACameraSensorInfo structure. Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> --- include/libcamera/ipa/core.mojom | 6 ++++++ src/libcamera/camera_sensor.cpp | 1 + 2 files changed, 7 insertions(+)