11#include <promeki/config.h>
12#if PROMEKI_ENABLE_V4L2
19PROMEKI_NAMESPACE_BEGIN
21class UncompressedVideoPayload;
43 PixelFormat::ID pixelFormatId = PixelFormat::Invalid;
44 uint8_t bytesPerSample = 1;
46 uint8_t chromaVDiv = 2;
47 const char *name =
"";
49 bool isValid()
const {
return fourcc != 0; }
53const V4l2RawFormat *v4l2RawFormatForPixelFormat(PixelFormat::ID
id);
56const V4l2RawFormat *v4l2RawFormatForFourcc(uint32_t fourcc);
59List<int> v4l2SupportedRawPixelFormats();
73void v4l2PackSemiPlanar(
const UncompressedVideoPayload &src,
const V4l2RawFormat &fmt,
74 const List<V4l2M2mCodec::OutPlane> &dst, List<size_t> &bytesused);
86void v4l2UnpackSemiPlanar(
const List<V4l2M2mCodec::CapturePlane> &src,
const V4l2RawFormat &fmt,
87 UncompressedVideoPayload *dst);