diff --git a/src/libcamera/include/v4l2_videodevice.h b/src/libcamera/include/v4l2_videodevice.h
index 734b34f1dc53..b92df882568f 100644
--- a/src/libcamera/include/v4l2_videodevice.h
+++ b/src/libcamera/include/v4l2_videodevice.h
@@ -160,13 +160,13 @@ private:
 	int getFormatSingleplane(V4L2DeviceFormat *format);
 	int setFormatSingleplane(V4L2DeviceFormat *format);
 
+	std::vector<unsigned int> enumPixelformats();
+	std::vector<SizeRange> enumSizes(unsigned int pixelFormat);
+
 	int requestBuffers(unsigned int count);
 	int createPlane(Buffer *buffer, unsigned int plane,
 			unsigned int length);
 
-	std::vector<unsigned int> enumPixelformats();
-	std::vector<SizeRange> enumSizes(unsigned int pixelFormat);
-
 	Buffer *dequeueBuffer();
 	void bufferAvailable(EventNotifier *notifier);
 
diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp
index 12af3bd0639b..2d1e87a76c6f 100644
--- a/src/libcamera/v4l2_videodevice.cpp
+++ b/src/libcamera/v4l2_videodevice.cpp
@@ -627,6 +627,91 @@ ImageFormats V4L2VideoDevice::formats()
 	return formats;
 }
 
+std::vector<unsigned int> V4L2VideoDevice::enumPixelformats()
+{
+	std::vector<unsigned int> formats;
+	int ret;
+
+	for (unsigned int index = 0; ; index++) {
+		struct v4l2_fmtdesc pixelformatEnum = {};
+		pixelformatEnum.index = index;
+		pixelformatEnum.type = bufferType_;
+
+		ret = ioctl(VIDIOC_ENUM_FMT, &pixelformatEnum);
+		if (ret)
+			break;
+
+		formats.push_back(pixelformatEnum.pixelformat);
+	}
+
+	if (ret && ret != -EINVAL) {
+		LOG(V4L2, Error)
+			<< "Unable to enumerate pixel formats: "
+			<< strerror(-ret);
+		return {};
+	}
+
+	return formats;
+}
+
+std::vector<SizeRange> V4L2VideoDevice::enumSizes(unsigned int pixelFormat)
+{
+	std::vector<SizeRange> sizes;
+	int ret;
+
+	for (unsigned int index = 0;; index++) {
+		struct v4l2_frmsizeenum frameSize = {};
+		frameSize.index = index;
+		frameSize.pixel_format = pixelFormat;
+
+		ret = ioctl(VIDIOC_ENUM_FRAMESIZES, &frameSize);
+		if (ret)
+			break;
+
+		if (index != 0 &&
+		    frameSize.type != V4L2_FRMSIZE_TYPE_DISCRETE) {
+			LOG(V4L2, Error)
+				<< "Non-zero index for non discrete type";
+			return {};
+		}
+
+		switch (frameSize.type) {
+		case V4L2_FRMSIZE_TYPE_DISCRETE:
+			sizes.emplace_back(frameSize.discrete.width,
+					   frameSize.discrete.height);
+			break;
+		case V4L2_FRMSIZE_TYPE_CONTINUOUS:
+			sizes.emplace_back(frameSize.stepwise.min_width,
+					   frameSize.stepwise.min_height,
+					   frameSize.stepwise.max_width,
+					   frameSize.stepwise.max_height);
+			break;
+		case V4L2_FRMSIZE_TYPE_STEPWISE:
+			sizes.emplace_back(frameSize.stepwise.min_width,
+					   frameSize.stepwise.min_height,
+					   frameSize.stepwise.max_width,
+					   frameSize.stepwise.max_height,
+					   frameSize.stepwise.step_width,
+					   frameSize.stepwise.step_height);
+			break;
+		default:
+			LOG(V4L2, Error)
+				<< "Unknown VIDIOC_ENUM_FRAMESIZES type "
+				<< frameSize.type;
+			return {};
+		}
+	}
+
+	if (ret && ret != -EINVAL) {
+		LOG(V4L2, Error)
+			<< "Unable to enumerate frame sizes: "
+			<< strerror(-ret);
+		return {};
+	}
+
+	return sizes;
+}
+
 int V4L2VideoDevice::requestBuffers(unsigned int count)
 {
 	struct v4l2_requestbuffers rb = {};
@@ -754,91 +839,6 @@ int V4L2VideoDevice::createPlane(Buffer *buffer, unsigned int planeIndex,
 	return 0;
 }
 
-std::vector<unsigned int> V4L2VideoDevice::enumPixelformats()
-{
-	std::vector<unsigned int> formats;
-	int ret;
-
-	for (unsigned int index = 0; ; index++) {
-		struct v4l2_fmtdesc pixelformatEnum = {};
-		pixelformatEnum.index = index;
-		pixelformatEnum.type = bufferType_;
-
-		ret = ioctl(VIDIOC_ENUM_FMT, &pixelformatEnum);
-		if (ret)
-			break;
-
-		formats.push_back(pixelformatEnum.pixelformat);
-	}
-
-	if (ret && ret != -EINVAL) {
-		LOG(V4L2, Error)
-			<< "Unable to enumerate pixel formats: "
-			<< strerror(-ret);
-		return {};
-	}
-
-	return formats;
-}
-
-std::vector<SizeRange> V4L2VideoDevice::enumSizes(unsigned int pixelFormat)
-{
-	std::vector<SizeRange> sizes;
-	int ret;
-
-	for (unsigned int index = 0;; index++) {
-		struct v4l2_frmsizeenum frameSize = {};
-		frameSize.index = index;
-		frameSize.pixel_format = pixelFormat;
-
-		ret = ioctl(VIDIOC_ENUM_FRAMESIZES, &frameSize);
-		if (ret)
-			break;
-
-		if (index != 0 &&
-		    frameSize.type != V4L2_FRMSIZE_TYPE_DISCRETE) {
-			LOG(V4L2, Error)
-				<< "Non-zero index for non discrete type";
-			return {};
-		}
-
-		switch (frameSize.type) {
-		case V4L2_FRMSIZE_TYPE_DISCRETE:
-			sizes.emplace_back(frameSize.discrete.width,
-					   frameSize.discrete.height);
-			break;
-		case V4L2_FRMSIZE_TYPE_CONTINUOUS:
-			sizes.emplace_back(frameSize.stepwise.min_width,
-					   frameSize.stepwise.min_height,
-					   frameSize.stepwise.max_width,
-					   frameSize.stepwise.max_height);
-			break;
-		case V4L2_FRMSIZE_TYPE_STEPWISE:
-			sizes.emplace_back(frameSize.stepwise.min_width,
-					   frameSize.stepwise.min_height,
-					   frameSize.stepwise.max_width,
-					   frameSize.stepwise.max_height,
-					   frameSize.stepwise.step_width,
-					   frameSize.stepwise.step_height);
-			break;
-		default:
-			LOG(V4L2, Error)
-				<< "Unknown VIDIOC_ENUM_FRAMESIZES type "
-				<< frameSize.type;
-			return {};
-		}
-	}
-
-	if (ret && ret != -EINVAL) {
-		LOG(V4L2, Error)
-			<< "Unable to enumerate frame sizes: "
-			<< strerror(-ret);
-		return {};
-	}
-
-	return sizes;
-}
-
 /**
  * \brief Import the externally allocated \a pool of buffers
  * \param[in] pool BufferPool of buffers to import
