blob: 157c0ac61b6e2892317a3f9625bde1af03de46c3 [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
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
Christopher Ferris05d08e92016-02-04 13:16:38 -080021#include <linux/media-bus-format.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070022#include <linux/types.h>
23#include <linux/videodev2.h>
Christopher Ferris32ff3f82020-12-14 13:10:04 -080024#define V4L2_MBUS_FRAMEFMT_SET_CSC 0x0001
Ben Cheng655a7c02013-10-16 16:09:24 -070025struct v4l2_mbus_framefmt {
Tao Baod7db5942015-01-28 10:07:51 -080026 __u32 width;
Tao Baod7db5942015-01-28 10:07:51 -080027 __u32 height;
28 __u32 code;
29 __u32 field;
30 __u32 colorspace;
Christopher Ferris32ff3f82020-12-14 13:10:04 -080031 union {
32 __u16 ycbcr_enc;
33 __u16 hsv_enc;
34 };
Christopher Ferris05d08e92016-02-04 13:16:38 -080035 __u16 quantization;
36 __u16 xfer_func;
Christopher Ferris32ff3f82020-12-14 13:10:04 -080037 __u16 flags;
38 __u16 reserved[10];
Christopher Ferris05d08e92016-02-04 13:16:38 -080039};
Christopher Ferris05d08e92016-02-04 13:16:38 -080040#define V4L2_MBUS_FROM_MEDIA_BUS_FMT(name) V4L2_MBUS_FMT_ ##name = MEDIA_BUS_FMT_ ##name
41enum v4l2_mbus_pixelcode {
42 V4L2_MBUS_FROM_MEDIA_BUS_FMT(FIXED),
43 V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB444_2X8_PADHI_BE),
Christopher Ferris05d08e92016-02-04 13:16:38 -080044 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),
Christopher Ferris05d08e92016-02-04 13:16:38 -080048 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),
Christopher Ferris05d08e92016-02-04 13:16:38 -080052 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),
Christopher Ferris05d08e92016-02-04 13:16:38 -080056 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),
Christopher Ferris05d08e92016-02-04 13:16:38 -080060 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),
Christopher Ferris05d08e92016-02-04 13:16:38 -080064 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),
Christopher Ferris05d08e92016-02-04 13:16:38 -080068 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),
Christopher Ferris05d08e92016-02-04 13:16:38 -080072 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),
Christopher Ferris05d08e92016-02-04 13:16:38 -080076 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),
Christopher Ferris05d08e92016-02-04 13:16:38 -080080 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),
Christopher Ferris05d08e92016-02-04 13:16:38 -080084 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),
Christopher Ferris05d08e92016-02-04 13:16:38 -080088 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),
Christopher Ferris05d08e92016-02-04 13:16:38 -080092 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),
Christopher Ferris05d08e92016-02-04 13:16:38 -080096 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),
Christopher Ferris05d08e92016-02-04 13:16:38 -0800100 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),
Christopher Ferris05d08e92016-02-04 13:16:38 -0800104 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),
Christopher Ferris05d08e92016-02-04 13:16:38 -0800108 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),
Christopher Ferris05d08e92016-02-04 13:16:38 -0800112 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),
Christopher Ferris05d08e92016-02-04 13:16:38 -0800116 V4L2_MBUS_FROM_MEDIA_BUS_FMT(S5C_UYVY_JPEG_1X8),
117 V4L2_MBUS_FROM_MEDIA_BUS_FMT(AHSV8888_1X32),
Ben Cheng655a7c02013-10-16 16:09:24 -0700118};
119#endif