13#include <linux/media/v4l2-isp.h>
15#include <libcamera/base/span.h>
26 Span<const uint8_t>
block(
unsigned int blockType,
size_t blockSize)
const;
27 constexpr explicit operator bool()
33 std::map<uint16_t, Span<const uint8_t>> cache_;
38template<
typename Traits>
42 static_assert(std::is_same_v<std::underlying_type_t<typename Traits::id_type>, uint16_t>);
49 template<
typename Traits::
id_type Id>
50 const typename Traits::template id_to_details<Id>::type *
53 using Details =
typename Traits::template id_to_details<Id>;
55 using Type =
typename Details::type;
56 constexpr auto kernelId = Details::blockType;
60 return data.size() > 0 ?
61 reinterpret_cast<const Type *
>(data.data()) :
nullptr;
Base class for V4L2Stats.
Definition v4l2_stats.h:22
Span< const uint8_t > block(unsigned int blockType, size_t blockSize) const
Retrieve an ISP statistics block and return a reference to it.
Definition v4l2_stats.cpp:122
Helper class that represents an ISP statistics buffer.
Definition v4l2_stats.h:40
V4L2Stats(Span< uint8_t > data, unsigned int version)
Construct an instance of V4L2Stats.
Definition v4l2_stats.h:44
const Traits::template id_to_details< Id >::type * block() const
Retrieve a pointer to an ISP statistics block.
Definition v4l2_stats.h:51
Top-level libcamera namespace.
Definition backtrace.h:17