diff options
| author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2014-12-12 00:14:47 +0200 | 
|---|---|---|
| committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2014-12-15 22:10:24 +0200 | 
| commit | 4b9b925239d005d96cbbc262f2e637b2d60ce143 (patch) | |
| tree | 30374edaf37637b8a57ef06c7ad24d74e5620571 /include | |
| parent | 8f6921584eed1b12b9b05f4bb8535a2cf194402d (diff) | |
Update headers from upstream kernel
Upstream commit 71947828caef0c83d4245f7d1eaddc799b4ff1d1
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/v4l2-common.h | 2 | ||||
| -rw-r--r-- | include/linux/v4l2-controls.h | 6 | ||||
| -rw-r--r-- | include/linux/videodev2.h | 109 | 
3 files changed, 107 insertions, 10 deletions
| diff --git a/include/linux/v4l2-common.h b/include/linux/v4l2-common.h index 2f6f8ca..1527398 100644 --- a/include/linux/v4l2-common.h +++ b/include/linux/v4l2-common.h @@ -43,6 +43,8 @@  #define V4L2_SEL_TGT_CROP_DEFAULT	0x0001  /* Cropping bounds */  #define V4L2_SEL_TGT_CROP_BOUNDS	0x0002 +/* Native frame size */ +#define V4L2_SEL_TGT_NATIVE_SIZE	0x0003  /* Current composing area */  #define V4L2_SEL_TGT_COMPOSE		0x0100  /* Default composing area */ diff --git a/include/linux/v4l2-controls.h b/include/linux/v4l2-controls.h index e946e43..661f119 100644 --- a/include/linux/v4l2-controls.h +++ b/include/linux/v4l2-controls.h @@ -746,6 +746,8 @@ enum v4l2_auto_focus_range {  	V4L2_AUTO_FOCUS_RANGE_INFINITY		= 3,  }; +#define V4L2_CID_PAN_SPEED			(V4L2_CID_CAMERA_CLASS_BASE+32) +#define V4L2_CID_TILT_SPEED			(V4L2_CID_CAMERA_CLASS_BASE+33)  /* FM Modulator class control IDs */ @@ -865,6 +867,10 @@ enum v4l2_jpeg_chroma_subsampling {  #define V4L2_CID_VBLANK				(V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 1)  #define V4L2_CID_HBLANK				(V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 2)  #define V4L2_CID_ANALOGUE_GAIN			(V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 3) +#define V4L2_CID_TEST_PATTERN_RED		(V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 4) +#define V4L2_CID_TEST_PATTERN_GREENR		(V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 5) +#define V4L2_CID_TEST_PATTERN_BLUE		(V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 6) +#define V4L2_CID_TEST_PATTERN_GREENB		(V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 7)  /* Image processing controls */ diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index 87b83c3..35ee66a 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h @@ -77,6 +77,7 @@  /*  Four-character-code (FOURCC) */  #define v4l2_fourcc(a, b, c, d)\  	((__u32)(a) | ((__u32)(b) << 8) | ((__u32)(c) << 16) | ((__u32)(d) << 24)) +#define v4l2_fourcc_be(a, b, c, d)	(v4l2_fourcc(a, b, c, d) | (1 << 31))  /*   *	E N U M S @@ -175,30 +176,103 @@ enum v4l2_memory {  /* see also http://vektor.theorem.ca/graphics/ycbcr/ */  enum v4l2_colorspace { -	/* ITU-R 601 -- broadcast NTSC/PAL */ +	/* SMPTE 170M: used for broadcast NTSC/PAL SDTV */  	V4L2_COLORSPACE_SMPTE170M     = 1, -	/* 1125-Line (US) HDTV */ +	/* Obsolete pre-1998 SMPTE 240M HDTV standard, superseded by Rec 709 */  	V4L2_COLORSPACE_SMPTE240M     = 2, -	/* HD and modern captures. */ +	/* Rec.709: used for HDTV */  	V4L2_COLORSPACE_REC709        = 3, -	/* broken BT878 extents (601, luma range 16-253 instead of 16-235) */ +	/* +	 * Deprecated, do not use. No driver will ever return this. This was +	 * based on a misunderstanding of the bt878 datasheet. +	 */  	V4L2_COLORSPACE_BT878         = 4, -	/* These should be useful.  Assume 601 extents. */ +	/* +	 * NTSC 1953 colorspace. This only makes sense when dealing with +	 * really, really old NTSC recordings. Superseded by SMPTE 170M. +	 */  	V4L2_COLORSPACE_470_SYSTEM_M  = 5, + +	/* +	 * EBU Tech 3213 PAL/SECAM colorspace. This only makes sense when +	 * dealing with really old PAL/SECAM recordings. Superseded by +	 * SMPTE 170M. +	 */  	V4L2_COLORSPACE_470_SYSTEM_BG = 6, -	/* I know there will be cameras that send this.  So, this is -	 * unspecified chromaticities and full 0-255 on each of the -	 * Y'CbCr components +	/* +	 * Effectively shorthand for V4L2_COLORSPACE_SRGB, V4L2_YCBCR_ENC_601 +	 * and V4L2_QUANTIZATION_FULL_RANGE. To be used for (Motion-)JPEG.  	 */  	V4L2_COLORSPACE_JPEG          = 7, -	/* For RGB colourspaces, this is probably a good start. */ +	/* For RGB colorspaces such as produces by most webcams. */  	V4L2_COLORSPACE_SRGB          = 8, + +	/* AdobeRGB colorspace */ +	V4L2_COLORSPACE_ADOBERGB      = 9, + +	/* BT.2020 colorspace, used for UHDTV. */ +	V4L2_COLORSPACE_BT2020        = 10, +}; + +enum v4l2_ycbcr_encoding { +	/* +	 * Mapping of V4L2_YCBCR_ENC_DEFAULT to actual encodings for the +	 * various colorspaces: +	 * +	 * V4L2_COLORSPACE_SMPTE170M, V4L2_COLORSPACE_470_SYSTEM_M, +	 * V4L2_COLORSPACE_470_SYSTEM_BG, V4L2_COLORSPACE_ADOBERGB and +	 * V4L2_COLORSPACE_JPEG: V4L2_YCBCR_ENC_601 +	 * +	 * V4L2_COLORSPACE_REC709: V4L2_YCBCR_ENC_709 +	 * +	 * V4L2_COLORSPACE_SRGB: V4L2_YCBCR_ENC_SYCC +	 * +	 * V4L2_COLORSPACE_BT2020: V4L2_YCBCR_ENC_BT2020 +	 * +	 * V4L2_COLORSPACE_SMPTE240M: V4L2_YCBCR_ENC_SMPTE240M +	 */ +	V4L2_YCBCR_ENC_DEFAULT        = 0, + +	/* ITU-R 601 -- SDTV */ +	V4L2_YCBCR_ENC_601            = 1, + +	/* Rec. 709 -- HDTV */ +	V4L2_YCBCR_ENC_709            = 2, + +	/* ITU-R 601/EN 61966-2-4 Extended Gamut -- SDTV */ +	V4L2_YCBCR_ENC_XV601          = 3, + +	/* Rec. 709/EN 61966-2-4 Extended Gamut -- HDTV */ +	V4L2_YCBCR_ENC_XV709          = 4, + +	/* sYCC (Y'CbCr encoding of sRGB) */ +	V4L2_YCBCR_ENC_SYCC           = 5, + +	/* BT.2020 Non-constant Luminance Y'CbCr */ +	V4L2_YCBCR_ENC_BT2020         = 6, + +	/* BT.2020 Constant Luminance Y'CbcCrc */ +	V4L2_YCBCR_ENC_BT2020_CONST_LUM = 7, + +	/* SMPTE 240M -- Obsolete HDTV */ +	V4L2_YCBCR_ENC_SMPTE240M      = 8, +}; + +enum v4l2_quantization { +	/* +	 * The default for R'G'B' quantization is always full range. For +	 * Y'CbCr the quantization is always limited range, except for +	 * SYCC, XV601, XV709 or JPEG: those are full range. +	 */ +	V4L2_QUANTIZATION_DEFAULT     = 0, +	V4L2_QUANTIZATION_FULL_RANGE  = 1, +	V4L2_QUANTIZATION_LIM_RANGE   = 2,  };  enum v4l2_priority { @@ -291,6 +365,8 @@ struct v4l2_pix_format {  	__u32			colorspace;	/* enum v4l2_colorspace */  	__u32			priv;		/* private data, depends on pixelformat */  	__u32			flags;		/* format flags (V4L2_PIX_FMT_FLAG_*) */ +	__u32			ycbcr_enc;	/* enum v4l2_ycbcr_encoding */ +	__u32			quantization;	/* enum v4l2_quantization */  };  /*      Pixel format         FOURCC                          depth  Description  */ @@ -305,6 +381,8 @@ struct v4l2_pix_format {  #define V4L2_PIX_FMT_XRGB555 v4l2_fourcc('X', 'R', '1', '5') /* 16  XRGB-1-5-5-5  */  #define V4L2_PIX_FMT_RGB565  v4l2_fourcc('R', 'G', 'B', 'P') /* 16  RGB-5-6-5     */  #define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R', 'G', 'B', 'Q') /* 16  RGB-5-5-5 BE  */ +#define V4L2_PIX_FMT_ARGB555X v4l2_fourcc_be('A', 'R', '1', '5') /* 16  ARGB-5-5-5 BE */ +#define V4L2_PIX_FMT_XRGB555X v4l2_fourcc_be('X', 'R', '1', '5') /* 16  XRGB-5-5-5 BE */  #define V4L2_PIX_FMT_RGB565X v4l2_fourcc('R', 'G', 'B', 'R') /* 16  RGB-5-6-5 BE  */  #define V4L2_PIX_FMT_BGR666  v4l2_fourcc('B', 'G', 'R', 'H') /* 18  BGR-6-6-6	  */  #define V4L2_PIX_FMT_BGR24   v4l2_fourcc('B', 'G', 'R', '3') /* 24  BGR-8-8-8     */ @@ -397,6 +475,11 @@ struct v4l2_pix_format {  #define V4L2_PIX_FMT_SGBRG10DPCM8 v4l2_fourcc('b', 'G', 'A', '8')  #define V4L2_PIX_FMT_SGRBG10DPCM8 v4l2_fourcc('B', 'D', '1', '0')  #define V4L2_PIX_FMT_SRGGB10DPCM8 v4l2_fourcc('b', 'R', 'A', '8') +	/* 10bit raw bayer packed, 5 bytes for every 4 pixels */ +#define V4L2_PIX_FMT_SBGGR10P v4l2_fourcc('p', 'B', 'A', 'A') +#define V4L2_PIX_FMT_SGBRG10P v4l2_fourcc('p', 'G', 'A', 'A') +#define V4L2_PIX_FMT_SGRBG10P v4l2_fourcc('p', 'g', 'A', 'A') +#define V4L2_PIX_FMT_SRGGB10P v4l2_fourcc('p', 'R', 'A', 'A')  	/*  	 * 10bit raw bayer, expanded to 16 bits  	 * xxxxrrrrrrrrrrxxxxgggggggggg xxxxggggggggggxxxxbbbbbbbbbb... @@ -1244,6 +1327,7 @@ struct v4l2_input {  #define V4L2_IN_CAP_DV_TIMINGS		0x00000002 /* Supports S_DV_TIMINGS */  #define V4L2_IN_CAP_CUSTOM_TIMINGS	V4L2_IN_CAP_DV_TIMINGS /* For compatibility */  #define V4L2_IN_CAP_STD			0x00000004 /* Supports S_STD */ +#define V4L2_IN_CAP_NATIVE_SIZE		0x00000008 /* Supports setting native size */  /*   *	V I D E O   O U T P U T S @@ -1267,6 +1351,7 @@ struct v4l2_output {  #define V4L2_OUT_CAP_DV_TIMINGS		0x00000002 /* Supports S_DV_TIMINGS */  #define V4L2_OUT_CAP_CUSTOM_TIMINGS	V4L2_OUT_CAP_DV_TIMINGS /* For compatibility */  #define V4L2_OUT_CAP_STD		0x00000004 /* Supports S_STD */ +#define V4L2_OUT_CAP_NATIVE_SIZE	0x00000008 /* Supports setting native size */  /*   *	C O N T R O L S @@ -1772,6 +1857,8 @@ struct v4l2_plane_pix_format {   * @plane_fmt:		per-plane information   * @num_planes:		number of planes for this format   * @flags:		format flags (V4L2_PIX_FMT_FLAG_*) + * @ycbcr_enc:		enum v4l2_ycbcr_encoding, Y'CbCr encoding + * @quantization:	enum v4l2_quantization, colorspace quantization   */  struct v4l2_pix_format_mplane {  	__u32				width; @@ -1783,7 +1870,9 @@ struct v4l2_pix_format_mplane {  	struct v4l2_plane_pix_format	plane_fmt[VIDEO_MAX_PLANES];  	__u8				num_planes;  	__u8				flags; -	__u8				reserved[10]; +	__u8				ycbcr_enc; +	__u8				quantization; +	__u8				reserved[8];  } __attribute__ ((packed));  /** | 
