1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef __LINUX_V4L2_MEDIABUS_H
20 #define __LINUX_V4L2_MEDIABUS_H
21 #include <linux/media-bus-format.h>
22 #include <linux/types.h>
23 #include <linux/videodev2.h>
24 #define V4L2_MBUS_FRAMEFMT_SET_CSC 0x0001
25 struct v4l2_mbus_framefmt {
26   __u32 width;
27   __u32 height;
28   __u32 code;
29   __u32 field;
30   __u32 colorspace;
31   union {
32     __u16 ycbcr_enc;
33     __u16 hsv_enc;
34   };
35   __u16 quantization;
36   __u16 xfer_func;
37   __u16 flags;
38   __u16 reserved[10];
39 };
40 #define V4L2_MBUS_FROM_MEDIA_BUS_FMT(name) V4L2_MBUS_FMT_ ##name = MEDIA_BUS_FMT_ ##name
41 enum v4l2_mbus_pixelcode {
42   V4L2_MBUS_FROM_MEDIA_BUS_FMT(FIXED),
43   V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB444_2X8_PADHI_BE),
44   V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB444_2X8_PADHI_LE),
45   V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB555_2X8_PADHI_BE),
46   V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB555_2X8_PADHI_LE),
47   V4L2_MBUS_FROM_MEDIA_BUS_FMT(BGR565_2X8_BE),
48   V4L2_MBUS_FROM_MEDIA_BUS_FMT(BGR565_2X8_LE),
49   V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB565_2X8_BE),
50   V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB565_2X8_LE),
51   V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB666_1X18),
52   V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB888_1X24),
53   V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB888_2X12_BE),
54   V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB888_2X12_LE),
55   V4L2_MBUS_FROM_MEDIA_BUS_FMT(ARGB8888_1X32),
56   V4L2_MBUS_FROM_MEDIA_BUS_FMT(Y8_1X8),
57   V4L2_MBUS_FROM_MEDIA_BUS_FMT(UV8_1X8),
58   V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY8_1_5X8),
59   V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY8_1_5X8),
60   V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV8_1_5X8),
61   V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU8_1_5X8),
62   V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY8_2X8),
63   V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY8_2X8),
64   V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV8_2X8),
65   V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU8_2X8),
66   V4L2_MBUS_FROM_MEDIA_BUS_FMT(Y10_1X10),
67   V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY10_2X10),
68   V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY10_2X10),
69   V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV10_2X10),
70   V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU10_2X10),
71   V4L2_MBUS_FROM_MEDIA_BUS_FMT(Y12_1X12),
72   V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY8_1X16),
73   V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY8_1X16),
74   V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV8_1X16),
75   V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU8_1X16),
76   V4L2_MBUS_FROM_MEDIA_BUS_FMT(YDYUYDYV8_1X16),
77   V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY10_1X20),
78   V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY10_1X20),
79   V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV10_1X20),
80   V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU10_1X20),
81   V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUV10_1X30),
82   V4L2_MBUS_FROM_MEDIA_BUS_FMT(AYUV8_1X32),
83   V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY12_2X12),
84   V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY12_2X12),
85   V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV12_2X12),
86   V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU12_2X12),
87   V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY12_1X24),
88   V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY12_1X24),
89   V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV12_1X24),
90   V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU12_1X24),
91   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR8_1X8),
92   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG8_1X8),
93   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG8_1X8),
94   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB8_1X8),
95   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_ALAW8_1X8),
96   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG10_ALAW8_1X8),
97   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG10_ALAW8_1X8),
98   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB10_ALAW8_1X8),
99   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_DPCM8_1X8),
100   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG10_DPCM8_1X8),
101   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG10_DPCM8_1X8),
102   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB10_DPCM8_1X8),
103   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADHI_BE),
104   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADHI_LE),
105   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADLO_BE),
106   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADLO_LE),
107   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_1X10),
108   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG10_1X10),
109   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG10_1X10),
110   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB10_1X10),
111   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR12_1X12),
112   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG12_1X12),
113   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG12_1X12),
114   V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB12_1X12),
115   V4L2_MBUS_FROM_MEDIA_BUS_FMT(JPEG_1X8),
116   V4L2_MBUS_FROM_MEDIA_BUS_FMT(S5C_UYVY_JPEG_1X8),
117   V4L2_MBUS_FROM_MEDIA_BUS_FMT(AHSV8888_1X32),
118 };
119 #endif
120