9 #ifndef __LIBCAMERA_FORMATS_H__
10 #define __LIBCAMERA_FORMATS_H__
22 constexpr uint32_t __fourcc(
char a,
char b,
char c,
char d)
24 return (
static_cast<uint32_t
>(a) << 0) |
25 (
static_cast<uint32_t
>(b) << 8) |
26 (
static_cast<uint32_t
>(c) << 16) |
27 (
static_cast<uint32_t
>(d) << 24);
30 constexpr uint64_t __mod(
unsigned int vendor,
unsigned int mod)
32 return (
static_cast<uint64_t
>(vendor) << 56) |
33 (
static_cast<uint64_t
>(mod) << 0);
38 constexpr PixelFormat R8{ __fourcc(
'R',
'8',
' ',
' '), __mod(0, 0) };
39 constexpr PixelFormat RGB888{ __fourcc(
'R',
'G',
'2',
'4'), __mod(0, 0) };
40 constexpr PixelFormat BGR888{ __fourcc(
'B',
'G',
'2',
'4'), __mod(0, 0) };
41 constexpr PixelFormat XRGB8888{ __fourcc(
'X',
'R',
'2',
'4'), __mod(0, 0) };
42 constexpr PixelFormat XBGR8888{ __fourcc(
'X',
'B',
'2',
'4'), __mod(0, 0) };
43 constexpr PixelFormat RGBX8888{ __fourcc(
'R',
'X',
'2',
'4'), __mod(0, 0) };
44 constexpr PixelFormat BGRX8888{ __fourcc(
'B',
'X',
'2',
'4'), __mod(0, 0) };
45 constexpr PixelFormat ARGB8888{ __fourcc(
'A',
'R',
'2',
'4'), __mod(0, 0) };
46 constexpr PixelFormat ABGR8888{ __fourcc(
'A',
'B',
'2',
'4'), __mod(0, 0) };
47 constexpr PixelFormat RGBA8888{ __fourcc(
'R',
'A',
'2',
'4'), __mod(0, 0) };
48 constexpr PixelFormat BGRA8888{ __fourcc(
'B',
'A',
'2',
'4'), __mod(0, 0) };
49 constexpr PixelFormat YUYV{ __fourcc(
'Y',
'U',
'Y',
'V'), __mod(0, 0) };
50 constexpr PixelFormat YVYU{ __fourcc(
'Y',
'V',
'Y',
'U'), __mod(0, 0) };
51 constexpr PixelFormat UYVY{ __fourcc(
'U',
'Y',
'V',
'Y'), __mod(0, 0) };
52 constexpr PixelFormat VYUY{ __fourcc(
'V',
'Y',
'U',
'Y'), __mod(0, 0) };
53 constexpr PixelFormat NV12{ __fourcc(
'N',
'V',
'1',
'2'), __mod(0, 0) };
54 constexpr PixelFormat NV21{ __fourcc(
'N',
'V',
'2',
'1'), __mod(0, 0) };
55 constexpr PixelFormat NV16{ __fourcc(
'N',
'V',
'1',
'6'), __mod(0, 0) };
56 constexpr PixelFormat NV61{ __fourcc(
'N',
'V',
'6',
'1'), __mod(0, 0) };
57 constexpr PixelFormat NV24{ __fourcc(
'N',
'V',
'2',
'4'), __mod(0, 0) };
58 constexpr PixelFormat NV42{ __fourcc(
'N',
'V',
'4',
'2'), __mod(0, 0) };
59 constexpr PixelFormat YUV420{ __fourcc(
'Y',
'U',
'1',
'2'), __mod(0, 0) };
60 constexpr PixelFormat YUV422{ __fourcc(
'Y',
'U',
'1',
'6'), __mod(0, 0) };
61 constexpr PixelFormat MJPEG{ __fourcc(
'M',
'J',
'P',
'G'), __mod(0, 0) };
62 constexpr PixelFormat SRGGB8{ __fourcc(
'R',
'G',
'G',
'B'), __mod(0, 0) };
63 constexpr PixelFormat SGRBG8{ __fourcc(
'G',
'R',
'B',
'G'), __mod(0, 0) };
64 constexpr PixelFormat SGBRG8{ __fourcc(
'G',
'B',
'R',
'G'), __mod(0, 0) };
65 constexpr PixelFormat SBGGR8{ __fourcc(
'B',
'A',
'8',
'1'), __mod(0, 0) };
66 constexpr PixelFormat SRGGB10{ __fourcc(
'R',
'G',
'1',
'0'), __mod(0, 0) };
67 constexpr PixelFormat SGRBG10{ __fourcc(
'B',
'A',
'1',
'0'), __mod(0, 0) };
68 constexpr PixelFormat SGBRG10{ __fourcc(
'G',
'B',
'1',
'0'), __mod(0, 0) };
69 constexpr PixelFormat SBGGR10{ __fourcc(
'B',
'G',
'1',
'0'), __mod(0, 0) };
70 constexpr PixelFormat SRGGB12{ __fourcc(
'R',
'G',
'1',
'2'), __mod(0, 0) };
71 constexpr PixelFormat SGRBG12{ __fourcc(
'B',
'A',
'1',
'2'), __mod(0, 0) };
72 constexpr PixelFormat SGBRG12{ __fourcc(
'G',
'B',
'1',
'2'), __mod(0, 0) };
73 constexpr PixelFormat SBGGR12{ __fourcc(
'B',
'G',
'1',
'2'), __mod(0, 0) };
74 constexpr PixelFormat SRGGB10_CSI2P{ __fourcc(
'R',
'G',
'1',
'0'), __mod(10, 1) };
75 constexpr PixelFormat SGRBG10_CSI2P{ __fourcc(
'B',
'A',
'1',
'0'), __mod(10, 1) };
76 constexpr PixelFormat SGBRG10_CSI2P{ __fourcc(
'G',
'B',
'1',
'0'), __mod(10, 1) };
77 constexpr PixelFormat SBGGR10_CSI2P{ __fourcc(
'B',
'G',
'1',
'0'), __mod(10, 1) };
78 constexpr PixelFormat SRGGB12_CSI2P{ __fourcc(
'R',
'G',
'1',
'2'), __mod(10, 1) };
79 constexpr PixelFormat SGRBG12_CSI2P{ __fourcc(
'B',
'A',
'1',
'2'), __mod(10, 1) };
80 constexpr PixelFormat SGBRG12_CSI2P{ __fourcc(
'G',
'B',
'1',
'2'), __mod(10, 1) };
81 constexpr PixelFormat SBGGR12_CSI2P{ __fourcc(
'B',
'G',
'1',
'2'), __mod(10, 1) };
82 constexpr PixelFormat SRGGB10_IPU3{ __fourcc(
'R',
'G',
'1',
'0'), __mod(1, 8) };
83 constexpr PixelFormat SGRBG10_IPU3{ __fourcc(
'B',
'A',
'1',
'0'), __mod(1, 8) };
84 constexpr PixelFormat SGBRG10_IPU3{ __fourcc(
'G',
'B',
'1',
'0'), __mod(1, 8) };
85 constexpr PixelFormat SBGGR10_IPU3{ __fourcc(
'B',
'G',
'1',
'0'), __mod(1, 8) };