20#include <unordered_map>
165 template <
typename T =
size_t>
175 template <
typename T =
size_t>
318template <peak::common::PixelFormat pixelFormat>
319struct PixelFormatTraits;
503 return "Coord3D_ABC32f";
524 return "Coord3D_C32f";
1049 return "BayerGR10p";
1070 return "BayerGR12p";
1091 return "BayerRG10p";
1112 return "BayerRG12p";
1133 return "BayerGB10p";
1154 return "BayerGB12p";
1175 return "BayerBG10p";
1196 return "BayerBG12p";
1217 return "Confidence8";
1238 return "Confidence16";
1259 return "Coord3D_C8";
1280 return "Coord3D_C16";
1301 return "BayerBG10g40IDS";
1322 return "BayerBG12g24IDS";
1343 return "BayerGB10g40IDS";
1364 return "BayerGB12g24IDS";
1385 return "BayerGR10g40IDS";
1406 return "BayerGR12g24IDS";
1427 return "BayerRG10g40IDS";
1448 return "BayerRG12g24IDS";
1469 return "YUV420_8_YY_UV_SemiplanarIDS";
1490 return "YUV420_8_YY_VU_SemiplanarIDS";
1511 return "YUV422_8_UYVY";
1532 return "Mono10g40IDS";
1553 return "Mono12g24IDS";
1563template <
typename T,
bool isFloat>
1564struct ValueRangeHelper;
1566template <
typename T>
1567struct ValueRangeHelper<T, false>
1569 static constexpr T Minimum(
size_t)
1574 static constexpr T Maximum(
size_t bitsPerChannel)
1576 return static_cast<T
>((1ULL << bitsPerChannel) - 1);
1580template <
typename T>
1581struct ValueRangeHelper<T, true>
1583 static constexpr T Minimum(
size_t)
1585 return std::numeric_limits<T>::lowest();
1588 static constexpr T Maximum(
size_t)
1590 return (std::numeric_limits<T>::max)();
1594template <PixelFormat pixelFormat>
1595struct PixelFormatInfo
1597 using traits = PixelFormatTraits<pixelFormat>;
1598 using underlying_type =
typename traits::underlying_type;
1599 static constexpr bool is_floating_point = std::is_floating_point<underlying_type>::value;
1601 static constexpr size_t storageBitsPerPixel = traits::storageBitsPerPixel;
1602 static constexpr size_t allocatedBitsPerPixel = traits::allocatedBitsPerPixel;
1604 static constexpr size_t storageBitsPerChannel = storageBitsPerPixel / traits::Channels().size();
1606 static constexpr underlying_type minimumValuePerChannel = ValueRangeHelper<underlying_type, is_floating_point>::Minimum(
1607 storageBitsPerChannel);
1609 static constexpr underlying_type maximumValuePerChannel = ValueRangeHelper<underlying_type, is_floating_point>::Maximum(
1610 storageBitsPerChannel);
1612 static constexpr auto Channels()
1614 return traits::Channels();
1617 static constexpr const char* Name()
1619 return traits::Name();
1622 static constexpr size_t GetSizeInBytes(
const Size& size)
1624 const auto area =
static_cast<uint64_t
>(size.GetWidth()) * size.GetHeight();
1625 return static_cast<size_t>(((area * PixelFormatInfo<pixelFormat>::allocatedBitsPerPixel) + 7) / 8);
1628 static constexpr bool IsPacked()
1630 return traits::isPacked;
1635 return traits::unpackedFormat;
1639template <
typename PixelFormatInfo>
1640inline auto ChannelsVector()
1642 constexpr auto arr = PixelFormatInfo::Channels();
1643 using T =
typename std::decay_t<
typename decltype(arr)::value_type>;
1644 return std::vector<T>(arr.begin(), arr.end());
1651 : m_pixelFormat{ pixelFormat }
1656 static const std::unordered_map<std::string, PixelFormat> map = {
1718 const auto iter = map.find(name);
1719 if (iter == map.end())
1723 m_pixelFormat = iter->second;
1742 switch (m_pixelFormat)
1745 return detail::PixelFormatInfo<peak::common::PixelFormat::Coord3D_ABC32f>::maximumValuePerChannel;
1747 return detail::PixelFormatInfo<peak::common::PixelFormat::Coord3D_C32f>::maximumValuePerChannel;
1750 "The template does not match the data type of pixel format " +
GetName() +
"! Use size_t as template argument.");
1769 switch (m_pixelFormat)
1772 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono8>::maximumValuePerChannel;
1774 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10>::maximumValuePerChannel;
1776 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12>::maximumValuePerChannel;
1778 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono16>::maximumValuePerChannel;
1780 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10p>::maximumValuePerChannel;
1782 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12p>::maximumValuePerChannel;
1784 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB8>::maximumValuePerChannel;
1786 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB10>::maximumValuePerChannel;
1788 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB12>::maximumValuePerChannel;
1790 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa8>::maximumValuePerChannel;
1792 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa10>::maximumValuePerChannel;
1794 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa12>::maximumValuePerChannel;
1796 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR8>::maximumValuePerChannel;
1798 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR10>::maximumValuePerChannel;
1800 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR12>::maximumValuePerChannel;
1802 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa8>::maximumValuePerChannel;
1804 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa10>::maximumValuePerChannel;
1806 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa12>::maximumValuePerChannel;
1808 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB10p32>::maximumValuePerChannel;
1810 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR10p32>::maximumValuePerChannel;
1812 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR8>::maximumValuePerChannel;
1814 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10>::maximumValuePerChannel;
1816 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12>::maximumValuePerChannel;
1818 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG8>::maximumValuePerChannel;
1820 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10>::maximumValuePerChannel;
1822 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12>::maximumValuePerChannel;
1824 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB8>::maximumValuePerChannel;
1826 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10>::maximumValuePerChannel;
1828 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12>::maximumValuePerChannel;
1830 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG8>::maximumValuePerChannel;
1832 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10>::maximumValuePerChannel;
1834 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12>::maximumValuePerChannel;
1836 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10p>::maximumValuePerChannel;
1838 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12p>::maximumValuePerChannel;
1840 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10p>::maximumValuePerChannel;
1842 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12p>::maximumValuePerChannel;
1844 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10p>::maximumValuePerChannel;
1846 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12p>::maximumValuePerChannel;
1848 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10p>::maximumValuePerChannel;
1850 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12p>::maximumValuePerChannel;
1852 return peak::common::detail::PixelFormatInfo<PixelFormat::Confidence8>::maximumValuePerChannel;
1854 return peak::common::detail::PixelFormatInfo<PixelFormat::Confidence16>::maximumValuePerChannel;
1856 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C8>::maximumValuePerChannel;
1858 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C16>::maximumValuePerChannel;
1860 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10g40IDS>::maximumValuePerChannel;
1862 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12g24IDS>::maximumValuePerChannel;
1864 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10g40IDS>::maximumValuePerChannel;
1866 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12g24IDS>::maximumValuePerChannel;
1868 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10g40IDS>::maximumValuePerChannel;
1870 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12g24IDS>::maximumValuePerChannel;
1872 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10g40IDS>::maximumValuePerChannel;
1874 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12g24IDS>::maximumValuePerChannel;
1876 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10g40IDS>::maximumValuePerChannel;
1878 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12g24IDS>::maximumValuePerChannel;
1880 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_UV_SemiplanarIDS>::maximumValuePerChannel;
1882 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_VU_SemiplanarIDS>::maximumValuePerChannel;
1884 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV422_8_UYVY>::maximumValuePerChannel;
1887 "The template does not match the data type of pixel format " +
GetName() +
"! Use float as template argument.");
1897template <
typename T>
1900 static_assert(
true,
"The given template type is not supported! Only size_t and float can be used.");
1921 switch (m_pixelFormat)
1924 return detail::PixelFormatInfo<peak::common::PixelFormat::Coord3D_ABC32f>::minimumValuePerChannel;
1926 return detail::PixelFormatInfo<peak::common::PixelFormat::Coord3D_C32f>::minimumValuePerChannel;
1929 "The template does not match the data type of pixel format " +
GetName() +
"! Use size_t as template argument.");
1948 switch (m_pixelFormat)
1951 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono8>::minimumValuePerChannel;
1953 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10>::minimumValuePerChannel;
1955 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12>::minimumValuePerChannel;
1957 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono16>::minimumValuePerChannel;
1959 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10p>::minimumValuePerChannel;
1961 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12p>::minimumValuePerChannel;
1963 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB8>::minimumValuePerChannel;
1965 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB10>::minimumValuePerChannel;
1967 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB12>::minimumValuePerChannel;
1969 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa8>::minimumValuePerChannel;
1971 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa10>::minimumValuePerChannel;
1973 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa12>::minimumValuePerChannel;
1975 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR8>::minimumValuePerChannel;
1977 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR10>::minimumValuePerChannel;
1979 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR12>::minimumValuePerChannel;
1981 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa8>::minimumValuePerChannel;
1983 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa10>::minimumValuePerChannel;
1985 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa12>::minimumValuePerChannel;
1987 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB10p32>::minimumValuePerChannel;
1989 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR10p32>::minimumValuePerChannel;
1991 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR8>::minimumValuePerChannel;
1993 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10>::minimumValuePerChannel;
1995 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12>::minimumValuePerChannel;
1997 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG8>::minimumValuePerChannel;
1999 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10>::minimumValuePerChannel;
2001 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12>::minimumValuePerChannel;
2003 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB8>::minimumValuePerChannel;
2005 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10>::minimumValuePerChannel;
2007 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12>::minimumValuePerChannel;
2009 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG8>::minimumValuePerChannel;
2011 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10>::minimumValuePerChannel;
2013 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12>::minimumValuePerChannel;
2015 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10p>::minimumValuePerChannel;
2017 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12p>::minimumValuePerChannel;
2019 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10p>::minimumValuePerChannel;
2021 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12p>::minimumValuePerChannel;
2023 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10p>::minimumValuePerChannel;
2025 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12p>::minimumValuePerChannel;
2027 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10p>::minimumValuePerChannel;
2029 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12p>::minimumValuePerChannel;
2031 return peak::common::detail::PixelFormatInfo<PixelFormat::Confidence8>::minimumValuePerChannel;
2033 return peak::common::detail::PixelFormatInfo<PixelFormat::Confidence16>::minimumValuePerChannel;
2035 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C8>::minimumValuePerChannel;
2037 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C16>::minimumValuePerChannel;
2039 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10g40IDS>::minimumValuePerChannel;
2041 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12g24IDS>::minimumValuePerChannel;
2043 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10g40IDS>::minimumValuePerChannel;
2045 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12g24IDS>::minimumValuePerChannel;
2047 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10g40IDS>::minimumValuePerChannel;
2049 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12g24IDS>::minimumValuePerChannel;
2051 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10g40IDS>::minimumValuePerChannel;
2053 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12g24IDS>::minimumValuePerChannel;
2055 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10g40IDS>::minimumValuePerChannel;
2057 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12g24IDS>::minimumValuePerChannel;
2059 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_UV_SemiplanarIDS>::minimumValuePerChannel;
2061 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_VU_SemiplanarIDS>::minimumValuePerChannel;
2063 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV422_8_UYVY>::minimumValuePerChannel;
2066 "The template does not match the data type of pixel format " +
GetName() +
"! Use float as template argument.");
2076template <
typename T>
2079 static_assert(
true,
"The given template type is not supported! Only size_t and float can be used.");
2086 switch (m_pixelFormat)
2089 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono8>::storageBitsPerPixel;
2091 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10>::storageBitsPerPixel;
2093 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12>::storageBitsPerPixel;
2095 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono16>::storageBitsPerPixel;
2097 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10p>::storageBitsPerPixel;
2099 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12p>::storageBitsPerPixel;
2101 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB8>::storageBitsPerPixel;
2103 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB10>::storageBitsPerPixel;
2105 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB12>::storageBitsPerPixel;
2107 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa8>::storageBitsPerPixel;
2109 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa10>::storageBitsPerPixel;
2111 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa12>::storageBitsPerPixel;
2113 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR8>::storageBitsPerPixel;
2115 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR10>::storageBitsPerPixel;
2117 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR12>::storageBitsPerPixel;
2119 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa8>::storageBitsPerPixel;
2121 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa10>::storageBitsPerPixel;
2123 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa12>::storageBitsPerPixel;
2125 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB10p32>::storageBitsPerPixel;
2127 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR10p32>::storageBitsPerPixel;
2129 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR8>::storageBitsPerPixel;
2131 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10>::storageBitsPerPixel;
2133 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12>::storageBitsPerPixel;
2135 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG8>::storageBitsPerPixel;
2137 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10>::storageBitsPerPixel;
2139 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12>::storageBitsPerPixel;
2141 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB8>::storageBitsPerPixel;
2143 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10>::storageBitsPerPixel;
2145 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12>::storageBitsPerPixel;
2147 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG8>::storageBitsPerPixel;
2149 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10>::storageBitsPerPixel;
2151 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12>::storageBitsPerPixel;
2153 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10p>::storageBitsPerPixel;
2155 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12p>::storageBitsPerPixel;
2157 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10p>::storageBitsPerPixel;
2159 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12p>::storageBitsPerPixel;
2161 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10p>::storageBitsPerPixel;
2163 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12p>::storageBitsPerPixel;
2165 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10p>::storageBitsPerPixel;
2167 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12p>::storageBitsPerPixel;
2169 return peak::common::detail::PixelFormatInfo<PixelFormat::Confidence8>::storageBitsPerPixel;
2171 return peak::common::detail::PixelFormatInfo<PixelFormat::Confidence16>::storageBitsPerPixel;
2173 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C8>::storageBitsPerPixel;
2175 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C16>::storageBitsPerPixel;
2177 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C32f>::storageBitsPerPixel;
2179 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_ABC32f>::storageBitsPerPixel;
2181 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10g40IDS>::storageBitsPerPixel;
2183 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12g24IDS>::storageBitsPerPixel;
2185 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10g40IDS>::storageBitsPerPixel;
2187 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12g24IDS>::storageBitsPerPixel;
2189 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10g40IDS>::storageBitsPerPixel;
2191 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12g24IDS>::storageBitsPerPixel;
2193 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10g40IDS>::storageBitsPerPixel;
2195 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12g24IDS>::storageBitsPerPixel;
2197 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10g40IDS>::storageBitsPerPixel;
2199 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12g24IDS>::storageBitsPerPixel;
2201 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_UV_SemiplanarIDS>::storageBitsPerPixel;
2203 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_VU_SemiplanarIDS>::storageBitsPerPixel;
2205 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV422_8_UYVY>::storageBitsPerPixel;
2207 const auto pixelFormatValue =
static_cast<typename std::underlying_type<decltype(m_pixelFormat)
>::type>(m_pixelFormat);
2209 "The given pixel format with the integer value of " + std::to_string(pixelFormatValue) +
" is unknown!");
2214 switch (m_pixelFormat)
2217 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono8>::storageBitsPerChannel;
2219 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10>::storageBitsPerChannel;
2221 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12>::storageBitsPerChannel;
2223 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono16>::storageBitsPerChannel;
2225 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10p>::storageBitsPerChannel;
2227 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12p>::storageBitsPerChannel;
2229 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB8>::storageBitsPerChannel;
2231 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB10>::storageBitsPerChannel;
2233 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB12>::storageBitsPerChannel;
2235 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa8>::storageBitsPerChannel;
2237 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa10>::storageBitsPerChannel;
2239 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa12>::storageBitsPerChannel;
2241 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR8>::storageBitsPerChannel;
2243 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR10>::storageBitsPerChannel;
2245 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR12>::storageBitsPerChannel;
2247 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa8>::storageBitsPerChannel;
2249 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa10>::storageBitsPerChannel;
2251 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa12>::storageBitsPerChannel;
2253 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB10p32>::storageBitsPerChannel;
2255 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR10p32>::storageBitsPerChannel;
2257 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR8>::storageBitsPerChannel;
2259 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10>::storageBitsPerChannel;
2261 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12>::storageBitsPerChannel;
2263 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG8>::storageBitsPerChannel;
2265 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10>::storageBitsPerChannel;
2267 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12>::storageBitsPerChannel;
2269 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB8>::storageBitsPerChannel;
2271 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10>::storageBitsPerChannel;
2273 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12>::storageBitsPerChannel;
2275 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG8>::storageBitsPerChannel;
2277 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10>::storageBitsPerChannel;
2279 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12>::storageBitsPerChannel;
2281 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10p>::storageBitsPerChannel;
2283 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12p>::storageBitsPerChannel;
2285 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10p>::storageBitsPerChannel;
2287 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12p>::storageBitsPerChannel;
2289 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10p>::storageBitsPerChannel;
2291 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12p>::storageBitsPerChannel;
2293 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10p>::storageBitsPerChannel;
2295 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12p>::storageBitsPerChannel;
2297 return peak::common::detail::PixelFormatInfo<PixelFormat::Confidence8>::storageBitsPerChannel;
2299 return peak::common::detail::PixelFormatInfo<PixelFormat::Confidence16>::storageBitsPerChannel;
2301 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C8>::storageBitsPerChannel;
2303 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C16>::storageBitsPerChannel;
2305 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C32f>::storageBitsPerChannel;
2307 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_ABC32f>::storageBitsPerChannel;
2309 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10g40IDS>::storageBitsPerChannel;
2311 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12g24IDS>::storageBitsPerChannel;
2313 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10g40IDS>::storageBitsPerChannel;
2315 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12g24IDS>::storageBitsPerChannel;
2317 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10g40IDS>::storageBitsPerChannel;
2319 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12g24IDS>::storageBitsPerChannel;
2321 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10g40IDS>::storageBitsPerChannel;
2323 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12g24IDS>::storageBitsPerChannel;
2325 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10g40IDS>::storageBitsPerChannel;
2327 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12g24IDS>::storageBitsPerChannel;
2329 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_UV_SemiplanarIDS>::storageBitsPerChannel;
2331 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_VU_SemiplanarIDS>::storageBitsPerChannel;
2333 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV422_8_UYVY>::storageBitsPerChannel;
2335 const auto pixelFormatValue =
static_cast<typename std::underlying_type<decltype(m_pixelFormat)
>::type>(m_pixelFormat);
2337 "The given pixel format with the integer value of " + std::to_string(pixelFormatValue) +
" is unknown!");
2342 switch (m_pixelFormat)
2345 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono8>::Name();
2347 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10>::Name();
2349 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12>::Name();
2351 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono16>::Name();
2353 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10p>::Name();
2355 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12p>::Name();
2357 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB8>::Name();
2359 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB10>::Name();
2361 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB12>::Name();
2363 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa8>::Name();
2365 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa10>::Name();
2367 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa12>::Name();
2369 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR8>::Name();
2371 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR10>::Name();
2373 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR12>::Name();
2375 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa8>::Name();
2377 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa10>::Name();
2379 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa12>::Name();
2381 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB10p32>::Name();
2383 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR10p32>::Name();
2385 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR8>::Name();
2387 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10>::Name();
2389 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12>::Name();
2391 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG8>::Name();
2393 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10>::Name();
2395 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12>::Name();
2397 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB8>::Name();
2399 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10>::Name();
2401 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12>::Name();
2403 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG8>::Name();
2405 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10>::Name();
2407 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12>::Name();
2409 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10p>::Name();
2411 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12p>::Name();
2413 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10p>::Name();
2415 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12p>::Name();
2417 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10p>::Name();
2419 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12p>::Name();
2421 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10p>::Name();
2423 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12p>::Name();
2425 return peak::common::detail::PixelFormatInfo<PixelFormat::Confidence8>::Name();
2427 return peak::common::detail::PixelFormatInfo<PixelFormat::Confidence16>::Name();
2429 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C8>::Name();
2431 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C16>::Name();
2433 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C32f>::Name();
2435 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_ABC32f>::Name();
2437 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10g40IDS>::Name();
2439 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12g24IDS>::Name();
2441 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10g40IDS>::Name();
2443 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12g24IDS>::Name();
2445 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10g40IDS>::Name();
2447 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12g24IDS>::Name();
2449 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10g40IDS>::Name();
2451 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12g24IDS>::Name();
2453 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10g40IDS>::Name();
2455 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12g24IDS>::Name();
2457 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_UV_SemiplanarIDS>::Name();
2459 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_VU_SemiplanarIDS>::Name();
2461 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV422_8_UYVY>::Name();
2463 const auto pixelFormatValue =
static_cast<typename std::underlying_type<decltype(m_pixelFormat)
>::type>(m_pixelFormat);
2465 "The given pixel format with the integer value of " + std::to_string(pixelFormatValue) +
" is unknown!");
2470 switch (m_pixelFormat)
2473 return { detail::ChannelsVector<detail::PixelFormatInfo<peak::common::PixelFormat::Mono8>>() };
2475 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::Mono10>>() };
2477 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::Mono12>>() };
2479 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::Mono16>>() };
2481 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::Mono10p>>() };
2483 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::Mono12p>>() };
2485 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::RGB8>>() };
2487 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::RGB10>>() };
2489 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::RGB12>>() };
2491 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::RGBa8>>() };
2493 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::RGBa10>>() };
2495 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::RGBa12>>() };
2497 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BGR8>>() };
2499 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BGR10>>() };
2501 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BGR12>>() };
2503 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BGRa8>>() };
2505 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BGRa10>>() };
2507 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BGRa12>>() };
2509 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::RGB10p32>>() };
2511 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BGR10p32>>() };
2513 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR8>>() };
2515 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10>>() };
2517 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12>>() };
2519 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG8>>() };
2521 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10>>() };
2523 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12>>() };
2525 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB8>>() };
2527 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10>>() };
2529 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12>>() };
2531 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG8>>() };
2533 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10>>() };
2535 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12>>() };
2537 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10p>>() };
2539 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12p>>() };
2541 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10p>>() };
2543 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12p>>() };
2545 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10p>>() };
2547 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12p>>() };
2549 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10p>>() };
2551 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12p>>() };
2553 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::Confidence8>>() };
2555 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::Confidence16>>() };
2557 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C8>>() };
2559 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C16>>() };
2561 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C32f>>() };
2563 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_ABC32f>>() };
2565 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10g40IDS>>() };
2567 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12g24IDS>>() };
2569 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10g40IDS>>() };
2571 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12g24IDS>>() };
2573 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10g40IDS>>() };
2575 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12g24IDS>>() };
2577 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10g40IDS>>() };
2579 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12g24IDS>>() };
2581 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::Mono10g40IDS>>() };
2583 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::Mono12g24IDS>>() };
2585 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_UV_SemiplanarIDS>>() };
2587 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_VU_SemiplanarIDS>>() };
2589 return { detail::ChannelsVector<peak::common::detail::PixelFormatInfo<PixelFormat::YUV422_8_UYVY>>() };
2591 const auto pixelFormatValue =
static_cast<typename std::underlying_type<decltype(m_pixelFormat)
>::type>(m_pixelFormat);
2593 "The given pixel format with the integer value of " + std::to_string(pixelFormatValue) +
" is unknown!");
2598 switch (m_pixelFormat)
2601 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono8>::allocatedBitsPerPixel;
2603 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10>::allocatedBitsPerPixel;
2605 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12>::allocatedBitsPerPixel;
2607 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono16>::allocatedBitsPerPixel;
2609 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10p>::allocatedBitsPerPixel;
2611 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12p>::allocatedBitsPerPixel;
2613 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB8>::allocatedBitsPerPixel;
2615 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB10>::allocatedBitsPerPixel;
2617 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB12>::allocatedBitsPerPixel;
2619 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa8>::allocatedBitsPerPixel;
2621 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa10>::allocatedBitsPerPixel;
2623 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa12>::allocatedBitsPerPixel;
2625 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR8>::allocatedBitsPerPixel;
2627 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR10>::allocatedBitsPerPixel;
2629 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR12>::allocatedBitsPerPixel;
2631 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa8>::allocatedBitsPerPixel;
2633 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa10>::allocatedBitsPerPixel;
2635 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa12>::allocatedBitsPerPixel;
2637 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB10p32>::allocatedBitsPerPixel;
2639 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR10p32>::allocatedBitsPerPixel;
2641 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR8>::allocatedBitsPerPixel;
2643 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10>::allocatedBitsPerPixel;
2645 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12>::allocatedBitsPerPixel;
2647 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG8>::allocatedBitsPerPixel;
2649 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10>::allocatedBitsPerPixel;
2651 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12>::allocatedBitsPerPixel;
2653 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB8>::allocatedBitsPerPixel;
2655 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10>::allocatedBitsPerPixel;
2657 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12>::allocatedBitsPerPixel;
2659 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG8>::allocatedBitsPerPixel;
2661 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10>::allocatedBitsPerPixel;
2663 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12>::allocatedBitsPerPixel;
2665 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10p>::allocatedBitsPerPixel;
2667 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12p>::allocatedBitsPerPixel;
2669 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10p>::allocatedBitsPerPixel;
2671 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12p>::allocatedBitsPerPixel;
2673 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10p>::allocatedBitsPerPixel;
2675 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12p>::allocatedBitsPerPixel;
2677 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10p>::allocatedBitsPerPixel;
2679 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12p>::allocatedBitsPerPixel;
2681 return peak::common::detail::PixelFormatInfo<PixelFormat::Confidence8>::allocatedBitsPerPixel;
2683 return peak::common::detail::PixelFormatInfo<PixelFormat::Confidence16>::allocatedBitsPerPixel;
2685 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C8>::allocatedBitsPerPixel;
2687 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C16>::allocatedBitsPerPixel;
2689 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C32f>::allocatedBitsPerPixel;
2691 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_ABC32f>::allocatedBitsPerPixel;
2693 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10g40IDS>::allocatedBitsPerPixel;
2695 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12g24IDS>::allocatedBitsPerPixel;
2697 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10g40IDS>::allocatedBitsPerPixel;
2699 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12g24IDS>::allocatedBitsPerPixel;
2701 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10g40IDS>::allocatedBitsPerPixel;
2703 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12g24IDS>::allocatedBitsPerPixel;
2705 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10g40IDS>::allocatedBitsPerPixel;
2707 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12g24IDS>::allocatedBitsPerPixel;
2709 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10g40IDS>::allocatedBitsPerPixel;
2711 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12g24IDS>::allocatedBitsPerPixel;
2713 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_UV_SemiplanarIDS>::allocatedBitsPerPixel;
2715 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_VU_SemiplanarIDS>::allocatedBitsPerPixel;
2717 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV422_8_UYVY>::allocatedBitsPerPixel;
2719 const auto pixelFormatValue =
static_cast<typename std::underlying_type<decltype(m_pixelFormat)
>::type>(m_pixelFormat);
2721 "The given pixel format with the integer value of " + std::to_string(pixelFormatValue) +
" is unknown!");
2732 const auto it = std::find(channels.cbegin(), channels.cend(), channel);
2733 if (it == channels.end())
2738 return static_cast<size_t>(std::distance(channels.begin(), it));
2754 return std::find(channels.cbegin(), channels.cend(), channel) != channels.cend();
2759 return m_pixelFormat;
2764 switch (m_pixelFormat)
2767 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono8>::GetSizeInBytes(size);
2769 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10>::GetSizeInBytes(size);
2771 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12>::GetSizeInBytes(size);
2773 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono16>::GetSizeInBytes(size);
2775 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10p>::GetSizeInBytes(size);
2777 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12p>::GetSizeInBytes(size);
2779 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB8>::GetSizeInBytes(size);
2781 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB10>::GetSizeInBytes(size);
2783 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB12>::GetSizeInBytes(size);
2785 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa8>::GetSizeInBytes(size);
2787 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa10>::GetSizeInBytes(size);
2789 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa12>::GetSizeInBytes(size);
2791 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR8>::GetSizeInBytes(size);
2793 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR10>::GetSizeInBytes(size);
2795 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR12>::GetSizeInBytes(size);
2797 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa8>::GetSizeInBytes(size);
2799 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa10>::GetSizeInBytes(size);
2801 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa12>::GetSizeInBytes(size);
2803 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB10p32>::GetSizeInBytes(size);
2805 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR10p32>::GetSizeInBytes(size);
2807 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR8>::GetSizeInBytes(size);
2809 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10>::GetSizeInBytes(size);
2811 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12>::GetSizeInBytes(size);
2813 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG8>::GetSizeInBytes(size);
2815 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10>::GetSizeInBytes(size);
2817 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12>::GetSizeInBytes(size);
2819 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB8>::GetSizeInBytes(size);
2821 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10>::GetSizeInBytes(size);
2823 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12>::GetSizeInBytes(size);
2825 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG8>::GetSizeInBytes(size);
2827 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10>::GetSizeInBytes(size);
2829 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12>::GetSizeInBytes(size);
2831 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10p>::GetSizeInBytes(size);
2833 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12p>::GetSizeInBytes(size);
2835 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10p>::GetSizeInBytes(size);
2837 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12p>::GetSizeInBytes(size);
2839 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10p>::GetSizeInBytes(size);
2841 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12p>::GetSizeInBytes(size);
2843 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10p>::GetSizeInBytes(size);
2845 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12p>::GetSizeInBytes(size);
2847 return peak::common::detail::PixelFormatInfo<PixelFormat::Confidence8>::GetSizeInBytes(size);
2849 return peak::common::detail::PixelFormatInfo<PixelFormat::Confidence16>::GetSizeInBytes(size);
2851 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C8>::GetSizeInBytes(size);
2853 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C16>::GetSizeInBytes(size);
2855 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C32f>::GetSizeInBytes(size);
2857 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_ABC32f>::GetSizeInBytes(size);
2859 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10g40IDS>::GetSizeInBytes(size);
2861 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12g24IDS>::GetSizeInBytes(size);
2863 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10g40IDS>::GetSizeInBytes(size);
2865 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12g24IDS>::GetSizeInBytes(size);
2867 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10g40IDS>::GetSizeInBytes(size);
2869 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12g24IDS>::GetSizeInBytes(size);
2871 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10g40IDS>::GetSizeInBytes(size);
2873 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12g24IDS>::GetSizeInBytes(size);
2875 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10g40IDS>::GetSizeInBytes(size);
2877 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12g24IDS>::GetSizeInBytes(size);
2879 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_UV_SemiplanarIDS>::GetSizeInBytes(size);
2881 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_VU_SemiplanarIDS>::GetSizeInBytes(size);
2883 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV422_8_UYVY>::GetSizeInBytes(size);
2885 const auto pixelFormatValue =
static_cast<typename std::underlying_type<decltype(m_pixelFormat)
>::type>(m_pixelFormat);
2887 "The given pixel format with the integer value of " + std::to_string(pixelFormatValue) +
" is unknown!");
2892 switch (m_pixelFormat)
2895 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono8>::IsPacked();
2897 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10>::IsPacked();
2899 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12>::IsPacked();
2901 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono16>::IsPacked();
2903 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10p>::IsPacked();
2905 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12p>::IsPacked();
2907 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB8>::IsPacked();
2909 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB10>::IsPacked();
2911 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB12>::IsPacked();
2913 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa8>::IsPacked();
2915 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa10>::IsPacked();
2917 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa12>::IsPacked();
2919 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR8>::IsPacked();
2921 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR10>::IsPacked();
2923 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR12>::IsPacked();
2925 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa8>::IsPacked();
2927 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa10>::IsPacked();
2929 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa12>::IsPacked();
2931 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB10p32>::IsPacked();
2933 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR10p32>::IsPacked();
2935 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR8>::IsPacked();
2937 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10>::IsPacked();
2939 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12>::IsPacked();
2941 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG8>::IsPacked();
2943 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10>::IsPacked();
2945 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12>::IsPacked();
2947 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB8>::IsPacked();
2949 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10>::IsPacked();
2951 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12>::IsPacked();
2953 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG8>::IsPacked();
2955 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10>::IsPacked();
2957 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12>::IsPacked();
2959 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10p>::IsPacked();
2961 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12p>::IsPacked();
2963 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10p>::IsPacked();
2965 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12p>::IsPacked();
2967 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10p>::IsPacked();
2969 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12p>::IsPacked();
2971 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10p>::IsPacked();
2973 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12p>::IsPacked();
2975 return peak::common::detail::PixelFormatInfo<PixelFormat::Confidence8>::IsPacked();
2977 return peak::common::detail::PixelFormatInfo<PixelFormat::Confidence16>::IsPacked();
2979 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C8>::IsPacked();
2981 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C16>::IsPacked();
2983 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C32f>::IsPacked();
2985 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_ABC32f>::IsPacked();
2987 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10g40IDS>::IsPacked();
2989 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12g24IDS>::IsPacked();
2991 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10g40IDS>::IsPacked();
2993 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12g24IDS>::IsPacked();
2995 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10g40IDS>::IsPacked();
2997 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12g24IDS>::IsPacked();
2999 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10g40IDS>::IsPacked();
3001 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12g24IDS>::IsPacked();
3003 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10g40IDS>::IsPacked();
3005 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12g24IDS>::IsPacked();
3007 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_UV_SemiplanarIDS>::IsPacked();
3009 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_VU_SemiplanarIDS>::IsPacked();
3011 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV422_8_UYVY>::IsPacked();
3013 const auto pixelFormatValue =
static_cast<typename std::underlying_type<decltype(m_pixelFormat)
>::type>(m_pixelFormat);
3015 "The given pixel format with the integer value of " + std::to_string(pixelFormatValue) +
" is unknown!");
3020 switch (m_pixelFormat)
3023 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono8>::is_floating_point;
3025 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10>::is_floating_point;
3027 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12>::is_floating_point;
3029 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono16>::is_floating_point;
3031 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10p>::is_floating_point;
3033 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12p>::is_floating_point;
3035 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB8>::is_floating_point;
3037 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB10>::is_floating_point;
3039 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB12>::is_floating_point;
3041 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa8>::is_floating_point;
3043 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa10>::is_floating_point;
3045 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa12>::is_floating_point;
3047 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR8>::is_floating_point;
3049 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR10>::is_floating_point;
3051 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR12>::is_floating_point;
3053 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa8>::is_floating_point;
3055 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa10>::is_floating_point;
3057 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa12>::is_floating_point;
3059 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB10p32>::is_floating_point;
3061 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR10p32>::is_floating_point;
3063 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR8>::is_floating_point;
3065 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10>::is_floating_point;
3067 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12>::is_floating_point;
3069 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG8>::is_floating_point;
3071 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10>::is_floating_point;
3073 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12>::is_floating_point;
3075 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB8>::is_floating_point;
3077 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10>::is_floating_point;
3079 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12>::is_floating_point;
3081 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG8>::is_floating_point;
3083 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10>::is_floating_point;
3085 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12>::is_floating_point;
3087 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10p>::is_floating_point;
3089 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12p>::is_floating_point;
3091 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10p>::is_floating_point;
3093 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12p>::is_floating_point;
3095 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10p>::is_floating_point;
3097 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12p>::is_floating_point;
3099 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10p>::is_floating_point;
3101 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12p>::is_floating_point;
3103 return peak::common::detail::PixelFormatInfo<PixelFormat::Confidence8>::is_floating_point;
3105 return peak::common::detail::PixelFormatInfo<PixelFormat::Confidence16>::is_floating_point;
3107 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C8>::is_floating_point;
3109 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C16>::is_floating_point;
3111 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C32f>::is_floating_point;
3113 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_ABC32f>::is_floating_point;
3115 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10g40IDS>::is_floating_point;
3117 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12g24IDS>::is_floating_point;
3119 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10g40IDS>::is_floating_point;
3121 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12g24IDS>::is_floating_point;
3123 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10g40IDS>::is_floating_point;
3125 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12g24IDS>::is_floating_point;
3127 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10g40IDS>::is_floating_point;
3129 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12g24IDS>::is_floating_point;
3131 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10g40IDS>::is_floating_point;
3133 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12g24IDS>::is_floating_point;
3135 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_UV_SemiplanarIDS>::is_floating_point;
3137 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_VU_SemiplanarIDS>::is_floating_point;
3139 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV422_8_UYVY>::is_floating_point;
3141 const auto pixelFormatValue =
static_cast<typename std::underlying_type<decltype(m_pixelFormat)
>::type>(m_pixelFormat);
3143 "The given pixel format with the integer value of " + std::to_string(pixelFormatValue) +
" is unknown!");
3148 switch (m_pixelFormat)
3151 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono8>::GetUnpackedFormat();
3153 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10>::GetUnpackedFormat();
3155 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12>::GetUnpackedFormat();
3157 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono16>::GetUnpackedFormat();
3159 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10p>::GetUnpackedFormat();
3161 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12p>::GetUnpackedFormat();
3163 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB8>::GetUnpackedFormat();
3165 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB10>::GetUnpackedFormat();
3167 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB12>::GetUnpackedFormat();
3169 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa8>::GetUnpackedFormat();
3171 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa10>::GetUnpackedFormat();
3173 return peak::common::detail::PixelFormatInfo<PixelFormat::RGBa12>::GetUnpackedFormat();
3175 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR8>::GetUnpackedFormat();
3177 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR10>::GetUnpackedFormat();
3179 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR12>::GetUnpackedFormat();
3181 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa8>::GetUnpackedFormat();
3183 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa10>::GetUnpackedFormat();
3185 return peak::common::detail::PixelFormatInfo<PixelFormat::BGRa12>::GetUnpackedFormat();
3187 return peak::common::detail::PixelFormatInfo<PixelFormat::RGB10p32>::GetUnpackedFormat();
3189 return peak::common::detail::PixelFormatInfo<PixelFormat::BGR10p32>::GetUnpackedFormat();
3191 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR8>::GetUnpackedFormat();
3193 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10>::GetUnpackedFormat();
3195 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12>::GetUnpackedFormat();
3197 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG8>::GetUnpackedFormat();
3199 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10>::GetUnpackedFormat();
3201 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12>::GetUnpackedFormat();
3203 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB8>::GetUnpackedFormat();
3205 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10>::GetUnpackedFormat();
3207 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12>::GetUnpackedFormat();
3209 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG8>::GetUnpackedFormat();
3211 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10>::GetUnpackedFormat();
3213 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12>::GetUnpackedFormat();
3215 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10p>::GetUnpackedFormat();
3217 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12p>::GetUnpackedFormat();
3219 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10p>::GetUnpackedFormat();
3221 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12p>::GetUnpackedFormat();
3223 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10p>::GetUnpackedFormat();
3225 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12p>::GetUnpackedFormat();
3227 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10p>::GetUnpackedFormat();
3229 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12p>::GetUnpackedFormat();
3231 return peak::common::detail::PixelFormatInfo<PixelFormat::Confidence8>::GetUnpackedFormat();
3233 return peak::common::detail::PixelFormatInfo<PixelFormat::Confidence16>::GetUnpackedFormat();
3235 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C8>::GetUnpackedFormat();
3237 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C16>::GetUnpackedFormat();
3239 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_C32f>::GetUnpackedFormat();
3241 return peak::common::detail::PixelFormatInfo<PixelFormat::Coord3D_ABC32f>::GetUnpackedFormat();
3243 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG10g40IDS>::GetUnpackedFormat();
3245 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerBG12g24IDS>::GetUnpackedFormat();
3247 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB10g40IDS>::GetUnpackedFormat();
3249 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGB12g24IDS>::GetUnpackedFormat();
3251 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR10g40IDS>::GetUnpackedFormat();
3253 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerGR12g24IDS>::GetUnpackedFormat();
3255 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG10g40IDS>::GetUnpackedFormat();
3257 return peak::common::detail::PixelFormatInfo<PixelFormat::BayerRG12g24IDS>::GetUnpackedFormat();
3259 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono10g40IDS>::GetUnpackedFormat();
3261 return peak::common::detail::PixelFormatInfo<PixelFormat::Mono12g24IDS>::GetUnpackedFormat();
3263 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_UV_SemiplanarIDS>::GetUnpackedFormat();
3265 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV420_8_YY_VU_SemiplanarIDS>::GetUnpackedFormat();
3267 return peak::common::detail::PixelFormatInfo<PixelFormat::YUV422_8_UYVY>::GetUnpackedFormat();
3269 const auto pixelFormatValue =
static_cast<typename std::underlying_type<decltype(m_pixelFormat)
>::type>(m_pixelFormat);
3271 "The given pixel format with the integer value of " + std::to_string(pixelFormatValue) +
" is unknown!");
Thrown when a function receives an invalid parameter.
Definition peak_common_exceptions.hpp:49
#define PEAK_COMMON_NO_DISCARD
Compatability macro for the nodiscard attribute.
Definition peak_common_defines.h:86
detail::SizeT< uint32_t > Size
Size with unsigned 32-bit integer dimensions.
Definition peak_common_size.hpp:273
Channel
Represents the various data channels in image or spatial data formats.
Definition peak_common_channel.hpp:28
PixelFormat
Enum listing all supported pixel formats and their internal IDs.
Definition peak_common_pixel_format.hpp:44
@ X
Definition peak_common_channel.hpp:34
@ Z
Definition peak_common_channel.hpp:36
@ ChromaV
Definition peak_common_channel.hpp:39
@ Y
Definition peak_common_channel.hpp:35
@ Alpha
Definition peak_common_channel.hpp:33
@ Intensity
Definition peak_common_channel.hpp:29
@ Blue
Definition peak_common_channel.hpp:32
@ ChromaU
Definition peak_common_channel.hpp:38
@ Green
Definition peak_common_channel.hpp:31
@ Bayer
Definition peak_common_channel.hpp:37
@ Red
Definition peak_common_channel.hpp:30
@ BayerRG12g24IDS
BayerRG 12-Bit grouped 24-bit (IDS)
Definition peak_common_pixel_format.hpp:119
@ Coord3D_C8
3D coordinate C 8-Bit format
Definition peak_common_pixel_format.hpp:69
@ RGBa10
RGBA 10-Bit pixel format.
Definition peak_common_pixel_format.hpp:89
@ RGB8
RGB 8-Bit pixel format.
Definition peak_common_pixel_format.hpp:80
@ Mono12p
Mono 12-Bit packed format.
Definition peak_common_pixel_format.hpp:109
@ Mono12
Mono 12-Bit pixel format.
Definition peak_common_pixel_format.hpp:63
@ BGR10p32
BGR 10-Bit packed 32-bit format.
Definition peak_common_pixel_format.hpp:112
@ BayerGB10
BayerGB 10-Bit pixel format.
Definition peak_common_pixel_format.hpp:54
@ BayerRG12p
BayerRG 12-Bit packed format.
Definition peak_common_pixel_format.hpp:106
@ BayerBG10
BayerBG 10-Bit pixel format.
Definition peak_common_pixel_format.hpp:58
@ RGBa8
RGBA 8-Bit pixel format.
Definition peak_common_pixel_format.hpp:88
@ Mono10g40IDS
Mono 10-Bit grouped 40-bit (IDS)
Definition peak_common_pixel_format.hpp:124
@ BayerGR10g40IDS
BayerGR 10-Bit grouped 40-bit (IDS)
Definition peak_common_pixel_format.hpp:116
@ BayerBG10p
BayerBG 10-Bit packed format.
Definition peak_common_pixel_format.hpp:96
@ RGBa12
RGBA 12-Bit pixel format.
Definition peak_common_pixel_format.hpp:90
@ BayerGB12p
BayerGB 12-Bit packed format.
Definition peak_common_pixel_format.hpp:100
@ BGRa12
BGRA 12-Bit pixel format.
Definition peak_common_pixel_format.hpp:94
@ BayerGR12
BayerGR 12-Bit pixel format.
Definition peak_common_pixel_format.hpp:47
@ BayerRG10p
BayerRG 10-Bit packed format.
Definition peak_common_pixel_format.hpp:105
@ BayerRG12
BayerRG 12-Bit pixel format.
Definition peak_common_pixel_format.hpp:51
@ BayerGR12p
BayerGR 12-Bit packed format.
Definition peak_common_pixel_format.hpp:103
@ BayerGR8
BayerGR 8-Bit pixel format.
Definition peak_common_pixel_format.hpp:45
@ BayerBG12p
BayerBG 12-Bit packed format.
Definition peak_common_pixel_format.hpp:97
@ BayerBG8
BayerBG 8-Bit pixel format.
Definition peak_common_pixel_format.hpp:57
@ Confidence16
Confidence 16-Bit format.
Definition peak_common_pixel_format.hpp:67
@ Mono12g24IDS
Mono 12-Bit grouped 24-bit (IDS)
Definition peak_common_pixel_format.hpp:125
@ BayerRG10
BayerRG 10-Bit pixel format.
Definition peak_common_pixel_format.hpp:50
@ BayerGB12
BayerGB 12-Bit pixel format.
Definition peak_common_pixel_format.hpp:55
@ BayerRG8
BayerRG 8-Bit pixel format.
Definition peak_common_pixel_format.hpp:49
@ BayerGR10p
BayerGR 10-Bit packed format.
Definition peak_common_pixel_format.hpp:102
@ YUV422_8_UYVY
UYVY 4:2:2 8-Bit format.
Definition peak_common_pixel_format.hpp:78
@ YUV420_8_YY_VU_SemiplanarIDS
YUV4:2:0 8-Bit YY/VU semiplanar (IDS)
Definition peak_common_pixel_format.hpp:76
@ BayerGB8
BayerGB 8-Bit pixel format.
Definition peak_common_pixel_format.hpp:53
@ BGR12
BGR 12-Bit pixel format.
Definition peak_common_pixel_format.hpp:86
@ Confidence8
Confidence 8-Bit format.
Definition peak_common_pixel_format.hpp:66
@ RGB10
RGB 10-Bit pixel format.
Definition peak_common_pixel_format.hpp:81
@ BayerGR12g24IDS
BayerGR 12-Bit grouped 24-bit (IDS)
Definition peak_common_pixel_format.hpp:121
@ YUV420_8_YY_UV_SemiplanarIDS
YUV4:2:0 8-Bit YY/UV semiplanar (IDS)
Definition peak_common_pixel_format.hpp:75
@ BayerGR10
BayerGR 10-Bit pixel format.
Definition peak_common_pixel_format.hpp:46
@ Coord3D_C32f
3D coordinate C 32-Bit float format
Definition peak_common_pixel_format.hpp:71
@ Mono16
Mono 16-Bit pixel format.
Definition peak_common_pixel_format.hpp:64
@ Mono10
Mono 10-Bit pixel format.
Definition peak_common_pixel_format.hpp:62
@ Mono8
Mono 8-Bit pixel format.
Definition peak_common_pixel_format.hpp:61
@ BGR10
BGR 10-Bit pixel format.
Definition peak_common_pixel_format.hpp:85
@ Coord3D_ABC32f
3D coordinates A, B, C 32-Bit float format
Definition peak_common_pixel_format.hpp:73
@ RGB12
RGB 12-Bit pixel format.
Definition peak_common_pixel_format.hpp:82
@ BayerBG12
BayerBG 12-Bit pixel format.
Definition peak_common_pixel_format.hpp:59
@ BayerBG10g40IDS
BayerBG 10-Bit grouped 40-bit (IDS)
Definition peak_common_pixel_format.hpp:117
@ BayerGB10p
BayerGB 10-Bit packed format.
Definition peak_common_pixel_format.hpp:99
@ BGRa8
BGRA 8-Bit pixel format.
Definition peak_common_pixel_format.hpp:92
@ BGRa10
BGRA 10-Bit pixel format.
Definition peak_common_pixel_format.hpp:93
@ Coord3D_C16
3D coordinate C 16-Bit format
Definition peak_common_pixel_format.hpp:70
@ BGR8
BGR 8-Bit pixel format.
Definition peak_common_pixel_format.hpp:84
@ BayerBG12g24IDS
BayerBG 12-Bit grouped 24-bit (IDS)
Definition peak_common_pixel_format.hpp:122
@ Mono10p
Mono 10-Bit packed format.
Definition peak_common_pixel_format.hpp:108
@ BayerRG10g40IDS
BayerRG 10-Bit grouped 40-bit (IDS)
Definition peak_common_pixel_format.hpp:114
@ RGB10p32
RGB 10-Bit packed 32-bit format.
Definition peak_common_pixel_format.hpp:111
@ BayerGB10g40IDS
BayerGB 10-Bit grouped 40-bit (IDS)
Definition peak_common_pixel_format.hpp:115
@ BayerGB12g24IDS
BayerGB 12-Bit grouped 24-bit (IDS)
Definition peak_common_pixel_format.hpp:120
Root namespace for common types and interfaces shared across multiple libraries.
Definition peak_common_math.hpp:22
std::ostream & operator<<(std::ostream &os, PixelFormat pixelFormat)
Definition peak_common_pixel_format.hpp:307
The "peak" namespace directly contains convenience functionality like the DeviceManager as well as th...
Definition peak_dynamic_loader.h:33