--- zzzz-none-000/linux-3.10.107/Documentation/DocBook/media/v4l/vidioc-dqevent.xml 2017-06-27 09:49:32.000000000 +0000
+++ scorpion-7490-727/linux-3.10.107/Documentation/DocBook/media/v4l/vidioc-dqevent.xml 2021-02-04 17:41:59.000000000 +0000
@@ -64,7 +64,7 @@
__u32
type
- Type of the event.
+ Type of the event, see .
union
@@ -76,21 +76,34 @@
&v4l2-event-vsync;
vsync
- Event data for event V4L2_EVENT_VSYNC.
+ Event data for event V4L2_EVENT_VSYNC.
&v4l2-event-ctrl;
ctrl
- Event data for event V4L2_EVENT_CTRL.
+ Event data for event V4L2_EVENT_CTRL.
&v4l2-event-frame-sync;
frame_sync
- Event data for event V4L2_EVENT_FRAME_SYNC.
+ Event data for event
+ V4L2_EVENT_FRAME_SYNC.
+
+
+
+ &v4l2-event-motion-det;
+ motion_det
+ Event data for event V4L2_EVENT_MOTION_DET.
+
+
+
+ &v4l2-event-src-change;
+ src_change
+ Event data for event V4L2_EVENT_SOURCE_CHANGE.
@@ -120,7 +133,10 @@
struct timespec
timestamp
- Event timestamp.
+ Event timestamp. The timestamp has been taken from the
+ CLOCK_MONOTONIC clock. To access the
+ same clock outside V4L2, use clock_gettime(2).
+
u32
@@ -141,6 +157,113 @@
+
+ Event Types
+
+ &cs-def;
+
+
+ V4L2_EVENT_ALL
+ 0
+ All events. V4L2_EVENT_ALL is valid only for
+ VIDIOC_UNSUBSCRIBE_EVENT for unsubscribing all events at once.
+
+
+
+ V4L2_EVENT_VSYNC
+ 1
+ This event is triggered on the vertical sync.
+ This event has a &v4l2-event-vsync; associated with it.
+
+
+
+ V4L2_EVENT_EOS
+ 2
+ This event is triggered when the end of a stream is reached.
+ This is typically used with MPEG decoders to report to the application
+ when the last of the MPEG stream has been decoded.
+
+
+
+ V4L2_EVENT_CTRL
+ 3
+ This event requires that the id
+ matches the control ID from which you want to receive events.
+ This event is triggered if the control's value changes, if a
+ button control is pressed or if the control's flags change.
+ This event has a &v4l2-event-ctrl; associated with it. This struct
+ contains much of the same information as &v4l2-queryctrl; and
+ &v4l2-control;.
+
+ If the event is generated due to a call to &VIDIOC-S-CTRL; or
+ &VIDIOC-S-EXT-CTRLS;, then the event will not be sent to
+ the file handle that called the ioctl function. This prevents
+ nasty feedback loops. If you do want to get the
+ event, then set the V4L2_EVENT_SUB_FL_ALLOW_FEEDBACK
+ flag.
+
+
+ This event type will ensure that no information is lost when
+ more events are raised than there is room internally. In that
+ case the &v4l2-event-ctrl; of the second-oldest event is kept,
+ but the changes field of the
+ second-oldest event is ORed with the changes
+ field of the oldest event.
+
+
+
+ V4L2_EVENT_FRAME_SYNC
+ 4
+
+ Triggered immediately when the reception of a
+ frame has begun. This event has a
+ &v4l2-event-frame-sync; associated with it.
+
+ If the hardware needs to be stopped in the case of a
+ buffer underrun it might not be able to generate this event.
+ In such cases the frame_sequence
+ field in &v4l2-event-frame-sync; will not be incremented. This
+ causes two consecutive frame sequence numbers to have n times
+ frame interval in between them.
+
+
+
+ V4L2_EVENT_SOURCE_CHANGE
+ 5
+
+ This event is triggered when a source parameter change is
+ detected during runtime by the video device. It can be a
+ runtime resolution change triggered by a video decoder or the
+ format change happening on an input connector.
+ This event requires that the id
+ matches the input index (when used with a video device node)
+ or the pad index (when used with a subdevice node) from which
+ you want to receive events.
+
+ This event has a &v4l2-event-src-change; associated
+ with it. The changes bitfield denotes
+ what has changed for the subscribed pad. If multiple events
+ occurred before application could dequeue them, then the changes
+ will have the ORed value of all the events generated.
+
+
+
+ V4L2_EVENT_MOTION_DET
+ 6
+
+ Triggered whenever the motion detection state for one or more of the regions
+ changes. This event has a &v4l2-event-motion-det; associated with it.
+
+
+
+ V4L2_EVENT_PRIVATE_START
+ 0x08000000
+ Base event number for driver-private events.
+
+
+
+
+
struct v4l2_event_vsync
@@ -164,7 +287,7 @@
__u32
changes
- A bitmask that tells what has changed. See .
+ A bitmask that tells what has changed. See .
__u32
@@ -242,8 +365,62 @@
-
- Changes
+
+ struct v4l2_event_src_change
+
+ &cs-str;
+
+
+ __u32
+ changes
+
+ A bitmask that tells what has changed. See .
+
+
+
+
+
+
+
+ struct v4l2_event_motion_det
+
+ &cs-str;
+
+
+ __u32
+ flags
+
+ Currently only one flag is available: if V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ
+ is set, then the frame_sequence field is valid,
+ otherwise that field should be ignored.
+
+
+
+ __u32
+ frame_sequence
+
+ The sequence number of the frame being received. Only valid if the
+ V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ flag was set.
+
+
+
+ __u32
+ region_mask
+
+ The bitmask of the regions that reported motion. There is at least one
+ region. If this field is 0, then no motion was detected at all.
+ If there is no V4L2_CID_DETECT_MD_REGION_GRID control
+ (see ) to assign a different region
+ to each cell in the motion detection grid, then that all cells
+ are automatically assigned to the default region 0.
+
+
+
+
+
+
+
+ Control Changes
&cs-def;
@@ -251,9 +428,9 @@
V4L2_EVENT_CTRL_CH_VALUE
0x0001
This control event was triggered because the value of the control
- changed. Special case: if a button control is pressed, then this
- event is sent as well, even though there is not explicit value
- associated with a button control.
+ changed. Special cases: Volatile controls do no generate this event;
+ If a control has the V4L2_CTRL_FLAG_EXECUTE_ON_WRITE
+ flag set, then this event is sent as well, regardless its value.
V4L2_EVENT_CTRL_CH_FLAGS
@@ -269,6 +446,23 @@
+
+
+
+ Source Changes
+
+ &cs-def;
+
+
+ V4L2_EVENT_SRC_CH_RESOLUTION
+ 0x0001
+ This event gets triggered when a resolution change is
+ detected at an input. This can come from an input connector or
+ from a video decoder.
+
+
+
+