brintos

brintos / linux-shallow public Read only

0
0
Text · 5.3 KiB · 946520b Raw
155 lines · c
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */2/*3 * Media Bus API header4 *5 * Copyright (C) 2009, Guennadi Liakhovetski <g.liakhovetski@gmx.de>6 */7 8#ifndef __LINUX_V4L2_MEDIABUS_H9#define __LINUX_V4L2_MEDIABUS_H10 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	0x000116 17/**18 * struct v4l2_mbus_framefmt - frame format on the media bus19 * @width:	image width20 * @height:	image height21 * @code:	data format code (from enum v4l2_mbus_pixelcode)22 * @field:	used interlacing type (from enum v4l2_field), zero for metadata23 *		mbus codes24 * @colorspace:	colorspace of the data (from enum v4l2_colorspace), zero on25 *		metadata mbus codes26 * @ycbcr_enc:	YCbCr encoding of the data (from enum v4l2_ycbcr_encoding), zero27 *		for metadata mbus codes28 * @hsv_enc:	HSV encoding of the data (from enum v4l2_hsv_encoding), zero for29 *		metadata mbus codes30 * @quantization: quantization of the data (from enum v4l2_quantization), zero31 *		for metadata mbus codes32 * @xfer_func:  transfer function of the data (from enum v4l2_xfer_func), zero33 *		for metadata mbus codes34 * @flags:	flags (V4L2_MBUS_FRAMEFMT_*)35 * @reserved:  reserved bytes that can be later used36 */37struct 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, and58 * MEDIA_BUS_FMT_ definitions (defined in media-bus-format.h) should be59 * used instead.60 *61 * New defines should only be added to media-bus-format.h. The62 * 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_ ## name67 68enum 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#endif155