History

Merge tag 'media/v4.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media

Pull media updates from Mauro Carvalho Chehab: - Documentation improvements: conversion of all non-DocBook documents to Sphinx and lots of fixes to the uAPI media book - New PCI driver for Techwell TW5864 media grabber boards - New SoC driver for ATMEL Image Sensor Controller - Removal of some obsolete SoC drivers (s5p-tv driver and soc_camera drivers) - Addition of ST CEC driver - Lots of drivers fixes, improvements and additions * tag 'media/v4.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (464 commits) [media] ttusb_dec: avoid the risk of go past buffer [media] cx23885: Fix some smatch warnings [media] si2165: switch to regmap [media] si2165: use i2c_client->dev instead of i2c_adapter->dev for logging [media] si2165: Remove legacy attach [media] cx231xx: attach si2165 driver via i2c_client [media] cx231xx: Prepare for attaching new style i2c_client DVB demod drivers [media] cx23885: attach si2165 driver via i2c_client [media] si2165: support i2c_client attach [media] si2165: avoid division by zero [media] rcar-vin: add R-Car gen2 fallback compatibility string [media] lgdt3306a: remove 20*50 msec unnecessary timeout [media] cx25821: Remove deprecated create_singlethread_workqueue [media] cx25821: Drop Freeing of Workqueue [media] cxd2841er: force 8MHz bandwidth for DVB-C if specified bw not supported [media] redrat3: hardware-specific parameters [media] redrat3: remove hw_timeout member [media] cxd2841er: BER and SNR reading for ISDB-T [media] dvb-usb: avoid link error with dib3000m{b,c| [media] dvb-usb: split out common parts of dibusb ...

Linus Torvalds committed 10 years ago

Commit de34f4d2 parents 56e520c 9fce0c2756 files · +40567 −49076Browse files

Showing the changes to include/uapi (5 of 756 files). Show all

Unified · Split

5 files
  1. include/uapi/linux/dvb/video.h +2 −1
  2. include/uapi/linux/media-bus-format.h +9 −1
  3. include/uapi/linux/media.h +1 −0
  4. include/uapi/linux/v4l2-dv-timings.h +12 −0
  5. include/uapi/linux/videodev2.h +30 −8
