[libcamera-devel,2/5] libcamera: Add operator<<() for pixel format classes
diff mbox series

Message ID 20220429212348.18063-3-laurent.pinchart@ideasonboard.com
State Accepted
Headers show
Series
  • libcamera: More operator<<() for stream output
Related show

Commit Message

Laurent Pinchart April 29, 2022, 9:23 p.m. UTC
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(+)

Comments

Kieran Bingham May 4, 2022, 8:56 a.m. UTC | #1
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
>

Patch
diff mbox series

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 */