diff options
author | Jacopo Mondi <jacopo@jmondi.org> | 2019-03-11 16:32:06 +0100 |
---|---|---|
committer | Jacopo Mondi <jacopo@jmondi.org> | 2019-04-02 11:02:38 +0200 |
commit | ee8127523879b2573893545f35c0f94b7d9f5deb (patch) | |
tree | 49dd69f85b446d0350e4519f51257f08a4df29d3 | |
parent | 97e8b3a2eb321884fe1e15fb584f41a38cc33d51 (diff) |
libcamera: formats: Add toString() methods
Add toString() helpers to pretty print out a V4L2Device or V4L2Subdevice
format.
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
-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 * |