~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/uapi/linux/v4l2-mediabus.h

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2 /*
  3  * Media Bus API header
  4  *
  5  * Copyright (C) 2009, Guennadi Liakhovetski <g.liakhovetski@gmx.de>
  6  */
  7 
  8 #ifndef __LINUX_V4L2_MEDIABUS_H
  9 #define __LINUX_V4L2_MEDIABUS_H
 10 
 11 #include <linux/media-bus-format.h>
 12 #include <linux/types.h>
 13 #include <linux/videodev2.h>
 14 
 15 #define V4L2_MBUS_FRAMEFMT_SET_CSC      0x0001
 16 
 17 /**
 18  * struct v4l2_mbus_framefmt - frame format on the media bus
 19  * @width:      image width
 20  * @height:     image height
 21  * @code:       data format code (from enum v4l2_mbus_pixelcode)
 22  * @field:      used interlacing type (from enum v4l2_field), zero for metadata
 23  *              mbus codes
 24  * @colorspace: colorspace of the data (from enum v4l2_colorspace), zero on
 25  *              metadata mbus codes
 26  * @ycbcr_enc:  YCbCr encoding of the data (from enum v4l2_ycbcr_encoding), zero
 27  *              for metadata mbus codes
 28  * @hsv_enc:    HSV encoding of the data (from enum v4l2_hsv_encoding), zero for
 29  *              metadata mbus codes
 30  * @quantization: quantization of the data (from enum v4l2_quantization), zero
 31  *              for metadata mbus codes
 32  * @xfer_func:  transfer function of the data (from enum v4l2_xfer_func), zero
 33  *              for metadata mbus codes
 34  * @flags:      flags (V4L2_MBUS_FRAMEFMT_*)
 35  * @reserved:  reserved bytes that can be later used
 36  */
 37 struct v4l2_mbus_framefmt {
 38         __u32                   width;
 39         __u32                   height;
 40         __u32                   code;
 41         __u32                   field;
 42         __u32                   colorspace;
 43         union {
 44                 /* enum v4l2_ycbcr_encoding */
 45                 __u16                   ycbcr_enc;
 46                 /* enum v4l2_hsv_encoding */
 47                 __u16                   hsv_enc;
 48         };
 49         __u16                   quantization;
 50         __u16                   xfer_func;
 51         __u16                   flags;
 52         __u16                   reserved[10];
 53 };
 54 
 55 #ifndef __KERNEL__
 56 /*
 57  * enum v4l2_mbus_pixelcode and its definitions are now deprecated, and
 58  * MEDIA_BUS_FMT_ definitions (defined in media-bus-format.h) should be
 59  * used instead.
 60  *
 61  * New defines should only be added to media-bus-format.h. The
 62  * v4l2_mbus_pixelcode enum is frozen.
 63  */
 64 
 65 #define V4L2_MBUS_FROM_MEDIA_BUS_FMT(name)      \
 66         V4L2_MBUS_FMT_ ## name = MEDIA_BUS_FMT_ ## name
 67 
 68 enum v4l2_mbus_pixelcode {
 69         V4L2_MBUS_FROM_MEDIA_BUS_FMT(FIXED),
 70 
 71         V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB444_2X8_PADHI_BE),
 72         V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB444_2X8_PADHI_LE),
 73         V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB555_2X8_PADHI_BE),
 74         V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB555_2X8_PADHI_LE),
 75         V4L2_MBUS_FROM_MEDIA_BUS_FMT(BGR565_2X8_BE),
 76         V4L2_MBUS_FROM_MEDIA_BUS_FMT(BGR565_2X8_LE),
 77         V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB565_2X8_BE),
 78         V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB565_2X8_LE),
 79         V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB666_1X18),
 80         V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB888_1X24),
 81         V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB888_2X12_BE),
 82         V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB888_2X12_LE),
 83         V4L2_MBUS_FROM_MEDIA_BUS_FMT(ARGB8888_1X32),
 84 
 85         V4L2_MBUS_FROM_MEDIA_BUS_FMT(Y8_1X8),
 86         V4L2_MBUS_FROM_MEDIA_BUS_FMT(UV8_1X8),
 87         V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY8_1_5X8),
 88         V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY8_1_5X8),
 89         V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV8_1_5X8),
 90         V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU8_1_5X8),
 91         V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY8_2X8),
 92         V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY8_2X8),
 93         V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV8_2X8),
 94         V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU8_2X8),
 95         V4L2_MBUS_FROM_MEDIA_BUS_FMT(Y10_1X10),
 96         V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY10_2X10),
 97         V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY10_2X10),
 98         V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV10_2X10),
 99         V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU10_2X10),
100         V4L2_MBUS_FROM_MEDIA_BUS_FMT(Y12_1X12),
101         V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY8_1X16),
102         V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY8_1X16),
103         V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV8_1X16),
104         V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU8_1X16),
105         V4L2_MBUS_FROM_MEDIA_BUS_FMT(YDYUYDYV8_1X16),
106         V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY10_1X20),
107         V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY10_1X20),
108         V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV10_1X20),
109         V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU10_1X20),
110         V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUV10_1X30),
111         V4L2_MBUS_FROM_MEDIA_BUS_FMT(AYUV8_1X32),
112         V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY12_2X12),
113         V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY12_2X12),
114         V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV12_2X12),
115         V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU12_2X12),
116         V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY12_1X24),
117         V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY12_1X24),
118         V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV12_1X24),
119         V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU12_1X24),
120 
121         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR8_1X8),
122         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG8_1X8),
123         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG8_1X8),
124         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB8_1X8),
125         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_ALAW8_1X8),
126         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG10_ALAW8_1X8),
127         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG10_ALAW8_1X8),
128         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB10_ALAW8_1X8),
129         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_DPCM8_1X8),
130         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG10_DPCM8_1X8),
131         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG10_DPCM8_1X8),
132         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB10_DPCM8_1X8),
133         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADHI_BE),
134         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADHI_LE),
135         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADLO_BE),
136         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADLO_LE),
137         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_1X10),
138         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG10_1X10),
139         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG10_1X10),
140         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB10_1X10),
141         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR12_1X12),
142         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG12_1X12),
143         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG12_1X12),
144         V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB12_1X12),
145 
146         V4L2_MBUS_FROM_MEDIA_BUS_FMT(JPEG_1X8),
147 
148         V4L2_MBUS_FROM_MEDIA_BUS_FMT(S5C_UYVY_JPEG_1X8),
149 
150         V4L2_MBUS_FROM_MEDIA_BUS_FMT(AHSV8888_1X32),
151 };
152 #endif /* __KERNEL__ */
153 
154 #endif
155 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php