1
2
3
4
5
6
7
8
9
10
11
12#ifndef __LINUX_V4L2_MEDIABUS_H
13#define __LINUX_V4L2_MEDIABUS_H
14
15#include <linux/media-bus-format.h>
16#include <linux/types.h>
17#include <linux/videodev2.h>
18
19#define V4L2_MBUS_FRAMEFMT_SET_CSC 0x0001
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35struct v4l2_mbus_framefmt {
36 __u32 width;
37 __u32 height;
38 __u32 code;
39 __u32 field;
40 __u32 colorspace;
41 union {
42
43 __u16 ycbcr_enc;
44
45 __u16 hsv_enc;
46 };
47 __u16 quantization;
48 __u16 xfer_func;
49 __u16 flags;
50 __u16 reserved[10];
51};
52
53#ifndef __KERNEL__
54
55
56
57
58
59
60
61
62
63#define V4L2_MBUS_FROM_MEDIA_BUS_FMT(name) \
64 V4L2_MBUS_FMT_ ## name = MEDIA_BUS_FMT_ ## name
65
66enum v4l2_mbus_pixelcode {
67 V4L2_MBUS_FROM_MEDIA_BUS_FMT(FIXED),
68
69 V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB444_2X8_PADHI_BE),
70 V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB444_2X8_PADHI_LE),
71 V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB555_2X8_PADHI_BE),
72 V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB555_2X8_PADHI_LE),
73 V4L2_MBUS_FROM_MEDIA_BUS_FMT(BGR565_2X8_BE),
74 V4L2_MBUS_FROM_MEDIA_BUS_FMT(BGR565_2X8_LE),
75 V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB565_2X8_BE),
76 V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB565_2X8_LE),
77 V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB666_1X18),
78 V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB888_1X24),
79 V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB888_2X12_BE),
80 V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB888_2X12_LE),
81 V4L2_MBUS_FROM_MEDIA_BUS_FMT(ARGB8888_1X32),
82
83 V4L2_MBUS_FROM_MEDIA_BUS_FMT(Y8_1X8),
84 V4L2_MBUS_FROM_MEDIA_BUS_FMT(UV8_1X8),
85 V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY8_1_5X8),
86 V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY8_1_5X8),
87 V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV8_1_5X8),
88 V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU8_1_5X8),
89 V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY8_2X8),
90 V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY8_2X8),
91 V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV8_2X8),
92 V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU8_2X8),
93 V4L2_MBUS_FROM_MEDIA_BUS_FMT(Y10_1X10),
94 V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY10_2X10),
95 V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY10_2X10),
96 V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV10_2X10),
97 V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU10_2X10),
98 V4L2_MBUS_FROM_MEDIA_BUS_FMT(Y12_1X12),
99 V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY8_1X16),
100 V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY8_1X16),
101 V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV8_1X16),
102 V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU8_1X16),
103 V4L2_MBUS_FROM_MEDIA_BUS_FMT(YDYUYDYV8_1X16),
104 V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY10_1X20),
105 V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY10_1X20),
106 V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV10_1X20),
107 V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU10_1X20),
108 V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUV10_1X30),
109 V4L2_MBUS_FROM_MEDIA_BUS_FMT(AYUV8_1X32),
110 V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY12_2X12),
111 V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY12_2X12),
112 V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV12_2X12),
113 V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU12_2X12),
114 V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY12_1X24),
115 V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY12_1X24),
116 V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV12_1X24),
117 V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU12_1X24),
118
119 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR8_1X8),
120 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG8_1X8),
121 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG8_1X8),
122 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB8_1X8),
123 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_ALAW8_1X8),
124 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG10_ALAW8_1X8),
125 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG10_ALAW8_1X8),
126 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB10_ALAW8_1X8),
127 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_DPCM8_1X8),
128 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG10_DPCM8_1X8),
129 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG10_DPCM8_1X8),
130 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB10_DPCM8_1X8),
131 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADHI_BE),
132 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADHI_LE),
133 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADLO_BE),
134 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADLO_LE),
135 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_1X10),
136 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG10_1X10),
137 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG10_1X10),
138 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB10_1X10),
139 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR12_1X12),
140 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG12_1X12),
141 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG12_1X12),
142 V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB12_1X12),
143
144 V4L2_MBUS_FROM_MEDIA_BUS_FMT(JPEG_1X8),
145
146 V4L2_MBUS_FROM_MEDIA_BUS_FMT(S5C_UYVY_JPEG_1X8),
147
148 V4L2_MBUS_FROM_MEDIA_BUS_FMT(AHSV8888_1X32),
149};
150#endif
151
152#endif
153