Pull media updates from Mauro Carvalho Chehab: - removal of sn9c102. This device driver was replaced a long time ago by gspca - solo6x10 and go7007 webcam drivers moved from staging into mainstream. They were waiting for an API to allow setting the image detection matrix - SDR drivers moved from staging into mainstream: sdr-msi3101 (renamed as msi2500) and rtl2832 - added SDR driver for airspy - added demux driver: si2165 - rework at several RC subsystem, making the code for RC-5 SZ variant to be added at the standard RC5 decoder - added decoder for the XMP IR protocol - tuner driver moved from staging into mainstream: msi3101 (renamed as msi001) - added documentation for some additional SDR pixfmt - some device tree bindings documented - added support for exynos3250 at s5p-jpeg - remove the obsolete, unmaintained and broken mx1_camera driver - added support for remote controllers at au0828 driver - added a RC driver: sunxi-cir - several driver fixes, enhancements and cleanups. * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (455 commits) [media] cx23885: fix UNSET/TUNER_ABSENT confusion [media] coda: fix build error by making reset control optional [media] radio-miropcm20: fix sparse NULL pointer warning [media] MAINTAINERS: Update go7007 pattern [media] MAINTAINERS: Update solo6x10 patterns [media] media: atmel-isi: add primary DT support [media] media: atmel-isi: convert the pdata from pointer to structure [media] media: atmel-isi: add v4l2 async probe support [media] rcar_vin: add devicetree support [media] media: pxa_camera device-tree support [media] media: mt9m111: add device-tree suppport [media] soc_camera: add support for dt binding soc_camera drivers [media] media: soc_camera: pxa_camera documentation device-tree support [media] media: mt9m111: add device-tree documentation [media] s5p-mfc: remove unnecessary calling to function video_devdata() [media] s5p-jpeg: add chroma subsampling adjustment for Exynos3250 [media] s5p-jpeg: Prevent erroneous downscaling for Exynos3250 SoC [media] s5p-jpeg: Assure proper crop rectangle initialization [media] s5p-jpeg: fix g_selection op [media] s5p-jpeg: Adjust jpeg_bound_align_image to Exynos3250 needs ...
Showing the changes to include/uapi/linux (2 of 442 files). Show all
Unified · Split
| @@ -61,6 +61,7 @@ · 60 unmodified lines | ||
| 61 | 61 | #define V4L2_CTRL_CLASS_DV 0x00a00000 /* Digital Video controls */ |
| 62 | 62 | #define V4L2_CTRL_CLASS_FM_RX 0x00a10000 /* FM Receiver controls */ |
| 63 | 63 | #define V4L2_CTRL_CLASS_RF_TUNER 0x00a20000 /* RF tuner controls */ |
| 64 | +#define V4L2_CTRL_CLASS_DETECT 0x00a30000 /* Detection controls */ | |
| 64 | 65 | |
| 65 | 66 | /* User-class control IDs */ |
| 66 | 67 | |
| @@ -756,6 +757,15 @@ enum v4l2_auto_focus_range { · 689 unmodified lines | ||
| 756 | 757 | #define V4L2_CID_RDS_TX_PTY (V4L2_CID_FM_TX_CLASS_BASE + 3) |
| 757 | 758 | #define V4L2_CID_RDS_TX_PS_NAME (V4L2_CID_FM_TX_CLASS_BASE + 5) |
| 758 | 759 | #define V4L2_CID_RDS_TX_RADIO_TEXT (V4L2_CID_FM_TX_CLASS_BASE + 6) |
| 760 | +#define V4L2_CID_RDS_TX_MONO_STEREO (V4L2_CID_FM_TX_CLASS_BASE + 7) | |
| 761 | +#define V4L2_CID_RDS_TX_ARTIFICIAL_HEAD (V4L2_CID_FM_TX_CLASS_BASE + 8) | |
| 762 | +#define V4L2_CID_RDS_TX_COMPRESSED (V4L2_CID_FM_TX_CLASS_BASE + 9) | |
| 763 | +#define V4L2_CID_RDS_TX_DYNAMIC_PTY (V4L2_CID_FM_TX_CLASS_BASE + 10) | |
| 764 | +#define V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT (V4L2_CID_FM_TX_CLASS_BASE + 11) | |
| 765 | +#define V4L2_CID_RDS_TX_TRAFFIC_PROGRAM (V4L2_CID_FM_TX_CLASS_BASE + 12) | |
| 766 | +#define V4L2_CID_RDS_TX_MUSIC_SPEECH (V4L2_CID_FM_TX_CLASS_BASE + 13) | |
| 767 | +#define V4L2_CID_RDS_TX_ALT_FREQS_ENABLE (V4L2_CID_FM_TX_CLASS_BASE + 14) | |
| 768 | +#define V4L2_CID_RDS_TX_ALT_FREQS (V4L2_CID_FM_TX_CLASS_BASE + 15) | |
| 759 | 769 | |
| 760 | 770 | #define V4L2_CID_AUDIO_LIMITER_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 64) |
| 761 | 771 | #define V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 65) |
| @@ -900,6 +910,12 @@ enum v4l2_deemphasis { · 138 unmodified lines | ||
| 900 | 910 | }; |
| 901 | 911 | |
| 902 | 912 | #define V4L2_CID_RDS_RECEPTION (V4L2_CID_FM_RX_CLASS_BASE + 2) |
| 913 | +#define V4L2_CID_RDS_RX_PTY (V4L2_CID_FM_RX_CLASS_BASE + 3) | |
| 914 | +#define V4L2_CID_RDS_RX_PS_NAME (V4L2_CID_FM_RX_CLASS_BASE + 4) | |
| 915 | +#define V4L2_CID_RDS_RX_RADIO_TEXT (V4L2_CID_FM_RX_CLASS_BASE + 5) | |
| 916 | +#define V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT (V4L2_CID_FM_RX_CLASS_BASE + 6) | |
| 917 | +#define V4L2_CID_RDS_RX_TRAFFIC_PROGRAM (V4L2_CID_FM_RX_CLASS_BASE + 7) | |
| 918 | +#define V4L2_CID_RDS_RX_MUSIC_SPEECH (V4L2_CID_FM_RX_CLASS_BASE + 8) | |
| 903 | 919 | |
| 904 | 920 | #define V4L2_CID_RF_TUNER_CLASS_BASE (V4L2_CTRL_CLASS_RF_TUNER | 0x900) |
| 905 | 921 | #define V4L2_CID_RF_TUNER_CLASS (V4L2_CTRL_CLASS_RF_TUNER | 1) |
| @@ -914,4 +930,20 @@ enum v4l2_deemphasis { · 8 unmodified lines | ||
| 914 | 930 | #define V4L2_CID_RF_TUNER_IF_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 62) |
| 915 | 931 | #define V4L2_CID_RF_TUNER_PLL_LOCK (V4L2_CID_RF_TUNER_CLASS_BASE + 91) |
| 916 | 932 | |
| 933 | + | |
| 934 | +/* Detection-class control IDs defined by V4L2 */ | |
| 935 | +#define V4L2_CID_DETECT_CLASS_BASE (V4L2_CTRL_CLASS_DETECT | 0x900) | |
| 936 | +#define V4L2_CID_DETECT_CLASS (V4L2_CTRL_CLASS_DETECT | 1) | |
| 937 | + | |
| 938 | +#define V4L2_CID_DETECT_MD_MODE (V4L2_CID_DETECT_CLASS_BASE + 1) | |
| 939 | +enum v4l2_detect_md_mode { | |
| 940 | + V4L2_DETECT_MD_MODE_DISABLED = 0, | |
| 941 | + V4L2_DETECT_MD_MODE_GLOBAL = 1, | |
| 942 | + V4L2_DETECT_MD_MODE_THRESHOLD_GRID = 2, | |
| 943 | + V4L2_DETECT_MD_MODE_REGION_GRID = 3, | |
| 944 | +}; | |
| 945 | +#define V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD (V4L2_CID_DETECT_CLASS_BASE + 2) | |
| 946 | +#define V4L2_CID_DETECT_MD_THRESHOLD_GRID (V4L2_CID_DETECT_CLASS_BASE + 3) | |
| 947 | +#define V4L2_CID_DETECT_MD_REGION_GRID (V4L2_CID_DETECT_CLASS_BASE + 4) | |
| 948 | + | |
| 917 | 949 | #endif |
| @@ -124,6 +124,10 @@ enum v4l2_field { · 123 unmodified lines | ||
| 124 | 124 | (field) == V4L2_FIELD_INTERLACED_BT ||\ |
| 125 | 125 | (field) == V4L2_FIELD_SEQ_TB ||\ |
| 126 | 126 | (field) == V4L2_FIELD_SEQ_BT) |
| 127 | +#define V4L2_FIELD_HAS_T_OR_B(field) \ | |
| 128 | + ((field) == V4L2_FIELD_BOTTOM ||\ | |
| 129 | + (field) == V4L2_FIELD_TOP ||\ | |
| 130 | + (field) == V4L2_FIELD_ALTERNATE) | |
| 127 | 131 | |
| 128 | 132 | enum v4l2_buf_type { |
| 129 | 133 | V4L2_BUF_TYPE_VIDEO_CAPTURE = 1, |
| @@ -268,6 +272,7 @@ struct v4l2_capability { · 138 unmodified lines | ||
| 268 | 272 | #define V4L2_CAP_MODULATOR 0x00080000 /* has a modulator */ |
| 269 | 273 | |
| 270 | 274 | #define V4L2_CAP_SDR_CAPTURE 0x00100000 /* Is a SDR capture device */ |
| 275 | +#define V4L2_CAP_EXT_PIX_FORMAT 0x00200000 /* Supports the extended pixel format */ | |
| 271 | 276 | |
| 272 | 277 | #define V4L2_CAP_READWRITE 0x01000000 /* read/write systemcalls */ |
| 273 | 278 | #define V4L2_CAP_ASYNCIO 0x02000000 /* async I/O */ |
| @@ -287,6 +292,7 @@ struct v4l2_pix_format { · 13 unmodified lines | ||
| 287 | 292 | __u32 sizeimage; |
| 288 | 293 | __u32 colorspace; /* enum v4l2_colorspace */ |
| 289 | 294 | __u32 priv; /* private data, depends on pixelformat */ |
| 295 | + __u32 flags; /* format flags (V4L2_PIX_FMT_FLAG_*) */ | |
| 290 | 296 | }; |
| 291 | 297 | |
| 292 | 298 | /* Pixel format FOURCC depth Description */ |
| @@ -294,7 +300,11 @@ struct v4l2_pix_format { · 1 unmodified line | ||
| 294 | 300 | /* RGB formats */ |
| 295 | 301 | #define V4L2_PIX_FMT_RGB332 v4l2_fourcc('R', 'G', 'B', '1') /* 8 RGB-3-3-2 */ |
| 296 | 302 | #define V4L2_PIX_FMT_RGB444 v4l2_fourcc('R', '4', '4', '4') /* 16 xxxxrrrr ggggbbbb */ |
| 303 | +#define V4L2_PIX_FMT_ARGB444 v4l2_fourcc('A', 'R', '1', '2') /* 16 aaaarrrr ggggbbbb */ | |
| 304 | +#define V4L2_PIX_FMT_XRGB444 v4l2_fourcc('X', 'R', '1', '2') /* 16 xxxxrrrr ggggbbbb */ | |
| 297 | 305 | #define V4L2_PIX_FMT_RGB555 v4l2_fourcc('R', 'G', 'B', 'O') /* 16 RGB-5-5-5 */ |
| 306 | +#define V4L2_PIX_FMT_ARGB555 v4l2_fourcc('A', 'R', '1', '5') /* 16 ARGB-1-5-5-5 */ | |
| 307 | +#define V4L2_PIX_FMT_XRGB555 v4l2_fourcc('X', 'R', '1', '5') /* 16 XRGB-1-5-5-5 */ | |
| 298 | 308 | #define V4L2_PIX_FMT_RGB565 v4l2_fourcc('R', 'G', 'B', 'P') /* 16 RGB-5-6-5 */ |
| 299 | 309 | #define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R', 'G', 'B', 'Q') /* 16 RGB-5-5-5 BE */ |
| 300 | 310 | #define V4L2_PIX_FMT_RGB565X v4l2_fourcc('R', 'G', 'B', 'R') /* 16 RGB-5-6-5 BE */ |
| @@ -302,7 +312,11 @@ struct v4l2_pix_format { · 1 unmodified line | ||
| 302 | 312 | #define V4L2_PIX_FMT_BGR24 v4l2_fourcc('B', 'G', 'R', '3') /* 24 BGR-8-8-8 */ |
| 303 | 313 | #define V4L2_PIX_FMT_RGB24 v4l2_fourcc('R', 'G', 'B', '3') /* 24 RGB-8-8-8 */ |
| 304 | 314 | #define V4L2_PIX_FMT_BGR32 v4l2_fourcc('B', 'G', 'R', '4') /* 32 BGR-8-8-8-8 */ |
| 315 | +#define V4L2_PIX_FMT_ABGR32 v4l2_fourcc('A', 'R', '2', '4') /* 32 BGRA-8-8-8-8 */ | |
| 316 | +#define V4L2_PIX_FMT_XBGR32 v4l2_fourcc('X', 'R', '2', '4') /* 32 BGRX-8-8-8-8 */ | |
| 305 | 317 | #define V4L2_PIX_FMT_RGB32 v4l2_fourcc('R', 'G', 'B', '4') /* 32 RGB-8-8-8-8 */ |
| 318 | +#define V4L2_PIX_FMT_ARGB32 v4l2_fourcc('B', 'A', '2', '4') /* 32 ARGB-8-8-8-8 */ | |
| 319 | +#define V4L2_PIX_FMT_XRGB32 v4l2_fourcc('B', 'X', '2', '4') /* 32 XRGB-8-8-8-8 */ | |
| 306 | 320 | |
| 307 | 321 | /* Grey formats */ |
| 308 | 322 | #define V4L2_PIX_FMT_GREY v4l2_fourcc('G', 'R', 'E', 'Y') /* 8 Greyscale */ |
| @@ -439,6 +453,15 @@ struct v4l2_pix_format { · 130 unmodified lines | ||
| 439 | 453 | /* SDR formats - used only for Software Defined Radio devices */ |
| 440 | 454 | #define V4L2_SDR_FMT_CU8 v4l2_fourcc('C', 'U', '0', '8') /* IQ u8 */ |
| 441 | 455 | #define V4L2_SDR_FMT_CU16LE v4l2_fourcc('C', 'U', '1', '6') /* IQ u16le */ |
| 456 | +#define V4L2_SDR_FMT_CS8 v4l2_fourcc('C', 'S', '0', '8') /* complex s8 */ | |
| 457 | +#define V4L2_SDR_FMT_CS14LE v4l2_fourcc('C', 'S', '1', '4') /* complex s14le */ | |
| 458 | +#define V4L2_SDR_FMT_RU12LE v4l2_fourcc('R', 'U', '1', '2') /* real u12le */ | |
| 459 | + | |
| 460 | +/* priv field value to indicates that subsequent fields are valid. */ | |
| 461 | +#define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe | |
| 462 | + | |
| 463 | +/* Flags */ | |
| 464 | +#define V4L2_PIX_FMT_FLAG_PREMUL_ALPHA 0x00000001 | |
| 442 | 465 | |
| 443 | 466 | /* |
| 444 | 467 | * F O R M A T E N U M E R A T I O N |
| @@ -744,7 +767,16 @@ struct v4l2_framebuffer { · 299 unmodified lines | ||
| 744 | 767 | /* FIXME: in theory we should pass something like PCI device + memory |
| 745 | 768 | * region + offset instead of some physical address */ |
| 746 | 769 | void *base; |
| 747 | − struct v4l2_pix_format fmt; | |
| 770 | + struct { | |
| 771 | + __u32 width; | |
| 772 | + __u32 height; | |
| 773 | + __u32 pixelformat; | |
| 774 | + __u32 field; /* enum v4l2_field */ | |
| 775 | + __u32 bytesperline; /* for padding, zero if unused */ | |
| 776 | + __u32 sizeimage; | |
| 777 | + __u32 colorspace; /* enum v4l2_colorspace */ | |
| 778 | + __u32 priv; /* reserved field, set to 0 */ | |
| 779 | + } fmt; | |
| 748 | 780 | }; |
| 749 | 781 | /* Flags for the 'capability' field. Read only */ |
| 750 | 782 | #define V4L2_FBUF_CAP_EXTERNOVERLAY 0x0001 |
| @@ -1254,6 +1286,10 @@ struct v4l2_ext_control { · 503 unmodified lines | ||
| 1254 | 1286 | __s32 value; |
| 1255 | 1287 | __s64 value64; |
| 1256 | 1288 | char *string; |
| 1289 | + __u8 *p_u8; | |
| 1290 | + __u16 *p_u16; | |
| 1291 | + __u32 *p_u32; | |
| 1292 | + void *ptr; | |
| 1257 | 1293 | }; |
| 1258 | 1294 | } __attribute__ ((packed)); |
| 1259 | 1295 | |
| @@ -1268,6 +1304,7 @@ struct v4l2_ext_controls { · 8 unmodified lines | ||
| 1268 | 1304 | #define V4L2_CTRL_ID_MASK (0x0fffffff) |
| 1269 | 1305 | #define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL) |
| 1270 | 1306 | #define V4L2_CTRL_DRIVER_PRIV(id) (((id) & 0xffff) >= 0x1000) |
| 1307 | +#define V4L2_CTRL_MAX_DIMS (4) | |
| 1271 | 1308 | |
| 1272 | 1309 | enum v4l2_ctrl_type { |
| 1273 | 1310 | V4L2_CTRL_TYPE_INTEGER = 1, |
| @@ -1278,7 +1315,13 @@ enum v4l2_ctrl_type { · 4 unmodified lines | ||
| 1278 | 1315 | V4L2_CTRL_TYPE_CTRL_CLASS = 6, |
| 1279 | 1316 | V4L2_CTRL_TYPE_STRING = 7, |
| 1280 | 1317 | V4L2_CTRL_TYPE_BITMASK = 8, |
| 1281 | − V4L2_CTRL_TYPE_INTEGER_MENU = 9, | |
| 1318 | + V4L2_CTRL_TYPE_INTEGER_MENU = 9, | |
| 1319 | + | |
| 1320 | + /* Compound types are >= 0x0100 */ | |
| 1321 | + V4L2_CTRL_COMPOUND_TYPES = 0x0100, | |
| 1322 | + V4L2_CTRL_TYPE_U8 = 0x0100, | |
| 1323 | + V4L2_CTRL_TYPE_U16 = 0x0101, | |
| 1324 | + V4L2_CTRL_TYPE_U32 = 0x0102, | |
| 1282 | 1325 | }; |
| 1283 | 1326 | |
| 1284 | 1327 | /* Used in the VIDIOC_QUERYCTRL ioctl for querying controls */ |
| @@ -1294,6 +1337,23 @@ struct v4l2_queryctrl { · 9 unmodified lines | ||
| 1294 | 1337 | __u32 reserved[2]; |
| 1295 | 1338 | }; |
| 1296 | 1339 | |
| 1340 | +/* Used in the VIDIOC_QUERY_EXT_CTRL ioctl for querying extended controls */ | |
| 1341 | +struct v4l2_query_ext_ctrl { | |
| 1342 | + __u32 id; | |
| 1343 | + __u32 type; | |
| 1344 | + char name[32]; | |
| 1345 | + __s64 minimum; | |
| 1346 | + __s64 maximum; | |
| 1347 | + __u64 step; | |
| 1348 | + __s64 default_value; | |
| 1349 | + __u32 flags; | |
| 1350 | + __u32 elem_size; | |
| 1351 | + __u32 elems; | |
| 1352 | + __u32 nr_of_dims; | |
| 1353 | + __u32 dims[V4L2_CTRL_MAX_DIMS]; | |
| 1354 | + __u32 reserved[32]; | |
| 1355 | +}; | |
| 1356 | + | |
| 1297 | 1357 | /* Used in the VIDIOC_QUERYMENU ioctl for querying menu items */ |
| 1298 | 1358 | struct v4l2_querymenu { |
| 1299 | 1359 | __u32 id; |
| @@ -1314,9 +1374,11 @@ struct v4l2_querymenu { · 14 unmodified lines | ||
| 1314 | 1374 | #define V4L2_CTRL_FLAG_SLIDER 0x0020 |
| 1315 | 1375 | #define V4L2_CTRL_FLAG_WRITE_ONLY 0x0040 |
| 1316 | 1376 | #define V4L2_CTRL_FLAG_VOLATILE 0x0080 |
| 1377 | +#define V4L2_CTRL_FLAG_HAS_PAYLOAD 0x0100 | |
| 1317 | 1378 | |
| 1318 | −/* Query flag, to be ORed with the control ID */ | |
| 1379 | +/* Query flags, to be ORed with the control ID */ | |
| 1319 | 1380 | #define V4L2_CTRL_FLAG_NEXT_CTRL 0x80000000 |
| 1381 | +#define V4L2_CTRL_FLAG_NEXT_COMPOUND 0x40000000 | |
| 1320 | 1382 | |
| 1321 | 1383 | /* User-class control IDs defined by V4L2 */ |
| 1322 | 1384 | #define V4L2_CID_MAX_CTRLS 1024 |
| @@ -1582,6 +1644,12 @@ struct v4l2_vbi_format { · 259 unmodified lines | ||
| 1582 | 1644 | #define V4L2_VBI_UNSYNC (1 << 0) |
| 1583 | 1645 | #define V4L2_VBI_INTERLACED (1 << 1) |
| 1584 | 1646 | |
| 1647 | +/* ITU-R start lines for each field */ | |
| 1648 | +#define V4L2_VBI_ITU_525_F1_START (1) | |
| 1649 | +#define V4L2_VBI_ITU_525_F2_START (264) | |
| 1650 | +#define V4L2_VBI_ITU_625_F1_START (1) | |
| 1651 | +#define V4L2_VBI_ITU_625_F2_START (314) | |
| 1652 | + | |
| 1585 | 1653 | /* Sliced VBI |
| 1586 | 1654 | * |
| 1587 | 1655 | * This implements is a proposal V4L2 API to allow SLICED VBI |
| @@ -1705,6 +1773,7 @@ struct v4l2_plane_pix_format { · 117 unmodified lines | ||
| 1705 | 1773 | * @colorspace: enum v4l2_colorspace; supplemental to pixelformat |
| 1706 | 1774 | * @plane_fmt: per-plane information |
| 1707 | 1775 | * @num_planes: number of planes for this format |
| 1776 | + * @flags: format flags (V4L2_PIX_FMT_FLAG_*) | |
| 1708 | 1777 | */ |
| 1709 | 1778 | struct v4l2_pix_format_mplane { |
| 1710 | 1779 | __u32 width; |
| @@ -1715,16 +1784,19 @@ struct v4l2_pix_format_mplane { · 4 unmodified lines | ||
| 1715 | 1784 | |
| 1716 | 1785 | struct v4l2_plane_pix_format plane_fmt[VIDEO_MAX_PLANES]; |
| 1717 | 1786 | __u8 num_planes; |
| 1718 | − __u8 reserved[11]; | |
| 1787 | + __u8 flags; | |
| 1788 | + __u8 reserved[10]; | |
| 1719 | 1789 | } __attribute__ ((packed)); |
| 1720 | 1790 | |
| 1721 | 1791 | /** |
| 1722 | 1792 | * struct v4l2_sdr_format - SDR format definition |
| 1723 | 1793 | * @pixelformat: little endian four character code (fourcc) |
| 1794 | + * @buffersize: maximum size in bytes required for data | |
| 1724 | 1795 | */ |
| 1725 | 1796 | struct v4l2_sdr_format { |
| 1726 | 1797 | __u32 pixelformat; |
| 1727 | − __u8 reserved[28]; | |
| 1798 | + __u32 buffersize; | |
| 1799 | + __u8 reserved[24]; | |
| 1728 | 1800 | } __attribute__ ((packed)); |
| 1729 | 1801 | |
| 1730 | 1802 | /** |
| @@ -1771,6 +1843,7 @@ struct v4l2_streamparm { · 40 unmodified lines | ||
| 1771 | 1843 | #define V4L2_EVENT_CTRL 3 |
| 1772 | 1844 | #define V4L2_EVENT_FRAME_SYNC 4 |
| 1773 | 1845 | #define V4L2_EVENT_SOURCE_CHANGE 5 |
| 1846 | +#define V4L2_EVENT_MOTION_DET 6 | |
| 1774 | 1847 | #define V4L2_EVENT_PRIVATE_START 0x08000000 |
| 1775 | 1848 | |
| 1776 | 1849 | /* Payload for V4L2_EVENT_VSYNC */ |
| @@ -1808,6 +1881,21 @@ struct v4l2_event_src_change { · 31 unmodified lines | ||
| 1808 | 1881 | __u32 changes; |
| 1809 | 1882 | }; |
| 1810 | 1883 | |
| 1884 | +#define V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ (1 << 0) | |
| 1885 | + | |
| 1886 | +/** | |
| 1887 | + * struct v4l2_event_motion_det - motion detection event | |
| 1888 | + * @flags: if V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ is set, then the | |
| 1889 | + * frame_sequence field is valid. | |
| 1890 | + * @frame_sequence: the frame sequence number associated with this event. | |
| 1891 | + * @region_mask: which regions detected motion. | |
| 1892 | + */ | |
| 1893 | +struct v4l2_event_motion_det { | |
| 1894 | + __u32 flags; | |
| 1895 | + __u32 frame_sequence; | |
| 1896 | + __u32 region_mask; | |
| 1897 | +}; | |
| 1898 | + | |
| 1811 | 1899 | struct v4l2_event { |
| 1812 | 1900 | __u32 type; |
| 1813 | 1901 | union { |
| @@ -1815,6 +1903,7 @@ struct v4l2_event { · 1 unmodified line | ||
| 1815 | 1903 | struct v4l2_event_ctrl ctrl; |
| 1816 | 1904 | struct v4l2_event_frame_sync frame_sync; |
| 1817 | 1905 | struct v4l2_event_src_change src_change; |
| 1906 | + struct v4l2_event_motion_det motion_det; | |
| 1818 | 1907 | __u8 data[64]; |
| 1819 | 1908 | } u; |
| 1820 | 1909 | __u32 pending; |
| @@ -2005,6 +2094,8 @@ struct v4l2_create_buffers { · 184 unmodified lines | ||
| 2005 | 2094 | Never use these in applications! */ |
| 2006 | 2095 | #define VIDIOC_DBG_G_CHIP_INFO _IOWR('V', 102, struct v4l2_dbg_chip_info) |
| 2007 | 2096 | |
| 2097 | +#define VIDIOC_QUERY_EXT_CTRL _IOWR('V', 103, struct v4l2_query_ext_ctrl) | |
| 2098 | + | |
| 2008 | 2099 | /* Reminder: when adding new ioctls please add support for them to |
| 2009 | 2100 | drivers/media/video/v4l2-compat-ioctl32.c as well! */ |
| 2010 | 2101 | |