Message ID | 20220429212348.18063-3-laurent.pinchart@ideasonboard.com |
---|---|
State | Accepted |
Headers | show |
Series |
|
Related | show |
Quoting Laurent Pinchart via libcamera-devel (2022-04-29 22:23:45) > Implement the stream output operator<<() for the PixelFormat and > V4L2PixelFormat classes to simplify printing them. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> > --- > include/libcamera/internal/v4l2_pixelformat.h | 3 +++ > include/libcamera/pixel_format.h | 3 +++ > src/libcamera/pixel_format.cpp | 12 ++++++++++++ > src/libcamera/v4l2_pixelformat.cpp | 13 +++++++++++++ > 4 files changed, 31 insertions(+) > > diff --git a/include/libcamera/internal/v4l2_pixelformat.h b/include/libcamera/internal/v4l2_pixelformat.h > index 886d534d8c91..fb2d5d0b93df 100644 > --- a/include/libcamera/internal/v4l2_pixelformat.h > +++ b/include/libcamera/internal/v4l2_pixelformat.h > @@ -8,6 +8,7 @@ > > #pragma once > > +#include <ostream> > #include <stdint.h> > #include <string> > > @@ -50,4 +51,6 @@ private: > uint32_t fourcc_; > }; > > +std::ostream &operator<<(std::ostream &out, const V4L2PixelFormat &f); > + > } /* namespace libcamera */ > diff --git a/include/libcamera/pixel_format.h b/include/libcamera/pixel_format.h > index a9d7c03de851..d49c5f784118 100644 > --- a/include/libcamera/pixel_format.h > +++ b/include/libcamera/pixel_format.h > @@ -7,6 +7,7 @@ > > #pragma once > > +#include <ostream> > #include <set> > #include <stdint.h> > #include <string> > @@ -45,4 +46,6 @@ private: > uint64_t modifier_; > }; > > +std::ostream &operator<<(std::ostream &out, const PixelFormat &f); > + > } /* namespace libcamera */ > diff --git a/src/libcamera/pixel_format.cpp b/src/libcamera/pixel_format.cpp > index 997aeb8a9290..80c22072b072 100644 > --- a/src/libcamera/pixel_format.cpp > +++ b/src/libcamera/pixel_format.cpp > @@ -140,4 +140,16 @@ PixelFormat PixelFormat::fromString(const std::string &name) > return PixelFormatInfo::info(name).format; > } > > +/** > + * \brief Insert a text representation of a PixelFormat into an output stream > + * \param[in] out The output stream > + * \param[in] f The PixelFormat > + * \return The output stream \a out > + */ > +std::ostream &operator<<(std::ostream &out, const PixelFormat &f) > +{ > + out << f.toString(); > + return out; > +} > + > } /* namespace libcamera */ > diff --git a/src/libcamera/v4l2_pixelformat.cpp b/src/libcamera/v4l2_pixelformat.cpp > index 0e0da3f0df07..1dd93baa7a64 100644 > --- a/src/libcamera/v4l2_pixelformat.cpp > +++ b/src/libcamera/v4l2_pixelformat.cpp > @@ -316,4 +316,17 @@ V4L2PixelFormat V4L2PixelFormat::fromPixelFormat(const PixelFormat &pixelFormat, > return multiplanar ? info.v4l2Formats.multi : info.v4l2Formats.single; > } > > +/** > + * \brief Insert a text representation of a V4L2PixelFormat into an output > + * stream > + * \param[in] out The output stream > + * \param[in] f The V4L2PixelFormat > + * \return The output stream \a out > + */ > +std::ostream &operator<<(std::ostream &out, const V4L2PixelFormat &f) > +{ > + out << f.toString(); > + return out; > +} > + > } /* namespace libcamera */ > -- > Regards, > > Laurent Pinchart >
diff --git a/include/libcamera/internal/v4l2_pixelformat.h b/include/libcamera/internal/v4l2_pixelformat.h index 886d534d8c91..fb2d5d0b93df 100644 --- a/include/libcamera/internal/v4l2_pixelformat.h +++ b/include/libcamera/internal/v4l2_pixelformat.h @@ -8,6 +8,7 @@ #pragma once +#include <ostream> #include <stdint.h> #include <string> @@ -50,4 +51,6 @@ private: uint32_t fourcc_; }; +std::ostream &operator<<(std::ostream &out, const V4L2PixelFormat &f); + } /* namespace libcamera */ diff --git a/include/libcamera/pixel_format.h b/include/libcamera/pixel_format.h index a9d7c03de851..d49c5f784118 100644 --- a/include/libcamera/pixel_format.h +++ b/include/libcamera/pixel_format.h @@ -7,6 +7,7 @@ #pragma once +#include <ostream> #include <set> #include <stdint.h> #include <string> @@ -45,4 +46,6 @@ private: uint64_t modifier_; }; +std::ostream &operator<<(std::ostream &out, const PixelFormat &f); + } /* namespace libcamera */ diff --git a/src/libcamera/pixel_format.cpp b/src/libcamera/pixel_format.cpp index 997aeb8a9290..80c22072b072 100644 --- a/src/libcamera/pixel_format.cpp +++ b/src/libcamera/pixel_format.cpp @@ -140,4 +140,16 @@ PixelFormat PixelFormat::fromString(const std::string &name) return PixelFormatInfo::info(name).format; } +/** + * \brief Insert a text representation of a PixelFormat into an output stream + * \param[in] out The output stream + * \param[in] f The PixelFormat + * \return The output stream \a out + */ +std::ostream &operator<<(std::ostream &out, const PixelFormat &f) +{ + out << f.toString(); + return out; +} + } /* namespace libcamera */ diff --git a/src/libcamera/v4l2_pixelformat.cpp b/src/libcamera/v4l2_pixelformat.cpp index 0e0da3f0df07..1dd93baa7a64 100644 --- a/src/libcamera/v4l2_pixelformat.cpp +++ b/src/libcamera/v4l2_pixelformat.cpp @@ -316,4 +316,17 @@ V4L2PixelFormat V4L2PixelFormat::fromPixelFormat(const PixelFormat &pixelFormat, return multiplanar ? info.v4l2Formats.multi : info.v4l2Formats.single; } +/** + * \brief Insert a text representation of a V4L2PixelFormat into an output + * stream + * \param[in] out The output stream + * \param[in] f The V4L2PixelFormat + * \return The output stream \a out + */ +std::ostream &operator<<(std::ostream &out, const V4L2PixelFormat &f) +{ + out << f.toString(); + return out; +} + } /* namespace libcamera */
Implement the stream output operator<<() for the PixelFormat and V4L2PixelFormat classes to simplify printing them. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> --- include/libcamera/internal/v4l2_pixelformat.h | 3 +++ include/libcamera/pixel_format.h | 3 +++ src/libcamera/pixel_format.cpp | 12 ++++++++++++ src/libcamera/v4l2_pixelformat.cpp | 13 +++++++++++++ 4 files changed, 31 insertions(+)