History

Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media

Pull media updates from Mauro Carvalho Chehab: "The main set of series of patches for media subsystem, including: - document RC sysfs class - added an API to setup scancode to allow waking up systems using the Remote Controller - add API for SDR devices. Drivers are still on staging - some API improvements for getting EDID data from media inputs/outputs - new DVB frontend driver for drx-j (ATSC) - one driver (it913x/it9137) got removed, in favor of an improvement on another driver (af9035) - added a skeleton V4L2 PCI driver at documentation - added a dual flash driver (lm3646) - added a new IR driver (img-ir) - added an IR scancode decoder for the Sharp protocol - some improvements at the usbtv driver, to allow its core to be reused. - added a new SDR driver (rtl2832u_sdr) - added a new tuner driver (msi001) - several improvements at em28xx driver to fix PM support, device removal and to split the V4L2 specific bits into a separate sub-driver - one driver got converted to videobuf2 (s2255drv) - the e4000 tuner driver now follows an improved binding model - some fixes at V4L2 compat32 code - several fixes and enhancements at videobuf2 code - some cleanups at V4L2 API documentation - usual driver enhancements, new board additions and misc fixups" [ NOTE! This merge effective drops commit 4329b93b283c ("of: Reduce indentation in of_graph_get_next_endpoint"). The of_graph_get_next_endpoint() function was moved and renamed by commit fd9fdb78a9bf ("[media] of: move graph helpers from drivers/media/v4l2-core to drivers/of"). It was originally called v4l2_of_get_next_endpoint() and lived in the file drivers/media/v4l2-core/v4l2-of.c. In that original location, it was then fixed to support empty port nodes by commit b9db140c1e46 ("[media] v4l: of: Support empty port nodes"), and that commit clashes badly with the dropped "Reduce intendation" commit. I had to choose one or the other, and decided that the "Support empty port nodes" commit was more important ] * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (426 commits) [media] em28xx-dvb: fix PCTV 461e tuner I2C binding Revert "[media] em28xx-dvb: fix PCTV 461e tuner I2C binding" [media] em28xx: fix PCTV 290e LNA oops [media] em28xx-dvb: fix PCTV 461e tuner I2C binding [media] m88ds3103: fix bug on .set_tone() [media] saa7134: fix WARN_ON during resume [media] v4l2-dv-timings: add module name, description, license [media] videodev2.h: add parenthesis around macro arguments [media] saa6752hs: depends on CRC32 [media] si4713: fix Kconfig dependencies [media] Sensoray 2255 uses videobuf2 [media] adv7180: free an interrupt on failure paths in init_device() [media] e4000: make VIDEO_V4L2 dependency optional [media] af9033: Don't export functions for the hardware filter [media] af9035: use af9033 PID filters [media] af9033: implement PID filter [media] rtl2832_sdr: do not use dynamic stack allocation [media] e4000: fix 32-bit build error [media] em28xx-audio: make sure audio is unmuted on open() [media] DocBook media: v4l2_format_sdr was renamed to v4l2_sdr_format ...

Linus Torvalds committed 12 years ago

Commit 3c83e612 parents 4a4389a a83b93a384 files · +44014 −7923Browse files

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

Unified · Split

5 files
  1. include/uapi/linux/v4l2-common.h +8 −0
  2. include/uapi/linux/v4l2-controls.h +19 −0
  3. include/uapi/linux/v4l2-dv-timings.h +17 −0
  4. include/uapi/linux/v4l2-subdev.h +5 −9
  5. include/uapi/linux/videodev2.h +54 −20
