diff --git a/include/libcamera/internal/v4l2_videodevice.h b/include/libcamera/internal/v4l2_videodevice.h
index 9f53e37cd..389276302 100644
--- a/include/libcamera/internal/v4l2_videodevice.h
+++ b/include/libcamera/internal/v4l2_videodevice.h
@@ -241,6 +241,8 @@ public:
 protected:
 	std::string logPrefix() const override;
 
+	V4L2DeviceFormat getCachedFormat() { return format_; }
+
 private:
 	LIBCAMERA_DISABLE_COPY(V4L2VideoDevice)
 
diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp
index 1110fb535..1f6ad96c1 100644
--- a/src/libcamera/v4l2_videodevice.cpp
+++ b/src/libcamera/v4l2_videodevice.cpp
@@ -2113,6 +2113,11 @@ V4L2VideoDevice::fromEntityName(const MediaDevice *media,
 	return std::make_unique<V4L2VideoDevice>(mediaEntity);
 }
 
+/**
+ * \fn V4L2VideoDevice::getCachedFormat()
+ * \return Cached \a V4L2VideoDevice::format_
+ */
+
 /**
  * \brief Convert \a PixelFormat to a V4L2PixelFormat supported by the device
  * \param[in] pixelFormat The PixelFormat to convert
