Message ID | 20190326083902.26121-2-jacopo@jmondi.org |
---|---|
State | Superseded |
Headers | show |
Series |
|
Related | show |
Hi Jacopo, Thanks for your work. On 2019-03-26 09:38:44 +0100, Jacopo Mondi wrote: > 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> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> > --- > src/libcamera/include/v4l2_device.h | 2 ++ > src/libcamera/include/v4l2_subdevice.h | 2 ++ > src/libcamera/v4l2_device.cpp | 18 ++++++++++++++++++ > src/libcamera/v4l2_subdevice.cpp | 18 ++++++++++++++++++ > 4 files changed, 40 insertions(+) > > diff --git a/src/libcamera/include/v4l2_device.h b/src/libcamera/include/v4l2_device.h > index 5c379fac66dc..258deee8d461 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 1cc0fab73103..700e66bcddac 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 889c63b3fb63..93d81517fedb 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> > @@ -223,6 +225,22 @@ LOG_DEFINE_CATEGORY(V4L2) > * \brief The number of valid data planes > */ > > +/** > + * \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 5f58904bf9e6..cf873487b22c 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> > @@ -69,6 +71,22 @@ LOG_DEFINE_CATEGORY(V4L2Subdev) > * \brief The image height in pixels > */ > > +/** > + * \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 > -- > 2.21.0 > > _______________________________________________ > libcamera-devel mailing list > libcamera-devel@lists.libcamera.org > https://lists.libcamera.org/listinfo/libcamera-devel
diff --git a/src/libcamera/include/v4l2_device.h b/src/libcamera/include/v4l2_device.h index 5c379fac66dc..258deee8d461 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 1cc0fab73103..700e66bcddac 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 889c63b3fb63..93d81517fedb 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> @@ -223,6 +225,22 @@ LOG_DEFINE_CATEGORY(V4L2) * \brief The number of valid data planes */ +/** + * \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 5f58904bf9e6..cf873487b22c 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> @@ -69,6 +71,22 @@ LOG_DEFINE_CATEGORY(V4L2Subdev) * \brief The image height in pixels */ +/** + * \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