Lines Matching +full:hardware +full:- +full:triggered
1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
13 VIDIOC_DQEVENT - Dequeue event
45 .. flat-table:: struct v4l2_event
46 :header-rows: 0
47 :stub-columns: 0
50 * - __u32
51 - ``type``
52 - Type of the event, see :ref:`event-type`.
53 * - union {
54 - ``u``
55 * - struct :c:type:`v4l2_event_vsync`
56 - ``vsync``
57 - Event data for event ``V4L2_EVENT_VSYNC``.
58 * - struct :c:type:`v4l2_event_ctrl`
59 - ``ctrl``
60 - Event data for event ``V4L2_EVENT_CTRL``.
61 * - struct :c:type:`v4l2_event_frame_sync`
62 - ``frame_sync``
63 - Event data for event ``V4L2_EVENT_FRAME_SYNC``.
64 * - struct :c:type:`v4l2_event_motion_det`
65 - ``motion_det``
66 - Event data for event V4L2_EVENT_MOTION_DET.
67 * - struct :c:type:`v4l2_event_src_change`
68 - ``src_change``
69 - Event data for event V4L2_EVENT_SOURCE_CHANGE.
70 * - __u8
71 - ``data``\ [64]
72 - Event data. Defined by the event type. The union should be used to
74 * - }
75 -
76 * - __u32
77 - ``pending``
78 - Number of pending events excluding this one.
79 * - __u32
80 - ``sequence``
81 - Event sequence number. The sequence number is incremented for
84 * - struct timespec
85 - ``timestamp``
86 - Event timestamp. The timestamp has been taken from the
89 * - u32
90 - ``id``
91 - The ID associated with the event source. If the event does not
94 * - __u32
95 - ``reserved``\ [8]
96 - Reserved for future extensions. Drivers must set the array to
104 .. _event-type:
106 .. flat-table:: Event Types
107 :header-rows: 0
108 :stub-columns: 0
111 * - ``V4L2_EVENT_ALL``
112 - 0
113 - All events. V4L2_EVENT_ALL is valid only for
115 * - ``V4L2_EVENT_VSYNC``
116 - 1
117 - This event is triggered on the vertical sync. This event has a
120 * - ``V4L2_EVENT_EOS``
121 - 2
122 - This event is triggered when the end of a stream is reached. This
125 * - ``V4L2_EVENT_CTRL``
126 - 3
127 - This event requires that the ``id`` matches the control ID from
128 which you want to receive events. This event is triggered if the
133 :ref:`v4l2_queryctrl <v4l2-queryctrl>` and struct
147 second-oldest event is kept, but the ``changes`` field of the
148 second-oldest event is ORed with the ``changes`` field of the
150 * - ``V4L2_EVENT_FRAME_SYNC``
151 - 4
152 - Triggered immediately when the reception of a frame has begun.
157 If the hardware needs to be stopped in the case of a buffer
163 * - ``V4L2_EVENT_SOURCE_CHANGE``
164 - 5
165 - This event is triggered when a source parameter change is detected
167 change triggered by a video decoder or the format change happening
179 * - ``V4L2_EVENT_MOTION_DET``
180 - 6
181 - Triggered whenever the motion detection state for one or more of
185 * - ``V4L2_EVENT_PRIVATE_START``
186 - 0x08000000
187 - Base event number for driver-private events.
194 .. flat-table:: struct v4l2_event_vsync
195 :header-rows: 0
196 :stub-columns: 0
199 * - __u8
200 - ``field``
201 - The upcoming field. See enum :c:type:`v4l2_field`.
208 .. flat-table:: struct v4l2_event_ctrl
209 :header-rows: 0
210 :stub-columns: 0
213 * - __u32
214 - ``changes``
215 - A bitmask that tells what has changed. See
216 :ref:`ctrl-changes-flags`.
217 * - __u32
218 - ``type``
219 - The type of the control. See enum
221 * - union {
222 - (anonymous)
223 * - __s32
224 - ``value``
225 - The 32-bit value of the control for 32-bit control types. This is
228 * - __s64
229 - ``value64``
230 - The 64-bit value of the control for 64-bit control types.
231 * - }
232 -
233 * - __u32
234 - ``flags``
235 - The control flags. See :ref:`control-flags`.
236 * - __s32
237 - ``minimum``
238 - The minimum value of the control. See struct
239 :ref:`v4l2_queryctrl <v4l2-queryctrl>`.
240 * - __s32
241 - ``maximum``
242 - The maximum value of the control. See struct
243 :ref:`v4l2_queryctrl <v4l2-queryctrl>`.
244 * - __s32
245 - ``step``
246 - The step value of the control. See struct
247 :ref:`v4l2_queryctrl <v4l2-queryctrl>`.
248 * - __s32
249 - ``default_value``
250 - The default value of the control. See struct
251 :ref:`v4l2_queryctrl <v4l2-queryctrl>`.
258 .. flat-table:: struct v4l2_event_frame_sync
259 :header-rows: 0
260 :stub-columns: 0
263 * - __u32
264 - ``frame_sequence``
265 - The sequence number of the frame being received.
272 .. flat-table:: struct v4l2_event_src_change
273 :header-rows: 0
274 :stub-columns: 0
277 * - __u32
278 - ``changes``
279 - A bitmask that tells what has changed. See
280 :ref:`src-changes-flags`.
287 .. flat-table:: struct v4l2_event_motion_det
288 :header-rows: 0
289 :stub-columns: 0
292 * - __u32
293 - ``flags``
294 - Currently only one flag is available: if
298 * - __u32
299 - ``frame_sequence``
300 - The sequence number of the frame being received. Only valid if the
302 * - __u32
303 - ``region_mask``
304 - The bitmask of the regions that reported motion. There is at least
307 (see :ref:`detect-controls`) to assign a different region to
314 .. _ctrl-changes-flags:
316 .. flat-table:: Control Changes
317 :header-rows: 0
318 :stub-columns: 0
321 * - ``V4L2_EVENT_CTRL_CH_VALUE``
322 - 0x0001
323 - This control event was triggered because the value of the control
327 * - ``V4L2_EVENT_CTRL_CH_FLAGS``
328 - 0x0002
329 - This control event was triggered because the control flags
331 * - ``V4L2_EVENT_CTRL_CH_RANGE``
332 - 0x0004
333 - This control event was triggered because the minimum, maximum,
335 * - ``V4L2_EVENT_CTRL_CH_DIMENSIONS``
336 - 0x0008
337 - This control event was triggered because the dimensions of the
344 .. _src-changes-flags:
346 .. flat-table:: Source Changes
347 :header-rows: 0
348 :stub-columns: 0
351 * - ``V4L2_EVENT_SRC_CH_RESOLUTION``
352 - 0x0001
353 - This event gets triggered when a resolution change is detected at
370 the hardware to synchronize to the video signal.
375 On success 0 is returned, on error -1 and the ``errno`` variable is set
377 :ref:`Generic Error Codes <gen-errors>` chapter.