aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/videodev2.h
diff options
context:
space:
mode:
authorArun Kumar K <arun.kk@samsung.com>2014-05-14 02:59:42 -0400
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-05-23 18:50:40 -0400
commit3cbe6e5bcad0b102c06b9c6029fda75630045475 (patch)
treea71d0f73af174620f82fd1b5469fef70e9075fe7 /include/uapi/linux/videodev2.h
parent5b340ea0caac4c123a3bb989a43c021a2dc06fb2 (diff)
[media] v4l: Add source change event
This event indicates that the video device has encountered a source parameter change during runtime. This can typically be a resolution change detected by a video decoder OR a format change detected by an input connector. This needs to be nofified to the userspace and the application may be expected to reallocate buffers before proceeding. The application can subscribe to events on a specific pad or input port which it is interested in. Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'include/uapi/linux/videodev2.h')
-rw-r--r--include/uapi/linux/videodev2.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index db4aebd8baba..00259d2baa10 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -1764,6 +1764,7 @@ struct v4l2_streamparm {
1764#define V4L2_EVENT_EOS 2 1764#define V4L2_EVENT_EOS 2
1765#define V4L2_EVENT_CTRL 3 1765#define V4L2_EVENT_CTRL 3
1766#define V4L2_EVENT_FRAME_SYNC 4 1766#define V4L2_EVENT_FRAME_SYNC 4
1767#define V4L2_EVENT_SOURCE_CHANGE 5
1767#define V4L2_EVENT_PRIVATE_START 0x08000000 1768#define V4L2_EVENT_PRIVATE_START 0x08000000
1768 1769
1769/* Payload for V4L2_EVENT_VSYNC */ 1770/* Payload for V4L2_EVENT_VSYNC */
@@ -1795,12 +1796,19 @@ struct v4l2_event_frame_sync {
1795 __u32 frame_sequence; 1796 __u32 frame_sequence;
1796}; 1797};
1797 1798
1799#define V4L2_EVENT_SRC_CH_RESOLUTION (1 << 0)
1800
1801struct v4l2_event_src_change {
1802 __u32 changes;
1803};
1804
1798struct v4l2_event { 1805struct v4l2_event {
1799 __u32 type; 1806 __u32 type;
1800 union { 1807 union {
1801 struct v4l2_event_vsync vsync; 1808 struct v4l2_event_vsync vsync;
1802 struct v4l2_event_ctrl ctrl; 1809 struct v4l2_event_ctrl ctrl;
1803 struct v4l2_event_frame_sync frame_sync; 1810 struct v4l2_event_frame_sync frame_sync;
1811 struct v4l2_event_src_change src_change;
1804 __u8 data[64]; 1812 __u8 data[64];
1805 } u; 1813 } u;
1806 __u32 pending; 1814 __u32 pending;