diff options
Diffstat (limited to 'include/libcamera/internal/v4l2_pixelformat.h')
-rw-r--r-- | include/libcamera/internal/v4l2_pixelformat.h | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/include/libcamera/internal/v4l2_pixelformat.h b/include/libcamera/internal/v4l2_pixelformat.h index fb2d5d0b..44439fff 100644 --- a/include/libcamera/internal/v4l2_pixelformat.h +++ b/include/libcamera/internal/v4l2_pixelformat.h @@ -1,16 +1,18 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2019, Google Inc. - * Copyright (C) 2020, Raspberry Pi (Trading) Ltd. + * Copyright (C) 2020, Raspberry Pi Ltd * * v4l2_pixelformat.h - V4L2 Pixel Format */ #pragma once +#include <functional> #include <ostream> #include <stdint.h> #include <string> +#include <vector> #include <linux/videodev2.h> @@ -43,9 +45,9 @@ public: std::string toString() const; const char *description() const; - PixelFormat toPixelFormat() const; - static V4L2PixelFormat fromPixelFormat(const PixelFormat &pixelFormat, - bool multiplanar = false); + PixelFormat toPixelFormat(bool warn = true) const; + static const std::vector<V4L2PixelFormat> & + fromPixelFormat(const PixelFormat &pixelFormat); private: uint32_t fourcc_; @@ -54,3 +56,15 @@ private: std::ostream &operator<<(std::ostream &out, const V4L2PixelFormat &f); } /* namespace libcamera */ + +namespace std { + +template<> +struct hash<libcamera::V4L2PixelFormat> { + size_t operator()(libcamera::V4L2PixelFormat const &format) const noexcept + { + return format.fourcc(); + } +}; + +} /* namespace std */ |