include/uapi/linux/v4l2-common.h+8−0
@@ -68,4 +68,12 @@ · 67 unmodified lines
68#define V4L2_SUBDEV_SEL_FLAG_SIZE_LE V4L2_SEL_FLAG_LE68#define V4L2_SUBDEV_SEL_FLAG_SIZE_LE V4L2_SEL_FLAG_LE
69#define V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG V4L2_SEL_FLAG_KEEP_CONFIG69#define V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG V4L2_SEL_FLAG_KEEP_CONFIG
70 70
71struct v4l2_edid {
72 __u32 pad;
73 __u32 start_block;
74 __u32 blocks;
75 __u32 reserved[5];
76 __u8 __user *edid;
77};
78
71#endif /* __V4L2_COMMON__ */79#endif /* __V4L2_COMMON__ */
include/uapi/linux/v4l2-controls.h+19−0
@@ -60,6 +60,7 @@ · 59 unmodified lines
60#define V4L2_CTRL_CLASS_IMAGE_PROC 0x009f0000 /* Image processing controls */60#define V4L2_CTRL_CLASS_IMAGE_PROC 0x009f0000 /* Image processing controls */
61#define V4L2_CTRL_CLASS_DV 0x00a00000 /* Digital Video controls */61#define V4L2_CTRL_CLASS_DV 0x00a00000 /* Digital Video controls */
62#define V4L2_CTRL_CLASS_FM_RX 0x00a10000 /* FM Receiver controls */62#define V4L2_CTRL_CLASS_FM_RX 0x00a10000 /* FM Receiver controls */
63#define V4L2_CTRL_CLASS_RF_TUNER 0x00a20000 /* RF tuner controls */
63 64
64/* User-class control IDs */65/* User-class control IDs */
65 66
@@ -376,6 +377,8 @@ enum v4l2_mpeg_video_multi_slice_mode { · 310 unmodified lines
376#define V4L2_CID_MPEG_VIDEO_DEC_FRAME (V4L2_CID_MPEG_BASE+224)377#define V4L2_CID_MPEG_VIDEO_DEC_FRAME (V4L2_CID_MPEG_BASE+224)
377#define V4L2_CID_MPEG_VIDEO_VBV_DELAY (V4L2_CID_MPEG_BASE+225)378#define V4L2_CID_MPEG_VIDEO_VBV_DELAY (V4L2_CID_MPEG_BASE+225)
378#define V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (V4L2_CID_MPEG_BASE+226)379#define V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (V4L2_CID_MPEG_BASE+226)
380#define V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE (V4L2_CID_MPEG_BASE+227)
381#define V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (V4L2_CID_MPEG_BASE+228)
379 382
380#define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300)383#define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300)
381#define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301)384#define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301)
@@ -812,6 +815,9 @@ enum v4l2_flash_strobe_source { · 430 unmodified lines
812#define V4L2_FLASH_FAULT_SHORT_CIRCUIT (1 << 3)815#define V4L2_FLASH_FAULT_SHORT_CIRCUIT (1 << 3)
813#define V4L2_FLASH_FAULT_OVER_CURRENT (1 << 4)816#define V4L2_FLASH_FAULT_OVER_CURRENT (1 << 4)
814#define V4L2_FLASH_FAULT_INDICATOR (1 << 5)817#define V4L2_FLASH_FAULT_INDICATOR (1 << 5)
818#define V4L2_FLASH_FAULT_UNDER_VOLTAGE (1 << 6)
819#define V4L2_FLASH_FAULT_INPUT_VOLTAGE (1 << 7)
820#define V4L2_FLASH_FAULT_LED_OVER_TEMPERATURE (1 << 8)
815 821
816#define V4L2_CID_FLASH_CHARGE (V4L2_CID_FLASH_CLASS_BASE + 11)822#define V4L2_CID_FLASH_CHARGE (V4L2_CID_FLASH_CLASS_BASE + 11)
817#define V4L2_CID_FLASH_READY (V4L2_CID_FLASH_CLASS_BASE + 12)823#define V4L2_CID_FLASH_READY (V4L2_CID_FLASH_CLASS_BASE + 12)
@@ -895,4 +901,17 @@ enum v4l2_deemphasis { · 77 unmodified lines
895 901
896#define V4L2_CID_RDS_RECEPTION (V4L2_CID_FM_RX_CLASS_BASE + 2)902#define V4L2_CID_RDS_RECEPTION (V4L2_CID_FM_RX_CLASS_BASE + 2)
897 903
904#define V4L2_CID_RF_TUNER_CLASS_BASE (V4L2_CTRL_CLASS_RF_TUNER | 0x900)
905#define V4L2_CID_RF_TUNER_CLASS (V4L2_CTRL_CLASS_RF_TUNER | 1)
906
907#define V4L2_CID_RF_TUNER_BANDWIDTH_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 11)
908#define V4L2_CID_RF_TUNER_BANDWIDTH (V4L2_CID_RF_TUNER_CLASS_BASE + 12)
909#define V4L2_CID_RF_TUNER_LNA_GAIN_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 41)
910#define V4L2_CID_RF_TUNER_LNA_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 42)
911#define V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 51)
912#define V4L2_CID_RF_TUNER_MIXER_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 52)
913#define V4L2_CID_RF_TUNER_IF_GAIN_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 61)
914#define V4L2_CID_RF_TUNER_IF_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 62)
915#define V4L2_CID_RF_TUNER_PLL_LOCK (V4L2_CID_RF_TUNER_CLASS_BASE + 91)
916
898#endif917#endif
include/uapi/linux/v4l2-dv-timings.h+17−0
@@ -823,4 +823,21 @@ · 822 unmodified lines
823 V4L2_DV_FL_REDUCED_BLANKING) \823 V4L2_DV_FL_REDUCED_BLANKING) \
824}824}
825 825
826/* 4K resolutions */
827#define V4L2_DV_BT_DMT_4096X2160P60_RB { \
828 .type = V4L2_DV_BT_656_1120, \
829 V4L2_INIT_BT_TIMINGS(4096, 2160, 0, V4L2_DV_HSYNC_POS_POL, \
830 556744000, 8, 32, 40, 48, 8, 6, 0, 0, 0, \
831 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
832 V4L2_DV_FL_REDUCED_BLANKING) \
833}
834
835#define V4L2_DV_BT_DMT_4096X2160P59_94_RB { \
836 .type = V4L2_DV_BT_656_1120, \
837 V4L2_INIT_BT_TIMINGS(4096, 2160, 0, V4L2_DV_HSYNC_POS_POL, \
838 556188000, 8, 32, 40, 48, 8, 6, 0, 0, 0, \
839 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
840 V4L2_DV_FL_REDUCED_BLANKING) \
841}
842
826#endif843#endif
include/uapi/linux/v4l2-subdev.h+5−9
@@ -148,13 +148,8 @@ struct v4l2_subdev_selection { · 147 unmodified lines
148 __u32 reserved[8];148 __u32 reserved[8];
149};149};
150 150
151struct v4l2_subdev_edid {151/* Backwards compatibility define --- to be removed */
152 __u32 pad;152#define v4l2_subdev_edid v4l2_edid
153 __u32 start_block;
154 __u32 blocks;
155 __u32 reserved[5];
156 __u8 __user *edid;
157};
158 153
159#define VIDIOC_SUBDEV_G_FMT _IOWR('V', 4, struct v4l2_subdev_format)154#define VIDIOC_SUBDEV_G_FMT _IOWR('V', 4, struct v4l2_subdev_format)
160#define VIDIOC_SUBDEV_S_FMT _IOWR('V', 5, struct v4l2_subdev_format)155#define VIDIOC_SUBDEV_S_FMT _IOWR('V', 5, struct v4l2_subdev_format)
@@ -174,7 +169,8 @@ struct v4l2_subdev_edid { · 13 unmodified lines
174 _IOWR('V', 61, struct v4l2_subdev_selection)169 _IOWR('V', 61, struct v4l2_subdev_selection)
175#define VIDIOC_SUBDEV_S_SELECTION \170#define VIDIOC_SUBDEV_S_SELECTION \
176 _IOWR('V', 62, struct v4l2_subdev_selection)171 _IOWR('V', 62, struct v4l2_subdev_selection)
177#define VIDIOC_SUBDEV_G_EDID _IOWR('V', 40, struct v4l2_subdev_edid)172/* These two G/S_EDID ioctls are identical to the ioctls in videodev2.h */
178#define VIDIOC_SUBDEV_S_EDID _IOWR('V', 41, struct v4l2_subdev_edid)173#define VIDIOC_SUBDEV_G_EDID _IOWR('V', 40, struct v4l2_edid)
174#define VIDIOC_SUBDEV_S_EDID _IOWR('V', 41, struct v4l2_edid)
179 175
180#endif176#endif
include/uapi/linux/videodev2.h+54−20
@@ -139,6 +139,7 @@ enum v4l2_buf_type { · 138 unmodified lines
139#endif139#endif
140 V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE = 9,140 V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE = 9,
141 V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE = 10,141 V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE = 10,
142 V4L2_BUF_TYPE_SDR_CAPTURE = 11,
142 /* Deprecated, do not use */143 /* Deprecated, do not use */
143 V4L2_BUF_TYPE_PRIVATE = 0x80,144 V4L2_BUF_TYPE_PRIVATE = 0x80,
144};145};
@@ -159,6 +160,8 @@ enum v4l2_tuner_type { · 14 unmodified lines
159 V4L2_TUNER_RADIO = 1,160 V4L2_TUNER_RADIO = 1,
160 V4L2_TUNER_ANALOG_TV = 2,161 V4L2_TUNER_ANALOG_TV = 2,
161 V4L2_TUNER_DIGITAL_TV = 3,162 V4L2_TUNER_DIGITAL_TV = 3,
163 V4L2_TUNER_ADC = 4,
164 V4L2_TUNER_RF = 5,
162};165};
163 166
164enum v4l2_memory {167enum v4l2_memory {
@@ -264,6 +267,8 @@ struct v4l2_capability { · 99 unmodified lines
264#define V4L2_CAP_RADIO 0x00040000 /* is a radio device */267#define V4L2_CAP_RADIO 0x00040000 /* is a radio device */
265#define V4L2_CAP_MODULATOR 0x00080000 /* has a modulator */268#define V4L2_CAP_MODULATOR 0x00080000 /* has a modulator */
266 269
270#define V4L2_CAP_SDR_CAPTURE 0x00100000 /* Is a SDR capture device */
271
267#define V4L2_CAP_READWRITE 0x01000000 /* read/write systemcalls */272#define V4L2_CAP_READWRITE 0x01000000 /* read/write systemcalls */
268#define V4L2_CAP_ASYNCIO 0x02000000 /* async I/O */273#define V4L2_CAP_ASYNCIO 0x02000000 /* async I/O */
269#define V4L2_CAP_STREAMING 0x04000000 /* streaming I/O ioctls */274#define V4L2_CAP_STREAMING 0x04000000 /* streaming I/O ioctls */
@@ -431,6 +436,10 @@ struct v4l2_pix_format { · 161 unmodified lines
431#define V4L2_PIX_FMT_SE401 v4l2_fourcc('S', '4', '0', '1') /* se401 janggu compressed rgb */436#define V4L2_PIX_FMT_SE401 v4l2_fourcc('S', '4', '0', '1') /* se401 janggu compressed rgb */
432#define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I') /* S5C73M3 interleaved UYVY/JPEG */437#define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I') /* S5C73M3 interleaved UYVY/JPEG */
433 438
439/* SDR formats - used only for Software Defined Radio devices */
440#define V4L2_SDR_FMT_CU8 v4l2_fourcc('C', 'U', '0', '8') /* IQ u8 */
441#define V4L2_SDR_FMT_CU16LE v4l2_fourcc('C', 'U', '1', '6') /* IQ u16le */
442
434/*443/*
435 * F O R M A T E N U M E R A T I O N444 * F O R M A T E N U M E R A T I O N
436 */445 */
@@ -669,24 +678,36 @@ struct v4l2_buffer { · 232 unmodified lines
669};678};
670 679
671/* Flags for 'flags' field */680/* Flags for 'flags' field */
672#define V4L2_BUF_FLAG_MAPPED 0x0001 /* Buffer is mapped (flag) */681/* Buffer is mapped (flag) */
673#define V4L2_BUF_FLAG_QUEUED 0x0002 /* Buffer is queued for processing */682#define V4L2_BUF_FLAG_MAPPED 0x00000001
674#define V4L2_BUF_FLAG_DONE 0x0004 /* Buffer is ready */683/* Buffer is queued for processing */
675#define V4L2_BUF_FLAG_KEYFRAME 0x0008 /* Image is a keyframe (I-frame) */684#define V4L2_BUF_FLAG_QUEUED 0x00000002
676#define V4L2_BUF_FLAG_PFRAME 0x0010 /* Image is a P-frame */685/* Buffer is ready */
677#define V4L2_BUF_FLAG_BFRAME 0x0020 /* Image is a B-frame */686#define V4L2_BUF_FLAG_DONE 0x00000004
687/* Image is a keyframe (I-frame) */
688#define V4L2_BUF_FLAG_KEYFRAME 0x00000008
689/* Image is a P-frame */
690#define V4L2_BUF_FLAG_PFRAME 0x00000010
691/* Image is a B-frame */
692#define V4L2_BUF_FLAG_BFRAME 0x00000020
678/* Buffer is ready, but the data contained within is corrupted. */693/* Buffer is ready, but the data contained within is corrupted. */
679#define V4L2_BUF_FLAG_ERROR 0x0040694#define V4L2_BUF_FLAG_ERROR 0x00000040
680#define V4L2_BUF_FLAG_TIMECODE 0x0100 /* timecode field is valid */695/* timecode field is valid */
681#define V4L2_BUF_FLAG_PREPARED 0x0400 /* Buffer is prepared for queuing */696#define V4L2_BUF_FLAG_TIMECODE 0x00000100
697/* Buffer is prepared for queuing */
698#define V4L2_BUF_FLAG_PREPARED 0x00000400
682/* Cache handling flags */699/* Cache handling flags */
683#define V4L2_BUF_FLAG_NO_CACHE_INVALIDATE 0x0800700#define V4L2_BUF_FLAG_NO_CACHE_INVALIDATE 0x00000800
684#define V4L2_BUF_FLAG_NO_CACHE_CLEAN 0x1000701#define V4L2_BUF_FLAG_NO_CACHE_CLEAN 0x00001000
685/* Timestamp type */702/* Timestamp type */
686#define V4L2_BUF_FLAG_TIMESTAMP_MASK 0xe000703#define V4L2_BUF_FLAG_TIMESTAMP_MASK 0x0000e000
687#define V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN 0x0000704#define V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN 0x00000000
688#define V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC 0x2000705#define V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC 0x00002000
689#define V4L2_BUF_FLAG_TIMESTAMP_COPY 0x4000706#define V4L2_BUF_FLAG_TIMESTAMP_COPY 0x00004000
707/* Timestamp sources. */
708#define V4L2_BUF_FLAG_TSTAMP_SRC_MASK 0x00070000
709#define V4L2_BUF_FLAG_TSTAMP_SRC_EOF 0x00000000
710#define V4L2_BUF_FLAG_TSTAMP_SRC_SOE 0x00010000
690 711
691/**712/**
692 * struct v4l2_exportbuffer - export of video buffer as DMABUF file descriptor713 * struct v4l2_exportbuffer - export of video buffer as DMABUF file descriptor
@@ -1059,14 +1080,14 @@ struct v4l2_bt_timings { · 366 unmodified lines
1059 1080
1060/* A few useful defines to calculate the total blanking and frame sizes */1081/* A few useful defines to calculate the total blanking and frame sizes */
1061#define V4L2_DV_BT_BLANKING_WIDTH(bt) \1082#define V4L2_DV_BT_BLANKING_WIDTH(bt) \
1062 (bt->hfrontporch + bt->hsync + bt->hbackporch)1083 ((bt)->hfrontporch + (bt)->hsync + (bt)->hbackporch)
1063#define V4L2_DV_BT_FRAME_WIDTH(bt) \1084#define V4L2_DV_BT_FRAME_WIDTH(bt) \
1064 (bt->width + V4L2_DV_BT_BLANKING_WIDTH(bt))1085 ((bt)->width + V4L2_DV_BT_BLANKING_WIDTH(bt))
1065#define V4L2_DV_BT_BLANKING_HEIGHT(bt) \1086#define V4L2_DV_BT_BLANKING_HEIGHT(bt) \
1066 (bt->vfrontporch + bt->vsync + bt->vbackporch + \1087 ((bt)->vfrontporch + (bt)->vsync + (bt)->vbackporch + \
1067 bt->il_vfrontporch + bt->il_vsync + bt->il_vbackporch)1088 (bt)->il_vfrontporch + (bt)->il_vsync + (bt)->il_vbackporch)
1068#define V4L2_DV_BT_FRAME_HEIGHT(bt) \1089#define V4L2_DV_BT_FRAME_HEIGHT(bt) \
1069 (bt->height + V4L2_DV_BT_BLANKING_HEIGHT(bt))1090 ((bt)->height + V4L2_DV_BT_BLANKING_HEIGHT(bt))
1070 1091
1071/** struct v4l2_dv_timings - DV timings1092/** struct v4l2_dv_timings - DV timings
1072 * @type: the type of the timings1093 * @type: the type of the timings
@@ -1339,6 +1360,7 @@ struct v4l2_modulator { · 266 unmodified lines
1339#define V4L2_TUNER_CAP_RDS_CONTROLS 0x02001360#define V4L2_TUNER_CAP_RDS_CONTROLS 0x0200
1340#define V4L2_TUNER_CAP_FREQ_BANDS 0x04001361#define V4L2_TUNER_CAP_FREQ_BANDS 0x0400
1341#define V4L2_TUNER_CAP_HWSEEK_PROG_LIM 0x08001362#define V4L2_TUNER_CAP_HWSEEK_PROG_LIM 0x0800
1363#define V4L2_TUNER_CAP_1HZ 0x1000
1342 1364
1343/* Flags for the 'rxsubchans' field */1365/* Flags for the 'rxsubchans' field */
1344#define V4L2_TUNER_SUB_MONO 0x00011366#define V4L2_TUNER_SUB_MONO 0x0001
@@ -1691,6 +1713,15 @@ struct v4l2_pix_format_mplane { · 346 unmodified lines
1691 __u8 reserved[11];1713 __u8 reserved[11];
1692} __attribute__ ((packed));1714} __attribute__ ((packed));
1693 1715
1716/**
1717 * struct v4l2_sdr_format - SDR format definition
1718 * @pixelformat: little endian four character code (fourcc)
1719 */
1720struct v4l2_sdr_format {
1721 __u32 pixelformat;
1722 __u8 reserved[28];
1723} __attribute__ ((packed));
1724
1694/**1725/**
1695 * struct v4l2_format - stream data format1726 * struct v4l2_format - stream data format
1696 * @type: enum v4l2_buf_type; type of the data stream1727 * @type: enum v4l2_buf_type; type of the data stream
@@ -1709,6 +1740,7 @@ struct v4l2_format { · 12 unmodified lines
1709 struct v4l2_window win; /* V4L2_BUF_TYPE_VIDEO_OVERLAY */1740 struct v4l2_window win; /* V4L2_BUF_TYPE_VIDEO_OVERLAY */
1710 struct v4l2_vbi_format vbi; /* V4L2_BUF_TYPE_VBI_CAPTURE */1741 struct v4l2_vbi_format vbi; /* V4L2_BUF_TYPE_VBI_CAPTURE */
1711 struct v4l2_sliced_vbi_format sliced; /* V4L2_BUF_TYPE_SLICED_VBI_CAPTURE */1742 struct v4l2_sliced_vbi_format sliced; /* V4L2_BUF_TYPE_SLICED_VBI_CAPTURE */
1743 struct v4l2_sdr_format sdr; /* V4L2_BUF_TYPE_SDR_CAPTURE */
1712 __u8 raw_data[200]; /* user-defined */1744 __u8 raw_data[200]; /* user-defined */
1713 } fmt;1745 } fmt;
1714};1746};
@@ -1885,6 +1917,8 @@ struct v4l2_create_buffers { · 170 unmodified lines
1885#define VIDIOC_QUERYMENU _IOWR('V', 37, struct v4l2_querymenu)1917#define VIDIOC_QUERYMENU _IOWR('V', 37, struct v4l2_querymenu)
1886#define VIDIOC_G_INPUT _IOR('V', 38, int)1918#define VIDIOC_G_INPUT _IOR('V', 38, int)
1887#define VIDIOC_S_INPUT _IOWR('V', 39, int)1919#define VIDIOC_S_INPUT _IOWR('V', 39, int)
1920#define VIDIOC_G_EDID _IOWR('V', 40, struct v4l2_edid)
1921#define VIDIOC_S_EDID _IOWR('V', 41, struct v4l2_edid)
1888#define VIDIOC_G_OUTPUT _IOR('V', 46, int)1922#define VIDIOC_G_OUTPUT _IOR('V', 46, int)
1889#define VIDIOC_S_OUTPUT _IOWR('V', 47, int)1923#define VIDIOC_S_OUTPUT _IOWR('V', 47, int)
1890#define VIDIOC_ENUMOUTPUT _IOWR('V', 48, struct v4l2_output)1924#define VIDIOC_ENUMOUTPUT _IOWR('V', 48, struct v4l2_output)