include/uapi/linux/dvb/video.h+2−1
@@ -206,7 +206,8 @@ typedef __u16 video_attributes_t; · 205 unmodified lines
206206 /* 6 line 21-2 data present in GOP (1=yes, 0=no) */
207207 /* 5- 3 source resolution (0=720x480/576, 1=704x480/576, 2=352x480/57 */
208208 /* 2 source letterboxed (1=yes, 0=no) */
209−/* 0 film/camera mode (0=camera, 1=film (625/50 only)) */
209+/* 0 film/camera mode (0=
210+ *camera, 1=film (625/50 only)) */
210211
211212
212213 /* bit definitions for capabilities: */
include/uapi/linux/media-bus-format.h+9−1
@@ -97,7 +97,7 @@ · 96 unmodified lines
9797 #define MEDIA_BUS_FMT_YUV10_1X30 0x2016
9898 #define MEDIA_BUS_FMT_AYUV8_1X32 0x2017
9999
100−/* Bayer - next is 0x3019 */
100+/* Bayer - next is 0x3021 */
101101 #define MEDIA_BUS_FMT_SBGGR8_1X8 0x3001
102102 #define MEDIA_BUS_FMT_SGBRG8_1X8 0x3013
103103 #define MEDIA_BUS_FMT_SGRBG8_1X8 0x3002
@@ -122,6 +122,14 @@ · 18 unmodified lines
122122 #define MEDIA_BUS_FMT_SGBRG12_1X12 0x3010
123123 #define MEDIA_BUS_FMT_SGRBG12_1X12 0x3011
124124 #define MEDIA_BUS_FMT_SRGGB12_1X12 0x3012
125+#define MEDIA_BUS_FMT_SBGGR14_1X14 0x3019
126+#define MEDIA_BUS_FMT_SGBRG14_1X14 0x301a
127+#define MEDIA_BUS_FMT_SGRBG14_1X14 0x301b
128+#define MEDIA_BUS_FMT_SRGGB14_1X14 0x301c
129+#define MEDIA_BUS_FMT_SBGGR16_1X16 0x301d
130+#define MEDIA_BUS_FMT_SGBRG16_1X16 0x301e
131+#define MEDIA_BUS_FMT_SGRBG16_1X16 0x301f
132+#define MEDIA_BUS_FMT_SRGGB16_1X16 0x3020
125133
126134 /* JPEG compressed formats - next is 0x4002 */
127135 #define MEDIA_BUS_FMT_JPEG_1X8 0x4001
include/uapi/linux/media.h+1−0
@@ -307,6 +307,7 @@ struct media_links_enum { · 306 unmodified lines
307307 #define MEDIA_INTF_T_V4L_RADIO (MEDIA_INTF_T_V4L_BASE + 2)
308308 #define MEDIA_INTF_T_V4L_SUBDEV (MEDIA_INTF_T_V4L_BASE + 3)
309309 #define MEDIA_INTF_T_V4L_SWRADIO (MEDIA_INTF_T_V4L_BASE + 4)
310+#define MEDIA_INTF_T_V4L_TOUCH (MEDIA_INTF_T_V4L_BASE + 5)
310311
311312 #define MEDIA_INTF_T_ALSA_PCM_CAPTURE (MEDIA_INTF_T_ALSA_BASE)
312313 #define MEDIA_INTF_T_ALSA_PCM_PLAYBACK (MEDIA_INTF_T_ALSA_BASE + 1)
include/uapi/linux/v4l2-dv-timings.h+12−0
@@ -934,4 +934,16 @@ · 933 unmodified lines
934934 V4L2_DV_FL_REDUCED_BLANKING) \
935935 }
936936
937+/* SDI timings definitions */
938+
939+/* SMPTE-125M */
940+#define V4L2_DV_BT_SDI_720X487I60 { \
941+ .type = V4L2_DV_BT_656_1120, \
942+ V4L2_INIT_BT_TIMINGS(720, 487, 1, \
943+ V4L2_DV_HSYNC_POS_POL, \
944+ 13500000, 16, 121, 0, 0, 19, 0, 0, 19, 0, \
945+ V4L2_DV_BT_STD_SDI, \
946+ V4L2_DV_FL_FIRST_FIELD_EXTRA_LINE) \
947+}
948+
937949 #endif
include/uapi/linux/videodev2.h+30−8
@@ -292,13 +292,11 @@ enum v4l2_ycbcr_encoding { · 291 unmodified lines
292292 * various colorspaces:
293293 *
294294 * V4L2_COLORSPACE_SMPTE170M, V4L2_COLORSPACE_470_SYSTEM_M,
295− * V4L2_COLORSPACE_470_SYSTEM_BG, V4L2_COLORSPACE_ADOBERGB and
296− * V4L2_COLORSPACE_JPEG: V4L2_YCBCR_ENC_601
295+ * V4L2_COLORSPACE_470_SYSTEM_BG, V4L2_COLORSPACE_SRGB,
296+ * V4L2_COLORSPACE_ADOBERGB and V4L2_COLORSPACE_JPEG: V4L2_YCBCR_ENC_601
297297 *
298298 * V4L2_COLORSPACE_REC709 and V4L2_COLORSPACE_DCI_P3: V4L2_YCBCR_ENC_709
299299 *
300− * V4L2_COLORSPACE_SRGB: V4L2_YCBCR_ENC_SYCC
301− *
302300 * V4L2_COLORSPACE_BT2020: V4L2_YCBCR_ENC_BT2020
303301 *
304302 * V4L2_COLORSPACE_SMPTE240M: V4L2_YCBCR_ENC_SMPTE240M
@@ -317,8 +315,14 @@ enum v4l2_ycbcr_encoding { · 12 unmodified lines
317315 /* Rec. 709/EN 61966-2-4 Extended Gamut -- HDTV */
318316 V4L2_YCBCR_ENC_XV709 = 4,
319317
320− /* sYCC (Y'CbCr encoding of sRGB) */
318+#ifndef __KERNEL__
319+ /*
320+ * sYCC (Y'CbCr encoding of sRGB), identical to ENC_601. It was added
321+ * originally due to a misunderstanding of the sYCC standard. It should
322+ * not be used, instead use V4L2_YCBCR_ENC_601.
323+ */
321324 V4L2_YCBCR_ENC_SYCC = 5,
325+#endif
322326
323327 /* BT.2020 Non-constant Luminance Y'CbCr */
324328 V4L2_YCBCR_ENC_BT2020 = 6,
@@ -345,8 +349,8 @@ enum v4l2_quantization { · 20 unmodified lines
345349 /*
346350 * The default for R'G'B' quantization is always full range, except
347351 * for the BT2020 colorspace. For Y'CbCr the quantization is always
348− * limited range, except for COLORSPACE_JPEG, SYCC, XV601 or XV709:
349− * those are full range.
352+ * limited range, except for COLORSPACE_JPEG, SRGB, ADOBERGB,
353+ * XV601 or XV709: those are full range.
350354 */
351355 V4L2_QUANTIZATION_DEFAULT = 0,
352356 V4L2_QUANTIZATION_FULL_RANGE = 1,
@@ -361,7 +365,8 @@ enum v4l2_quantization { · 8 unmodified lines
361365 #define V4L2_MAP_QUANTIZATION_DEFAULT(is_rgb, colsp, ycbcr_enc) \
362366 (((is_rgb) && (colsp) == V4L2_COLORSPACE_BT2020) ? V4L2_QUANTIZATION_LIM_RANGE : \
363367 (((is_rgb) || (ycbcr_enc) == V4L2_YCBCR_ENC_XV601 || \
364− (ycbcr_enc) == V4L2_YCBCR_ENC_XV709 || (colsp) == V4L2_COLORSPACE_JPEG) ? \
368+ (ycbcr_enc) == V4L2_YCBCR_ENC_XV709 || (colsp) == V4L2_COLORSPACE_JPEG) || \
369+ (colsp) == V4L2_COLORSPACE_ADOBERGB || (colsp) == V4L2_COLORSPACE_SRGB ? \
365370 V4L2_QUANTIZATION_FULL_RANGE : V4L2_QUANTIZATION_LIM_RANGE))
366371
367372 enum v4l2_priority {
@@ -440,6 +445,8 @@ struct v4l2_capability { · 72 unmodified lines
440445 #define V4L2_CAP_ASYNCIO 0x02000000 /* async I/O */
441446 #define V4L2_CAP_STREAMING 0x04000000 /* streaming I/O ioctls */
442447
448+#define V4L2_CAP_TOUCH 0x10000000 /* Is a touch device */
449+
443450 #define V4L2_CAP_DEVICE_CAPS 0x80000000 /* sets device capabilities field */
444451
445452 /*
@@ -635,6 +642,12 @@ struct v4l2_pix_format { · 189 unmodified lines
635642 #define V4L2_SDR_FMT_CS14LE v4l2_fourcc('C', 'S', '1', '4') /* complex s14le */
636643 #define V4L2_SDR_FMT_RU12LE v4l2_fourcc('R', 'U', '1', '2') /* real u12le */
637644
645+/* Touch formats - used for Touch devices */
646+#define V4L2_TCH_FMT_DELTA_TD16 v4l2_fourcc('T', 'D', '1', '6') /* 16-bit signed deltas */
647+#define V4L2_TCH_FMT_DELTA_TD08 v4l2_fourcc('T', 'D', '0', '8') /* 8-bit signed deltas */
648+#define V4L2_TCH_FMT_TU16 v4l2_fourcc('T', 'U', '1', '6') /* 16-bit unsigned touch data */
649+#define V4L2_TCH_FMT_TU08 v4l2_fourcc('T', 'U', '0', '8') /* 8-bit unsigned touch data */
650+
638651 /* priv field value to indicates that subsequent fields are valid. */
639652 #define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe
640653
@@ -1261,6 +1274,7 @@ struct v4l2_bt_timings { · 620 unmodified lines
12611274 #define V4L2_DV_BT_STD_DMT (1 << 1) /* VESA Discrete Monitor Timings */
12621275 #define V4L2_DV_BT_STD_CVT (1 << 2) /* VESA Coordinated Video Timings */
12631276 #define V4L2_DV_BT_STD_GTF (1 << 3) /* VESA Generalized Timings Formula */
1277+#define V4L2_DV_BT_STD_SDI (1 << 4) /* SDI Timings */
12641278
12651279 /* Flags */
12661280
@@ -1292,6 +1306,11 @@ struct v4l2_bt_timings { · 25 unmodified lines
12921306 * use the range 16-235) as opposed to 0-255. All formats defined in CEA-861
12931307 * except for the 640x480 format are CE formats. */
12941308 #define V4L2_DV_FL_IS_CE_VIDEO (1 << 4)
1309+/* Some formats like SMPTE-125M have an interlaced signal with a odd
1310+ * total height. For these formats, if this flag is set, the first
1311+ * field has the extra line. If not, it is the second field.
1312+ */
1313+#define V4L2_DV_FL_FIRST_FIELD_EXTRA_LINE (1 << 5)
12951314
12961315 /* A few useful defines to calculate the total blanking and frame sizes */
12971316 #define V4L2_DV_BT_BLANKING_WIDTH(bt) \
@@ -1401,6 +1420,7 @@ struct v4l2_input { · 103 unmodified lines
14011420 /* Values for the 'type' field */
14021421 #define V4L2_INPUT_TYPE_TUNER 1
14031422 #define V4L2_INPUT_TYPE_CAMERA 2
1423+#define V4L2_INPUT_TYPE_TOUCH 3
14041424
14051425 /* field 'status' - general */
14061426 #define V4L2_IN_ST_NO_POWER 0x00000001 /* Attached device is off */
@@ -1415,6 +1435,8 @@ struct v4l2_input { · 8 unmodified lines
14151435 /* field 'status' - analog */
14161436 #define V4L2_IN_ST_NO_H_LOCK 0x00000100 /* No horizontal sync lock */
14171437 #define V4L2_IN_ST_COLOR_KILL 0x00000200 /* Color killer is active */
1438+#define V4L2_IN_ST_NO_V_LOCK 0x00000400 /* No vertical sync lock */
1439+#define V4L2_IN_ST_NO_STD_LOCK 0x00000800 /* No standard format lock */
14181440
14191441 /* field 'status' - digital */
14201442 #define V4L2_IN_ST_NO_SYNC 0x00010000 /* No synchronization lock */