diff options
-rw-r--r-- | src/libcamera/include/v4l2_device.h | 2 | ||||
-rw-r--r-- | src/libcamera/include/v4l2_subdevice.h | 2 | ||||
-rw-r--r-- | src/libcamera/v4l2_device.cpp | 18 | ||||
-rw-r--r-- | src/libcamera/v4l2_subdevice.cpp | 18 |
4 files changed, 40 insertions, 0 deletions
diff --git a/src/libcamera/include/v4l2_device.h b/src/libcamera/include/v4l2_device.h index 5c379fac..258deee8 100644 --- a/src/libcamera/include/v4l2_device.h +++ b/src/libcamera/include/v4l2_device.h @@ -100,6 +100,8 @@ public: uint32_t bpl; } planes[3]; unsigned int planesCount; + + const std::string toString() const; }; class V4L2Device : protected Loggable diff --git a/src/libcamera/include/v4l2_subdevice.h b/src/libcamera/include/v4l2_subdevice.h index 1cc0fab7..700e66bc 100644 --- a/src/libcamera/include/v4l2_subdevice.h +++ b/src/libcamera/include/v4l2_subdevice.h @@ -21,6 +21,8 @@ struct V4L2SubdeviceFormat { uint32_t mbus_code; uint32_t width; uint32_t height; + + const std::string toString() const; }; class V4L2Subdevice : protected Loggable diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp index 889c63b3..93d81517 100644 --- a/src/libcamera/v4l2_device.cpp +++ b/src/libcamera/v4l2_device.cpp @@ -6,6 +6,8 @@ */ #include <fcntl.h> +#include <iomanip> +#include <sstream> #include <string.h> #include <sys/ioctl.h> #include <sys/mman.h> @@ -224,6 +226,22 @@ LOG_DEFINE_CATEGORY(V4L2) */ /** + * \brief Assemble and return a string describing the format + * + * \return A string describing the V4L2DeviceFormat + */ +const std::string V4L2DeviceFormat::toString() const +{ + std::stringstream ss; + + ss.fill(0); + ss << width << "x" << height << "-0x" << std::hex + << std::setw(8) << fourcc; + + return ss.str(); +} + +/** * \class V4L2Device * \brief V4L2Device object and API * diff --git a/src/libcamera/v4l2_subdevice.cpp b/src/libcamera/v4l2_subdevice.cpp index 5f58904b..cf873487 100644 --- a/src/libcamera/v4l2_subdevice.cpp +++ b/src/libcamera/v4l2_subdevice.cpp @@ -6,6 +6,8 @@ */ #include <fcntl.h> +#include <iomanip> +#include <sstream> #include <string.h> #include <sys/ioctl.h> #include <unistd.h> @@ -70,6 +72,22 @@ LOG_DEFINE_CATEGORY(V4L2Subdev) */ /** + * \brief Assemble and return a string describing the format + * + * \return A string describing the V4L2SubdeviceFormat + */ +const std::string V4L2SubdeviceFormat::toString() const +{ + std::stringstream ss; + + ss.fill(0); + ss << width << "x" << height << "-0x" << std::hex + << std::setw(4) << mbus_code; + + return ss.str(); +} + +/** * \class V4L2Subdevice * \brief A V4L2 subdevice as exposed by the Linux kernel * |