diff --git a/include/libcamera/geometry.h b/include/libcamera/geometry.h
index a87d65d3ed7951c2..ec5ed2bee196c82d 100644
--- a/include/libcamera/geometry.h
+++ b/include/libcamera/geometry.h
@@ -72,6 +72,11 @@ struct SizeRange {
 	{
 	}
 
+	SizeRange(unsigned int width, unsigned int height)
+		: min(width, height), max(width, height)
+	{
+	}
+
 	SizeRange(unsigned int minW, unsigned int minH,
 		  unsigned int maxW, unsigned int maxH)
 		: min(minW, minH), max(maxW, maxH)
diff --git a/src/libcamera/geometry.cpp b/src/libcamera/geometry.cpp
index fb8f628a0d8af200..26a05b9e7d800077 100644
--- a/src/libcamera/geometry.cpp
+++ b/src/libcamera/geometry.cpp
@@ -196,6 +196,13 @@ bool operator<(const Size &lhs, const Size &rhs)
  * \brief Construct a size range initialized to 0
  */
 
+/**
+ * \fn SizeRange::SizeRange(unsigned int width, unsigned int height)
+ * \brief Construct a size range representing a single size
+ * \param[in] width The size width
+ * \param[in] height The size height
+ */
+
 /**
  * \fn SizeRange::SizeRange(unsigned int minW, unsigned int minH,
  *			    unsigned int maxW, unsigned int maxH)
