Lines Matching +full:hardware +full:- +full:triggered

1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
13 VIDIOC_DQEVENT - Dequeue event
46 .. flat-table:: struct v4l2_event
47 :header-rows: 0
48 :stub-columns: 0
51 * - __u32
52 - ``type``
53 - Type of the event, see :ref:`event-type`.
54 * - union {
55 - ``u``
56 * - struct :c:type:`v4l2_event_vsync`
57 - ``vsync``
58 - Event data for event ``V4L2_EVENT_VSYNC``.
59 * - struct :c:type:`v4l2_event_ctrl`
60 - ``ctrl``
61 - Event data for event ``V4L2_EVENT_CTRL``.
62 * - struct :c:type:`v4l2_event_frame_sync`
63 - ``frame_sync``
64 - Event data for event ``V4L2_EVENT_FRAME_SYNC``.
65 * - struct :c:type:`v4l2_event_motion_det`
66 - ``motion_det``
67 - Event data for event V4L2_EVENT_MOTION_DET.
68 * - struct :c:type:`v4l2_event_src_change`
69 - ``src_change``
70 - Event data for event V4L2_EVENT_SOURCE_CHANGE.
71 * - __u8
72 - ``data``\ [64]
73 - Event data. Defined by the event type. The union should be used to
75 * - }
76 -
77 * - __u32
78 - ``pending``
79 - Number of pending events excluding this one.
80 * - __u32
81 - ``sequence``
82 - Event sequence number. The sequence number is incremented for
85 * - struct timespec
86 - ``timestamp``
87 - Event timestamp. The timestamp has been taken from the
90 * - u32
91 - ``id``
92 - The ID associated with the event source. If the event does not
95 * - __u32
96 - ``reserved``\ [8]
97 - Reserved for future extensions. Drivers must set the array to
105 .. _event-type:
107 .. flat-table:: Event Types
108 :header-rows: 0
109 :stub-columns: 0
112 * - ``V4L2_EVENT_ALL``
113 - 0
114 - All events. V4L2_EVENT_ALL is valid only for
116 * - ``V4L2_EVENT_VSYNC``
117 - 1
118 - This event is triggered on the vertical sync. This event has a
121 * - ``V4L2_EVENT_EOS``
122 - 2
123 - This event is triggered when the end of a stream is reached. This
126 * - ``V4L2_EVENT_CTRL``
127 - 3
128 - This event requires that the ``id`` matches the control ID from
129 which you want to receive events. This event is triggered if the
134 :ref:`v4l2_queryctrl <v4l2-queryctrl>` and struct
148 second-oldest event is kept, but the ``changes`` field of the
149 second-oldest event is ORed with the ``changes`` field of the
151 * - ``V4L2_EVENT_FRAME_SYNC``
152 - 4
153 - Triggered immediately when the reception of a frame has begun.
158 If the hardware needs to be stopped in the case of a buffer
164 * - ``V4L2_EVENT_SOURCE_CHANGE``
165 - 5
166 - This event is triggered when a source parameter change is detected
168 change triggered by a video decoder or the format change happening
180 * - ``V4L2_EVENT_MOTION_DET``
181 - 6
182 - Triggered whenever the motion detection state for one or more of
186 * - ``V4L2_EVENT_PRIVATE_START``
187 - 0x08000000
188 - Base event number for driver-private events.
195 .. flat-table:: struct v4l2_event_vsync
196 :header-rows: 0
197 :stub-columns: 0
200 * - __u8
201 - ``field``
202 - The upcoming field. See enum :c:type:`v4l2_field`.
209 .. flat-table:: struct v4l2_event_ctrl
210 :header-rows: 0
211 :stub-columns: 0
214 * - __u32
215 - ``changes``
216 - A bitmask that tells what has changed. See
217 :ref:`ctrl-changes-flags`.
218 * - __u32
219 - ``type``
220 - The type of the control. See enum
222 * - union {
223 - (anonymous)
224 * - __s32
225 - ``value``
226 - The 32-bit value of the control for 32-bit control types. This is
229 * - __s64
230 - ``value64``
231 - The 64-bit value of the control for 64-bit control types.
232 * - }
233 -
234 * - __u32
235 - ``flags``
236 - The control flags. See :ref:`control-flags`.
237 * - __s32
238 - ``minimum``
239 - The minimum value of the control. See struct
240 :ref:`v4l2_queryctrl <v4l2-queryctrl>`.
241 * - __s32
242 - ``maximum``
243 - The maximum value of the control. See struct
244 :ref:`v4l2_queryctrl <v4l2-queryctrl>`.
245 * - __s32
246 - ``step``
247 - The step value of the control. See struct
248 :ref:`v4l2_queryctrl <v4l2-queryctrl>`.
249 * - __s32
250 - ``default_value``
251 - The default value of the control. See struct
252 :ref:`v4l2_queryctrl <v4l2-queryctrl>`.
259 .. flat-table:: struct v4l2_event_frame_sync
260 :header-rows: 0
261 :stub-columns: 0
264 * - __u32
265 - ``frame_sequence``
266 - The sequence number of the frame being received.
273 .. flat-table:: struct v4l2_event_src_change
274 :header-rows: 0
275 :stub-columns: 0
278 * - __u32
279 - ``changes``
280 - A bitmask that tells what has changed. See
281 :ref:`src-changes-flags`.
288 .. flat-table:: struct v4l2_event_motion_det
289 :header-rows: 0
290 :stub-columns: 0
293 * - __u32
294 - ``flags``
295 - Currently only one flag is available: if
299 * - __u32
300 - ``frame_sequence``
301 - The sequence number of the frame being received. Only valid if the
303 * - __u32
304 - ``region_mask``
305 - The bitmask of the regions that reported motion. There is at least
308 (see :ref:`detect-controls`) to assign a different region to
315 .. _ctrl-changes-flags:
317 .. flat-table:: Control Changes
318 :header-rows: 0
319 :stub-columns: 0
322 * - ``V4L2_EVENT_CTRL_CH_VALUE``
323 - 0x0001
324 - This control event was triggered because the value of the control
328 * - ``V4L2_EVENT_CTRL_CH_FLAGS``
329 - 0x0002
330 - This control event was triggered because the control flags
332 * - ``V4L2_EVENT_CTRL_CH_RANGE``
333 - 0x0004
334 - This control event was triggered because the minimum, maximum,
340 .. _src-changes-flags:
342 .. flat-table:: Source Changes
343 :header-rows: 0
344 :stub-columns: 0
347 * - ``V4L2_EVENT_SRC_CH_RESOLUTION``
348 - 0x0001
349 - This event gets triggered when a resolution change is detected at
366 the hardware to synchronize to the video signal.
371 On success 0 is returned, on error -1 and the ``errno`` variable is set
373 :ref:`Generic Error Codes <gen-errors>` chapter.