diff options
Diffstat (limited to 'Documentation/DocBook/dvb/video.xml')
-rw-r--r-- | Documentation/DocBook/dvb/video.xml | 1971 |
1 files changed, 1971 insertions, 0 deletions
diff --git a/Documentation/DocBook/dvb/video.xml b/Documentation/DocBook/dvb/video.xml new file mode 100644 index 000000000000..7bb287e67c8e --- /dev/null +++ b/Documentation/DocBook/dvb/video.xml | |||
@@ -0,0 +1,1971 @@ | |||
1 | <title>DVB Video Device</title> | ||
2 | <para>The DVB video device controls the MPEG2 video decoder of the DVB hardware. It | ||
3 | can be accessed through <emphasis role="tt">/dev/dvb/adapter0/video0</emphasis>. Data types and and | ||
4 | ioctl definitions can be accessed by including <emphasis role="tt">linux/dvb/video.h</emphasis> in your | ||
5 | application. | ||
6 | </para> | ||
7 | <para>Note that the DVB video device only controls decoding of the MPEG video stream, not | ||
8 | its presentation on the TV or computer screen. On PCs this is typically handled by an | ||
9 | associated video4linux device, e.g. <emphasis role="tt">/dev/video</emphasis>, which allows scaling and defining output | ||
10 | windows. | ||
11 | </para> | ||
12 | <para>Some DVB cards don’t have their own MPEG decoder, which results in the omission of | ||
13 | the audio and video device as well as the video4linux device. | ||
14 | </para> | ||
15 | <para>The ioctls that deal with SPUs (sub picture units) and navigation packets are only | ||
16 | supported on some MPEG decoders made for DVD playback. | ||
17 | </para> | ||
18 | <section id="video_types"> | ||
19 | <title>Video Data Types</title> | ||
20 | |||
21 | <section id="video_format_t"> | ||
22 | <title>video_format_t</title> | ||
23 | <para>The <emphasis role="tt">video_format_t</emphasis> data type defined by | ||
24 | </para> | ||
25 | <programlisting> | ||
26 | typedef enum { | ||
27 | VIDEO_FORMAT_4_3, | ||
28 | VIDEO_FORMAT_16_9 | ||
29 | } video_format_t; | ||
30 | </programlisting> | ||
31 | <para>is used in the VIDEO_SET_FORMAT function (??) to tell the driver which aspect ratio | ||
32 | the output hardware (e.g. TV) has. It is also used in the data structures video_status | ||
33 | (??) returned by VIDEO_GET_STATUS (??) and video_event (??) returned by | ||
34 | VIDEO_GET_EVENT (??) which report about the display format of the current video | ||
35 | stream. | ||
36 | </para> | ||
37 | </section> | ||
38 | |||
39 | <section id="video_display_format_t"> | ||
40 | <title>video_display_format_t</title> | ||
41 | <para>In case the display format of the video stream and of the display hardware differ the | ||
42 | application has to specify how to handle the cropping of the picture. This can be done using | ||
43 | the VIDEO_SET_DISPLAY_FORMAT call (??) which accepts | ||
44 | </para> | ||
45 | <programlisting> | ||
46 | typedef enum { | ||
47 | VIDEO_PAN_SCAN, | ||
48 | VIDEO_LETTER_BOX, | ||
49 | VIDEO_CENTER_CUT_OUT | ||
50 | } video_display_format_t; | ||
51 | </programlisting> | ||
52 | <para>as argument. | ||
53 | </para> | ||
54 | </section> | ||
55 | |||
56 | <section id="video_stream_source"> | ||
57 | <title>video stream source</title> | ||
58 | <para>The video stream source is set through the VIDEO_SELECT_SOURCE call and can take | ||
59 | the following values, depending on whether we are replaying from an internal (demuxer) or | ||
60 | external (user write) source. | ||
61 | </para> | ||
62 | <programlisting> | ||
63 | typedef enum { | ||
64 | VIDEO_SOURCE_DEMUX, | ||
65 | VIDEO_SOURCE_MEMORY | ||
66 | } video_stream_source_t; | ||
67 | </programlisting> | ||
68 | <para>VIDEO_SOURCE_DEMUX selects the demultiplexer (fed either by the frontend or the | ||
69 | DVR device) as the source of the video stream. If VIDEO_SOURCE_MEMORY | ||
70 | is selected the stream comes from the application through the <emphasis role="tt">write()</emphasis> system | ||
71 | call. | ||
72 | </para> | ||
73 | </section> | ||
74 | |||
75 | <section id="video_play_state"> | ||
76 | <title>video play state</title> | ||
77 | <para>The following values can be returned by the VIDEO_GET_STATUS call representing the | ||
78 | state of video playback. | ||
79 | </para> | ||
80 | <programlisting> | ||
81 | typedef enum { | ||
82 | VIDEO_STOPPED, | ||
83 | VIDEO_PLAYING, | ||
84 | VIDEO_FREEZED | ||
85 | } video_play_state_t; | ||
86 | </programlisting> | ||
87 | </section> | ||
88 | |||
89 | <section id="video_event"> | ||
90 | <title>struct video_event</title> | ||
91 | <para>The following is the structure of a video event as it is returned by the VIDEO_GET_EVENT | ||
92 | call. | ||
93 | </para> | ||
94 | <programlisting> | ||
95 | struct video_event { | ||
96 | int32_t type; | ||
97 | time_t timestamp; | ||
98 | union { | ||
99 | video_format_t video_format; | ||
100 | } u; | ||
101 | }; | ||
102 | </programlisting> | ||
103 | </section> | ||
104 | |||
105 | <section id="video_status"> | ||
106 | <title>struct video_status</title> | ||
107 | <para>The VIDEO_GET_STATUS call returns the following structure informing about various | ||
108 | states of the playback operation. | ||
109 | </para> | ||
110 | <programlisting> | ||
111 | struct video_status { | ||
112 | boolean video_blank; | ||
113 | video_play_state_t play_state; | ||
114 | video_stream_source_t stream_source; | ||
115 | video_format_t video_format; | ||
116 | video_displayformat_t display_format; | ||
117 | }; | ||
118 | </programlisting> | ||
119 | <para>If video_blank is set video will be blanked out if the channel is changed or if playback is | ||
120 | stopped. Otherwise, the last picture will be displayed. play_state indicates if the video is | ||
121 | currently frozen, stopped, or being played back. The stream_source corresponds to the seleted | ||
122 | source for the video stream. It can come either from the demultiplexer or from memory. | ||
123 | The video_format indicates the aspect ratio (one of 4:3 or 16:9) of the currently | ||
124 | played video stream. Finally, display_format corresponds to the selected cropping | ||
125 | mode in case the source video format is not the same as the format of the output | ||
126 | device. | ||
127 | </para> | ||
128 | </section> | ||
129 | |||
130 | <section id="video_still_picture"> | ||
131 | <title>struct video_still_picture</title> | ||
132 | <para>An I-frame displayed via the VIDEO_STILLPICTURE call is passed on within the | ||
133 | following structure. | ||
134 | </para> | ||
135 | <programlisting> | ||
136 | /⋆ pointer to and size of a single iframe in memory ⋆/ | ||
137 | struct video_still_picture { | ||
138 | char ⋆iFrame; | ||
139 | int32_t size; | ||
140 | }; | ||
141 | </programlisting> | ||
142 | </section> | ||
143 | |||
144 | <section id="video_caps"> | ||
145 | <title>video capabilities</title> | ||
146 | <para>A call to VIDEO_GET_CAPABILITIES returns an unsigned integer with the following | ||
147 | bits set according to the hardwares capabilities. | ||
148 | </para> | ||
149 | <programlisting> | ||
150 | /⋆ bit definitions for capabilities: ⋆/ | ||
151 | /⋆ can the hardware decode MPEG1 and/or MPEG2? ⋆/ | ||
152 | #define VIDEO_CAP_MPEG1 1 | ||
153 | #define VIDEO_CAP_MPEG2 2 | ||
154 | /⋆ can you send a system and/or program stream to video device? | ||
155 | (you still have to open the video and the audio device but only | ||
156 | send the stream to the video device) ⋆/ | ||
157 | #define VIDEO_CAP_SYS 4 | ||
158 | #define VIDEO_CAP_PROG 8 | ||
159 | /⋆ can the driver also handle SPU, NAVI and CSS encoded data? | ||
160 | (CSS API is not present yet) ⋆/ | ||
161 | #define VIDEO_CAP_SPU 16 | ||
162 | #define VIDEO_CAP_NAVI 32 | ||
163 | #define VIDEO_CAP_CSS 64 | ||
164 | </programlisting> | ||
165 | </section> | ||
166 | |||
167 | <section id="video_system"> | ||
168 | <title>video system</title> | ||
169 | <para>A call to VIDEO_SET_SYSTEM sets the desired video system for TV output. The | ||
170 | following system types can be set: | ||
171 | </para> | ||
172 | <programlisting> | ||
173 | typedef enum { | ||
174 | VIDEO_SYSTEM_PAL, | ||
175 | VIDEO_SYSTEM_NTSC, | ||
176 | VIDEO_SYSTEM_PALN, | ||
177 | VIDEO_SYSTEM_PALNc, | ||
178 | VIDEO_SYSTEM_PALM, | ||
179 | VIDEO_SYSTEM_NTSC60, | ||
180 | VIDEO_SYSTEM_PAL60, | ||
181 | VIDEO_SYSTEM_PALM60 | ||
182 | } video_system_t; | ||
183 | </programlisting> | ||
184 | </section> | ||
185 | |||
186 | <section id="video_highlight"> | ||
187 | <title>struct video_highlight</title> | ||
188 | <para>Calling the ioctl VIDEO_SET_HIGHLIGHTS posts the SPU highlight information. The | ||
189 | call expects the following format for that information: | ||
190 | </para> | ||
191 | <programlisting> | ||
192 | typedef | ||
193 | struct video_highlight { | ||
194 | boolean active; /⋆ 1=show highlight, 0=hide highlight ⋆/ | ||
195 | uint8_t contrast1; /⋆ 7- 4 Pattern pixel contrast ⋆/ | ||
196 | /⋆ 3- 0 Background pixel contrast ⋆/ | ||
197 | uint8_t contrast2; /⋆ 7- 4 Emphasis pixel-2 contrast ⋆/ | ||
198 | /⋆ 3- 0 Emphasis pixel-1 contrast ⋆/ | ||
199 | uint8_t color1; /⋆ 7- 4 Pattern pixel color ⋆/ | ||
200 | /⋆ 3- 0 Background pixel color ⋆/ | ||
201 | uint8_t color2; /⋆ 7- 4 Emphasis pixel-2 color ⋆/ | ||
202 | /⋆ 3- 0 Emphasis pixel-1 color ⋆/ | ||
203 | uint32_t ypos; /⋆ 23-22 auto action mode ⋆/ | ||
204 | /⋆ 21-12 start y ⋆/ | ||
205 | /⋆ 9- 0 end y ⋆/ | ||
206 | uint32_t xpos; /⋆ 23-22 button color number ⋆/ | ||
207 | /⋆ 21-12 start x ⋆/ | ||
208 | /⋆ 9- 0 end x ⋆/ | ||
209 | } video_highlight_t; | ||
210 | </programlisting> | ||
211 | |||
212 | </section> | ||
213 | <section id="video_spu"> | ||
214 | <title>video SPU</title> | ||
215 | <para>Calling VIDEO_SET_SPU deactivates or activates SPU decoding, according to the | ||
216 | following format: | ||
217 | </para> | ||
218 | <programlisting> | ||
219 | typedef | ||
220 | struct video_spu { | ||
221 | boolean active; | ||
222 | int stream_id; | ||
223 | } video_spu_t; | ||
224 | </programlisting> | ||
225 | |||
226 | </section> | ||
227 | <section id="video_spu_palette"> | ||
228 | <title>video SPU palette</title> | ||
229 | <para>The following structure is used to set the SPU palette by calling VIDEO_SPU_PALETTE: | ||
230 | </para> | ||
231 | <programlisting> | ||
232 | typedef | ||
233 | struct video_spu_palette{ | ||
234 | int length; | ||
235 | uint8_t ⋆palette; | ||
236 | } video_spu_palette_t; | ||
237 | </programlisting> | ||
238 | |||
239 | </section> | ||
240 | <section id="video_navi_pack"> | ||
241 | <title>video NAVI pack</title> | ||
242 | <para>In order to get the navigational data the following structure has to be passed to the ioctl | ||
243 | VIDEO_GET_NAVI: | ||
244 | </para> | ||
245 | <programlisting> | ||
246 | typedef | ||
247 | struct video_navi_pack{ | ||
248 | int length; /⋆ 0 ... 1024 ⋆/ | ||
249 | uint8_t data[1024]; | ||
250 | } video_navi_pack_t; | ||
251 | </programlisting> | ||
252 | </section> | ||
253 | |||
254 | |||
255 | <section id="video_attributes"> | ||
256 | <title>video attributes</title> | ||
257 | <para>The following attributes can be set by a call to VIDEO_SET_ATTRIBUTES: | ||
258 | </para> | ||
259 | <programlisting> | ||
260 | typedef uint16_t video_attributes_t; | ||
261 | /⋆ bits: descr. ⋆/ | ||
262 | /⋆ 15-14 Video compression mode (0=MPEG-1, 1=MPEG-2) ⋆/ | ||
263 | /⋆ 13-12 TV system (0=525/60, 1=625/50) ⋆/ | ||
264 | /⋆ 11-10 Aspect ratio (0=4:3, 3=16:9) ⋆/ | ||
265 | /⋆ 9- 8 permitted display mode on 4:3 monitor (0=both, 1=only pan-sca ⋆/ | ||
266 | /⋆ 7 line 21-1 data present in GOP (1=yes, 0=no) ⋆/ | ||
267 | /⋆ 6 line 21-2 data present in GOP (1=yes, 0=no) ⋆/ | ||
268 | /⋆ 5- 3 source resolution (0=720x480/576, 1=704x480/576, 2=352x480/57 ⋆/ | ||
269 | /⋆ 2 source letterboxed (1=yes, 0=no) ⋆/ | ||
270 | /⋆ 0 film/camera mode (0=camera, 1=film (625/50 only)) ⋆/ | ||
271 | </programlisting> | ||
272 | </section></section> | ||
273 | |||
274 | |||
275 | <section id="video_function_calls"> | ||
276 | <title>Video Function Calls</title> | ||
277 | |||
278 | |||
279 | <section id="video_fopen"> | ||
280 | <title>open()</title> | ||
281 | <para>DESCRIPTION | ||
282 | </para> | ||
283 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
284 | align="char"> | ||
285 | <para>This system call opens a named video device (e.g. /dev/dvb/adapter0/video0) | ||
286 | for subsequent use.</para> | ||
287 | <para>When an open() call has succeeded, the device will be ready for use. | ||
288 | The significance of blocking or non-blocking mode is described in the | ||
289 | documentation for functions where there is a difference. It does not affect the | ||
290 | semantics of the open() call itself. A device opened in blocking mode can later | ||
291 | be put into non-blocking mode (and vice versa) using the F_SETFL command | ||
292 | of the fcntl system call. This is a standard system call, documented in the Linux | ||
293 | manual page for fcntl. Only one user can open the Video Device in O_RDWR | ||
294 | mode. All other attempts to open the device in this mode will fail, and an | ||
295 | error-code will be returned. If the Video Device is opened in O_RDONLY | ||
296 | mode, the only ioctl call that can be used is VIDEO_GET_STATUS. All other | ||
297 | call will return an error code.</para> | ||
298 | </entry> | ||
299 | </row></tbody></tgroup></informaltable> | ||
300 | |||
301 | <para>SYNOPSIS | ||
302 | </para> | ||
303 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
304 | align="char"> | ||
305 | <para>int open(const char ⋆deviceName, int flags);</para> | ||
306 | </entry> | ||
307 | </row></tbody></tgroup></informaltable> | ||
308 | <para>PARAMETERS | ||
309 | </para> | ||
310 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
311 | align="char"> | ||
312 | <para>const char | ||
313 | *deviceName</para> | ||
314 | </entry><entry | ||
315 | align="char"> | ||
316 | <para>Name of specific video device.</para> | ||
317 | </entry> | ||
318 | </row><row><entry | ||
319 | align="char"> | ||
320 | <para>int flags</para> | ||
321 | </entry><entry | ||
322 | align="char"> | ||
323 | <para>A bit-wise OR of the following flags:</para> | ||
324 | </entry> | ||
325 | </row><row><entry | ||
326 | align="char"> | ||
327 | </entry><entry | ||
328 | align="char"> | ||
329 | <para>O_RDONLY read-only access</para> | ||
330 | </entry> | ||
331 | </row><row><entry | ||
332 | align="char"> | ||
333 | </entry><entry | ||
334 | align="char"> | ||
335 | <para>O_RDWR read/write access</para> | ||
336 | </entry> | ||
337 | </row><row><entry | ||
338 | align="char"> | ||
339 | </entry><entry | ||
340 | align="char"> | ||
341 | <para>O_NONBLOCK open in non-blocking mode</para> | ||
342 | </entry> | ||
343 | </row><row><entry | ||
344 | align="char"> | ||
345 | </entry><entry | ||
346 | align="char"> | ||
347 | <para>(blocking mode is the default)</para> | ||
348 | </entry> | ||
349 | </row></tbody></tgroup></informaltable> | ||
350 | <para>ERRORS | ||
351 | </para> | ||
352 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
353 | align="char"> | ||
354 | <para>ENODEV</para> | ||
355 | </entry><entry | ||
356 | align="char"> | ||
357 | <para>Device driver not loaded/available.</para> | ||
358 | </entry> | ||
359 | </row><row><entry | ||
360 | align="char"> | ||
361 | <para>EINTERNAL</para> | ||
362 | </entry><entry | ||
363 | align="char"> | ||
364 | <para>Internal error.</para> | ||
365 | </entry> | ||
366 | </row><row><entry | ||
367 | align="char"> | ||
368 | <para>EBUSY</para> | ||
369 | </entry><entry | ||
370 | align="char"> | ||
371 | <para>Device or resource busy.</para> | ||
372 | </entry> | ||
373 | </row><row><entry | ||
374 | align="char"> | ||
375 | <para>EINVAL</para> | ||
376 | </entry><entry | ||
377 | align="char"> | ||
378 | <para>Invalid argument.</para> | ||
379 | </entry> | ||
380 | </row></tbody></tgroup></informaltable> | ||
381 | |||
382 | </section> | ||
383 | <section id="video_fclose"> | ||
384 | <title>close()</title> | ||
385 | <para>DESCRIPTION | ||
386 | </para> | ||
387 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
388 | align="char"> | ||
389 | <para>This system call closes a previously opened video device.</para> | ||
390 | </entry> | ||
391 | </row></tbody></tgroup></informaltable> | ||
392 | <para>SYNOPSIS | ||
393 | </para> | ||
394 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
395 | align="char"> | ||
396 | <para>int close(int fd);</para> | ||
397 | </entry> | ||
398 | </row></tbody></tgroup></informaltable> | ||
399 | <para>PARAMETERS | ||
400 | </para> | ||
401 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
402 | align="char"> | ||
403 | <para>int fd</para> | ||
404 | </entry><entry | ||
405 | align="char"> | ||
406 | <para>File descriptor returned by a previous call to open().</para> | ||
407 | </entry> | ||
408 | </row></tbody></tgroup></informaltable> | ||
409 | <para>ERRORS | ||
410 | </para> | ||
411 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
412 | align="char"> | ||
413 | <para>EBADF</para> | ||
414 | </entry><entry | ||
415 | align="char"> | ||
416 | <para>fd is not a valid open file descriptor.</para> | ||
417 | </entry> | ||
418 | </row></tbody></tgroup></informaltable> | ||
419 | |||
420 | </section> | ||
421 | <section id="video_fwrite"> | ||
422 | <title>write()</title> | ||
423 | <para>DESCRIPTION | ||
424 | </para> | ||
425 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
426 | align="char"> | ||
427 | <para>This system call can only be used if VIDEO_SOURCE_MEMORY is selected | ||
428 | in the ioctl call VIDEO_SELECT_SOURCE. The data provided shall be in | ||
429 | PES format, unless the capability allows other formats. If O_NONBLOCK is | ||
430 | not specified the function will block until buffer space is available. The amount | ||
431 | of data to be transferred is implied by count.</para> | ||
432 | </entry> | ||
433 | </row></tbody></tgroup></informaltable> | ||
434 | <para>SYNOPSIS | ||
435 | </para> | ||
436 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
437 | align="char"> | ||
438 | <para>size_t write(int fd, const void ⋆buf, size_t count);</para> | ||
439 | </entry> | ||
440 | </row></tbody></tgroup></informaltable> | ||
441 | <para>PARAMETERS | ||
442 | </para> | ||
443 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
444 | align="char"> | ||
445 | <para>int fd</para> | ||
446 | </entry><entry | ||
447 | align="char"> | ||
448 | <para>File descriptor returned by a previous call to open().</para> | ||
449 | </entry> | ||
450 | </row><row><entry | ||
451 | align="char"> | ||
452 | <para>void *buf</para> | ||
453 | </entry><entry | ||
454 | align="char"> | ||
455 | <para>Pointer to the buffer containing the PES data.</para> | ||
456 | </entry> | ||
457 | </row><row><entry | ||
458 | align="char"> | ||
459 | <para>size_t count</para> | ||
460 | </entry><entry | ||
461 | align="char"> | ||
462 | <para>Size of buf.</para> | ||
463 | </entry> | ||
464 | </row></tbody></tgroup></informaltable> | ||
465 | <para>ERRORS | ||
466 | </para> | ||
467 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
468 | align="char"> | ||
469 | <para>EPERM</para> | ||
470 | </entry><entry | ||
471 | align="char"> | ||
472 | <para>Mode VIDEO_SOURCE_MEMORY not selected.</para> | ||
473 | </entry> | ||
474 | </row><row><entry | ||
475 | align="char"> | ||
476 | <para>ENOMEM</para> | ||
477 | </entry><entry | ||
478 | align="char"> | ||
479 | <para>Attempted to write more data than the internal buffer can | ||
480 | hold.</para> | ||
481 | </entry> | ||
482 | </row><row><entry | ||
483 | align="char"> | ||
484 | <para>EBADF</para> | ||
485 | </entry><entry | ||
486 | align="char"> | ||
487 | <para>fd is not a valid open file descriptor.</para> | ||
488 | </entry> | ||
489 | </row></tbody></tgroup></informaltable> | ||
490 | |||
491 | </section><section | ||
492 | role="subsection"><title>VIDEO_STOP</title> | ||
493 | <para>DESCRIPTION | ||
494 | </para> | ||
495 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
496 | align="char"> | ||
497 | <para>This ioctl call asks the Video Device to stop playing the current stream. | ||
498 | Depending on the input parameter, the screen can be blanked out or displaying | ||
499 | the last decoded frame.</para> | ||
500 | </entry> | ||
501 | </row></tbody></tgroup></informaltable> | ||
502 | <para>SYNOPSIS | ||
503 | </para> | ||
504 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
505 | align="char"> | ||
506 | <para>int ioctl(fd, int request = VIDEO_STOP, boolean | ||
507 | mode);</para> | ||
508 | </entry> | ||
509 | </row></tbody></tgroup></informaltable> | ||
510 | <para>PARAMETERS | ||
511 | </para> | ||
512 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
513 | align="char"> | ||
514 | <para>int fd</para> | ||
515 | </entry><entry | ||
516 | align="char"> | ||
517 | <para>File descriptor returned by a previous call to open().</para> | ||
518 | </entry> | ||
519 | </row><row><entry | ||
520 | align="char"> | ||
521 | <para>int request</para> | ||
522 | </entry><entry | ||
523 | align="char"> | ||
524 | <para>Equals VIDEO_STOP for this command.</para> | ||
525 | </entry> | ||
526 | </row><row><entry | ||
527 | align="char"> | ||
528 | <para>Boolean mode</para> | ||
529 | </entry><entry | ||
530 | align="char"> | ||
531 | <para>Indicates how the screen shall be handled.</para> | ||
532 | </entry> | ||
533 | </row><row><entry | ||
534 | align="char"> | ||
535 | </entry><entry | ||
536 | align="char"> | ||
537 | <para>TRUE: Blank screen when stop.</para> | ||
538 | </entry> | ||
539 | </row><row><entry | ||
540 | align="char"> | ||
541 | </entry><entry | ||
542 | align="char"> | ||
543 | <para>FALSE: Show last decoded frame.</para> | ||
544 | </entry> | ||
545 | </row></tbody></tgroup></informaltable> | ||
546 | <para>ERRORS | ||
547 | </para> | ||
548 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
549 | align="char"> | ||
550 | <para>EBADF</para> | ||
551 | </entry><entry | ||
552 | align="char"> | ||
553 | <para>fd is not a valid open file descriptor</para> | ||
554 | </entry> | ||
555 | </row><row><entry | ||
556 | align="char"> | ||
557 | <para>EINTERNAL</para> | ||
558 | </entry><entry | ||
559 | align="char"> | ||
560 | <para>Internal error, possibly in the communication with the | ||
561 | DVB subsystem.</para> | ||
562 | </entry> | ||
563 | </row></tbody></tgroup></informaltable> | ||
564 | |||
565 | </section><section | ||
566 | role="subsection"><title>VIDEO_PLAY</title> | ||
567 | <para>DESCRIPTION | ||
568 | </para> | ||
569 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
570 | align="char"> | ||
571 | <para>This ioctl call asks the Video Device to start playing a video stream from the | ||
572 | selected source.</para> | ||
573 | </entry> | ||
574 | </row></tbody></tgroup></informaltable> | ||
575 | <para>SYNOPSIS | ||
576 | </para> | ||
577 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
578 | align="char"> | ||
579 | <para>int ioctl(fd, int request = VIDEO_PLAY);</para> | ||
580 | </entry> | ||
581 | </row></tbody></tgroup></informaltable> | ||
582 | <para>PARAMETERS | ||
583 | </para> | ||
584 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
585 | align="char"> | ||
586 | <para>int fd</para> | ||
587 | </entry><entry | ||
588 | align="char"> | ||
589 | <para>File descriptor returned by a previous call to open().</para> | ||
590 | </entry> | ||
591 | </row><row><entry | ||
592 | align="char"> | ||
593 | <para>int request</para> | ||
594 | </entry><entry | ||
595 | align="char"> | ||
596 | <para>Equals VIDEO_PLAY for this command.</para> | ||
597 | </entry> | ||
598 | </row></tbody></tgroup></informaltable> | ||
599 | <para>ERRORS | ||
600 | </para> | ||
601 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
602 | align="char"> | ||
603 | <para>EBADF</para> | ||
604 | </entry><entry | ||
605 | align="char"> | ||
606 | <para>fd is not a valid open file descriptor</para> | ||
607 | </entry> | ||
608 | </row><row><entry | ||
609 | align="char"> | ||
610 | <para>EINTERNAL</para> | ||
611 | </entry><entry | ||
612 | align="char"> | ||
613 | <para>Internal error, possibly in the communication with the | ||
614 | DVB subsystem.</para> | ||
615 | </entry> | ||
616 | </row></tbody></tgroup></informaltable> | ||
617 | |||
618 | </section><section | ||
619 | role="subsection"><title>VIDEO_FREEZE</title> | ||
620 | <para>DESCRIPTION | ||
621 | </para> | ||
622 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
623 | align="char"> | ||
624 | <para>This ioctl call suspends the live video stream being played. Decoding | ||
625 | and playing are frozen. It is then possible to restart the decoding | ||
626 | and playing process of the video stream using the VIDEO_CONTINUE | ||
627 | command. If VIDEO_SOURCE_MEMORY is selected in the ioctl call | ||
628 | VIDEO_SELECT_SOURCE, the DVB subsystem will not decode any more | ||
629 | data until the ioctl call VIDEO_CONTINUE or VIDEO_PLAY is performed.</para> | ||
630 | </entry> | ||
631 | </row></tbody></tgroup></informaltable> | ||
632 | <para>SYNOPSIS | ||
633 | </para> | ||
634 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
635 | align="char"> | ||
636 | <para>int ioctl(fd, int request = VIDEO_FREEZE);</para> | ||
637 | </entry> | ||
638 | </row></tbody></tgroup></informaltable> | ||
639 | <para>PARAMETERS | ||
640 | </para> | ||
641 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
642 | align="char"> | ||
643 | <para>int fd</para> | ||
644 | </entry><entry | ||
645 | align="char"> | ||
646 | <para>File descriptor returned by a previous call to open().</para> | ||
647 | </entry> | ||
648 | </row><row><entry | ||
649 | align="char"> | ||
650 | <para>int request</para> | ||
651 | </entry><entry | ||
652 | align="char"> | ||
653 | <para>Equals VIDEO_FREEZE for this command.</para> | ||
654 | </entry> | ||
655 | </row></tbody></tgroup></informaltable> | ||
656 | <para>ERRORS | ||
657 | </para> | ||
658 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
659 | align="char"> | ||
660 | <para>EBADF</para> | ||
661 | </entry><entry | ||
662 | align="char"> | ||
663 | <para>fd is not a valid open file descriptor</para> | ||
664 | </entry> | ||
665 | </row><row><entry | ||
666 | align="char"> | ||
667 | <para>EINTERNAL</para> | ||
668 | </entry><entry | ||
669 | align="char"> | ||
670 | <para>Internal error, possibly in the communication with the | ||
671 | DVB subsystem.</para> | ||
672 | </entry> | ||
673 | </row></tbody></tgroup></informaltable> | ||
674 | |||
675 | </section><section | ||
676 | role="subsection"><title>VIDEO_CONTINUE</title> | ||
677 | <para>DESCRIPTION | ||
678 | </para> | ||
679 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
680 | align="char"> | ||
681 | <para>This ioctl call restarts decoding and playing processes of the video stream | ||
682 | which was played before a call to VIDEO_FREEZE was made.</para> | ||
683 | </entry> | ||
684 | </row></tbody></tgroup></informaltable> | ||
685 | <para>SYNOPSIS | ||
686 | </para> | ||
687 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
688 | align="char"> | ||
689 | <para>int ioctl(fd, int request = VIDEO_CONTINUE);</para> | ||
690 | </entry> | ||
691 | </row></tbody></tgroup></informaltable> | ||
692 | <para>PARAMETERS | ||
693 | </para> | ||
694 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
695 | align="char"> | ||
696 | <para>int fd</para> | ||
697 | </entry><entry | ||
698 | align="char"> | ||
699 | <para>File descriptor returned by a previous call to open().</para> | ||
700 | </entry> | ||
701 | </row><row><entry | ||
702 | align="char"> | ||
703 | <para>int request</para> | ||
704 | </entry><entry | ||
705 | align="char"> | ||
706 | <para>Equals VIDEO_CONTINUE for this command.</para> | ||
707 | </entry> | ||
708 | </row></tbody></tgroup></informaltable> | ||
709 | <para>ERRORS | ||
710 | </para> | ||
711 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
712 | align="char"> | ||
713 | <para>EBADF</para> | ||
714 | </entry><entry | ||
715 | align="char"> | ||
716 | <para>fd is not a valid open file descriptor</para> | ||
717 | </entry> | ||
718 | </row><row><entry | ||
719 | align="char"> | ||
720 | <para>EINTERNAL</para> | ||
721 | </entry><entry | ||
722 | align="char"> | ||
723 | <para>Internal error, possibly in the communication with the | ||
724 | DVB subsystem.</para> | ||
725 | </entry> | ||
726 | </row></tbody></tgroup></informaltable> | ||
727 | |||
728 | </section><section | ||
729 | role="subsection"><title>VIDEO_SELECT_SOURCE</title> | ||
730 | <para>DESCRIPTION | ||
731 | </para> | ||
732 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
733 | align="char"> | ||
734 | <para>This ioctl call informs the video device which source shall be used for the input | ||
735 | data. The possible sources are demux or memory. If memory is selected, the | ||
736 | data is fed to the video device through the write command.</para> | ||
737 | </entry> | ||
738 | </row></tbody></tgroup></informaltable> | ||
739 | <para>SYNOPSIS | ||
740 | </para> | ||
741 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
742 | align="char"> | ||
743 | <para>int ioctl(fd, int request = VIDEO_SELECT_SOURCE, | ||
744 | video_stream_source_t source);</para> | ||
745 | </entry> | ||
746 | </row></tbody></tgroup></informaltable> | ||
747 | <para>PARAMETERS | ||
748 | </para> | ||
749 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
750 | align="char"> | ||
751 | <para>int fd</para> | ||
752 | </entry><entry | ||
753 | align="char"> | ||
754 | <para>File descriptor returned by a previous call to open().</para> | ||
755 | </entry> | ||
756 | </row><row><entry | ||
757 | align="char"> | ||
758 | <para>int request</para> | ||
759 | </entry><entry | ||
760 | align="char"> | ||
761 | <para>Equals VIDEO_SELECT_SOURCE for this command.</para> | ||
762 | </entry> | ||
763 | </row><row><entry | ||
764 | align="char"> | ||
765 | <para>video_stream_source_t | ||
766 | source</para> | ||
767 | </entry><entry | ||
768 | align="char"> | ||
769 | <para>Indicates which source shall be used for the Video stream.</para> | ||
770 | </entry> | ||
771 | </row></tbody></tgroup></informaltable> | ||
772 | <para>ERRORS | ||
773 | </para> | ||
774 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
775 | align="char"> | ||
776 | <para>EBADF</para> | ||
777 | </entry><entry | ||
778 | align="char"> | ||
779 | <para>fd is not a valid open file descriptor</para> | ||
780 | </entry> | ||
781 | </row><row><entry | ||
782 | align="char"> | ||
783 | <para>EINTERNAL</para> | ||
784 | </entry><entry | ||
785 | align="char"> | ||
786 | <para>Internal error, possibly in the communication with the | ||
787 | DVB subsystem.</para> | ||
788 | </entry> | ||
789 | </row></tbody></tgroup></informaltable> | ||
790 | |||
791 | </section><section | ||
792 | role="subsection"><title>VIDEO_SET_BLANK</title> | ||
793 | <para>DESCRIPTION | ||
794 | </para> | ||
795 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
796 | align="char"> | ||
797 | <para>This ioctl call asks the Video Device to blank out the picture.</para> | ||
798 | </entry> | ||
799 | </row></tbody></tgroup></informaltable> | ||
800 | <para>SYNOPSIS | ||
801 | </para> | ||
802 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
803 | align="char"> | ||
804 | <para>int ioctl(fd, int request = VIDEO_SET_BLANK, boolean | ||
805 | mode);</para> | ||
806 | </entry> | ||
807 | </row></tbody></tgroup></informaltable> | ||
808 | <para>PARAMETERS | ||
809 | </para> | ||
810 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
811 | align="char"> | ||
812 | <para>int fd</para> | ||
813 | </entry><entry | ||
814 | align="char"> | ||
815 | <para>File descriptor returned by a previous call to open().</para> | ||
816 | </entry> | ||
817 | </row><row><entry | ||
818 | align="char"> | ||
819 | <para>int request</para> | ||
820 | </entry><entry | ||
821 | align="char"> | ||
822 | <para>Equals VIDEO_SET_BLANK for this command.</para> | ||
823 | </entry> | ||
824 | </row><row><entry | ||
825 | align="char"> | ||
826 | <para>boolean mode</para> | ||
827 | </entry><entry | ||
828 | align="char"> | ||
829 | <para>TRUE: Blank screen when stop.</para> | ||
830 | </entry> | ||
831 | </row><row><entry | ||
832 | align="char"> | ||
833 | </entry><entry | ||
834 | align="char"> | ||
835 | <para>FALSE: Show last decoded frame.</para> | ||
836 | </entry> | ||
837 | </row></tbody></tgroup></informaltable> | ||
838 | <para>ERRORS | ||
839 | </para> | ||
840 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
841 | align="char"> | ||
842 | <para>EBADF</para> | ||
843 | </entry><entry | ||
844 | align="char"> | ||
845 | <para>fd is not a valid open file descriptor</para> | ||
846 | </entry> | ||
847 | </row><row><entry | ||
848 | align="char"> | ||
849 | <para>EINTERNAL</para> | ||
850 | </entry><entry | ||
851 | align="char"> | ||
852 | <para>Internal error, possibly in the communication with the | ||
853 | DVB subsystem.</para> | ||
854 | </entry> | ||
855 | </row><row><entry | ||
856 | align="char"> | ||
857 | <para>EINVAL</para> | ||
858 | </entry><entry | ||
859 | align="char"> | ||
860 | <para>Illegal input parameter</para> | ||
861 | </entry> | ||
862 | </row></tbody></tgroup></informaltable> | ||
863 | |||
864 | </section><section | ||
865 | role="subsection"><title>VIDEO_GET_STATUS</title> | ||
866 | <para>DESCRIPTION | ||
867 | </para> | ||
868 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
869 | align="char"> | ||
870 | <para>This ioctl call asks the Video Device to return the current status of the device.</para> | ||
871 | </entry> | ||
872 | </row></tbody></tgroup></informaltable> | ||
873 | <para>SYNOPSIS | ||
874 | </para> | ||
875 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
876 | align="char"> | ||
877 | <para> int ioctl(fd, int request = VIDEO_GET_STATUS, struct | ||
878 | video_status ⋆status);</para> | ||
879 | </entry> | ||
880 | </row></tbody></tgroup></informaltable> | ||
881 | <para>PARAMETERS | ||
882 | </para> | ||
883 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
884 | align="char"> | ||
885 | <para>int fd</para> | ||
886 | </entry><entry | ||
887 | align="char"> | ||
888 | <para>File descriptor returned by a previous call to open().</para> | ||
889 | </entry> | ||
890 | </row><row><entry | ||
891 | align="char"> | ||
892 | <para>int request</para> | ||
893 | </entry><entry | ||
894 | align="char"> | ||
895 | <para>Equals VIDEO_GET_STATUS for this command.</para> | ||
896 | </entry> | ||
897 | </row><row><entry | ||
898 | align="char"> | ||
899 | <para>struct video_status | ||
900 | *status</para> | ||
901 | </entry><entry | ||
902 | align="char"> | ||
903 | <para>Returns the current status of the Video Device.</para> | ||
904 | </entry> | ||
905 | </row></tbody></tgroup></informaltable> | ||
906 | <para>ERRORS | ||
907 | </para> | ||
908 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
909 | align="char"> | ||
910 | <para>EBADF</para> | ||
911 | </entry><entry | ||
912 | align="char"> | ||
913 | <para>fd is not a valid open file descriptor</para> | ||
914 | </entry> | ||
915 | </row><row><entry | ||
916 | align="char"> | ||
917 | <para>EINTERNAL</para> | ||
918 | </entry><entry | ||
919 | align="char"> | ||
920 | <para>Internal error, possibly in the communication with the | ||
921 | DVB subsystem.</para> | ||
922 | </entry> | ||
923 | </row><row><entry | ||
924 | align="char"> | ||
925 | <para>EFAULT</para> | ||
926 | </entry><entry | ||
927 | align="char"> | ||
928 | <para>status points to invalid address</para> | ||
929 | </entry> | ||
930 | </row></tbody></tgroup></informaltable> | ||
931 | |||
932 | </section><section | ||
933 | role="subsection"><title>VIDEO_GET_EVENT</title> | ||
934 | <para>DESCRIPTION | ||
935 | </para> | ||
936 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
937 | align="char"> | ||
938 | <para>This ioctl call returns an event of type video_event if available. If an event is | ||
939 | not available, the behavior depends on whether the device is in blocking or | ||
940 | non-blocking mode. In the latter case, the call fails immediately with errno | ||
941 | set to EWOULDBLOCK. In the former case, the call blocks until an event | ||
942 | becomes available. The standard Linux poll() and/or select() system calls can | ||
943 | be used with the device file descriptor to watch for new events. For select(), | ||
944 | the file descriptor should be included in the exceptfds argument, and for | ||
945 | poll(), POLLPRI should be specified as the wake-up condition. Read-only | ||
946 | permissions are sufficient for this ioctl call.</para> | ||
947 | </entry> | ||
948 | </row></tbody></tgroup></informaltable> | ||
949 | <para>SYNOPSIS | ||
950 | </para> | ||
951 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
952 | align="char"> | ||
953 | <para> int ioctl(fd, int request = VIDEO_GET_EVENT, struct | ||
954 | video_event ⋆ev);</para> | ||
955 | </entry> | ||
956 | </row></tbody></tgroup></informaltable> | ||
957 | <para>PARAMETERS | ||
958 | </para> | ||
959 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
960 | align="char"> | ||
961 | <para>int fd</para> | ||
962 | </entry><entry | ||
963 | align="char"> | ||
964 | <para>File descriptor returned by a previous call to open().</para> | ||
965 | </entry> | ||
966 | </row><row><entry | ||
967 | align="char"> | ||
968 | <para>int request</para> | ||
969 | </entry><entry | ||
970 | align="char"> | ||
971 | <para>Equals VIDEO_GET_EVENT for this command.</para> | ||
972 | </entry> | ||
973 | </row><row><entry | ||
974 | align="char"> | ||
975 | <para>struct video_event | ||
976 | *ev</para> | ||
977 | </entry><entry | ||
978 | align="char"> | ||
979 | <para>Points to the location where the event, if any, is to be | ||
980 | stored.</para> | ||
981 | </entry> | ||
982 | </row></tbody></tgroup></informaltable> | ||
983 | <para>ERRORS | ||
984 | </para> | ||
985 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
986 | align="char"> | ||
987 | <para>EBADF</para> | ||
988 | </entry><entry | ||
989 | align="char"> | ||
990 | <para>fd is not a valid open file descriptor</para> | ||
991 | </entry> | ||
992 | </row><row><entry | ||
993 | align="char"> | ||
994 | <para>EFAULT</para> | ||
995 | </entry><entry | ||
996 | align="char"> | ||
997 | <para>ev points to invalid address</para> | ||
998 | </entry> | ||
999 | </row><row><entry | ||
1000 | align="char"> | ||
1001 | <para>EWOULDBLOCK</para> | ||
1002 | </entry><entry | ||
1003 | align="char"> | ||
1004 | <para>There is no event pending, and the device is in | ||
1005 | non-blocking mode.</para> | ||
1006 | </entry> | ||
1007 | </row><row><entry | ||
1008 | align="char"> | ||
1009 | <para>EOVERFLOW</para> | ||
1010 | </entry><entry | ||
1011 | align="char"> | ||
1012 | </entry> | ||
1013 | </row><row><entry | ||
1014 | align="char"> | ||
1015 | </entry><entry | ||
1016 | align="char"> | ||
1017 | <para>Overflow in event queue - one or more events were lost.</para> | ||
1018 | </entry> | ||
1019 | </row></tbody></tgroup></informaltable> | ||
1020 | |||
1021 | </section><section | ||
1022 | role="subsection"><title>VIDEO_SET_DISPLAY_FORMAT</title> | ||
1023 | <para>DESCRIPTION | ||
1024 | </para> | ||
1025 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1026 | align="char"> | ||
1027 | <para>This ioctl call asks the Video Device to select the video format to be applied | ||
1028 | by the MPEG chip on the video.</para> | ||
1029 | </entry> | ||
1030 | </row></tbody></tgroup></informaltable> | ||
1031 | <para>SYNOPSIS | ||
1032 | </para> | ||
1033 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1034 | align="char"> | ||
1035 | <para> int ioctl(fd, int request = | ||
1036 | VIDEO_SET_DISPLAY_FORMAT, video_display_format_t | ||
1037 | format);</para> | ||
1038 | </entry> | ||
1039 | </row></tbody></tgroup></informaltable> | ||
1040 | <para>PARAMETERS | ||
1041 | </para> | ||
1042 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1043 | align="char"> | ||
1044 | <para>int fd</para> | ||
1045 | </entry><entry | ||
1046 | align="char"> | ||
1047 | <para>File descriptor returned by a previous call to open().</para> | ||
1048 | </entry> | ||
1049 | </row><row><entry | ||
1050 | align="char"> | ||
1051 | <para>int request</para> | ||
1052 | </entry><entry | ||
1053 | align="char"> | ||
1054 | <para>Equals VIDEO_SET_DISPLAY_FORMAT for this | ||
1055 | command.</para> | ||
1056 | </entry> | ||
1057 | </row><row><entry | ||
1058 | align="char"> | ||
1059 | <para>video_display_format_t | ||
1060 | format</para> | ||
1061 | </entry><entry | ||
1062 | align="char"> | ||
1063 | <para>Selects the video format to be used.</para> | ||
1064 | </entry> | ||
1065 | </row></tbody></tgroup></informaltable> | ||
1066 | <para>ERRORS | ||
1067 | </para> | ||
1068 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1069 | align="char"> | ||
1070 | <para>EBADF</para> | ||
1071 | </entry><entry | ||
1072 | align="char"> | ||
1073 | <para>fd is not a valid open file descriptor</para> | ||
1074 | </entry> | ||
1075 | </row><row><entry | ||
1076 | align="char"> | ||
1077 | <para>EINTERNAL</para> | ||
1078 | </entry><entry | ||
1079 | align="char"> | ||
1080 | <para>Internal error.</para> | ||
1081 | </entry> | ||
1082 | </row><row><entry | ||
1083 | align="char"> | ||
1084 | <para>EINVAL</para> | ||
1085 | </entry><entry | ||
1086 | align="char"> | ||
1087 | <para>Illegal parameter format.</para> | ||
1088 | </entry> | ||
1089 | </row></tbody></tgroup></informaltable> | ||
1090 | |||
1091 | </section><section | ||
1092 | role="subsection"><title>VIDEO_STILLPICTURE</title> | ||
1093 | <para>DESCRIPTION | ||
1094 | </para> | ||
1095 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1096 | align="char"> | ||
1097 | <para>This ioctl call asks the Video Device to display a still picture (I-frame). The | ||
1098 | input data shall contain an I-frame. If the pointer is NULL, then the current | ||
1099 | displayed still picture is blanked.</para> | ||
1100 | </entry> | ||
1101 | </row></tbody></tgroup></informaltable> | ||
1102 | <para>SYNOPSIS | ||
1103 | </para> | ||
1104 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1105 | align="char"> | ||
1106 | <para>int ioctl(fd, int request = VIDEO_STILLPICTURE, | ||
1107 | struct video_still_picture ⋆sp);</para> | ||
1108 | </entry> | ||
1109 | </row></tbody></tgroup></informaltable> | ||
1110 | <para>PARAMETERS | ||
1111 | </para> | ||
1112 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1113 | align="char"> | ||
1114 | <para>int fd</para> | ||
1115 | </entry><entry | ||
1116 | align="char"> | ||
1117 | <para>File descriptor returned by a previous call to open().</para> | ||
1118 | </entry> | ||
1119 | </row><row><entry | ||
1120 | align="char"> | ||
1121 | <para>int request</para> | ||
1122 | </entry><entry | ||
1123 | align="char"> | ||
1124 | <para>Equals VIDEO_STILLPICTURE for this command.</para> | ||
1125 | </entry> | ||
1126 | </row><row><entry | ||
1127 | align="char"> | ||
1128 | <para>struct | ||
1129 | video_still_picture | ||
1130 | *sp</para> | ||
1131 | </entry><entry | ||
1132 | align="char"> | ||
1133 | <para>Pointer to a location where an I-frame and size is stored.</para> | ||
1134 | </entry> | ||
1135 | </row></tbody></tgroup></informaltable> | ||
1136 | <para>ERRORS | ||
1137 | </para> | ||
1138 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1139 | align="char"> | ||
1140 | <para>EBADF</para> | ||
1141 | </entry><entry | ||
1142 | align="char"> | ||
1143 | <para>fd is not a valid open file descriptor</para> | ||
1144 | </entry> | ||
1145 | </row><row><entry | ||
1146 | align="char"> | ||
1147 | <para>EINTERNAL</para> | ||
1148 | </entry><entry | ||
1149 | align="char"> | ||
1150 | <para>Internal error.</para> | ||
1151 | </entry> | ||
1152 | </row><row><entry | ||
1153 | align="char"> | ||
1154 | <para>EFAULT</para> | ||
1155 | </entry><entry | ||
1156 | align="char"> | ||
1157 | <para>sp points to an invalid iframe.</para> | ||
1158 | </entry> | ||
1159 | </row></tbody></tgroup></informaltable> | ||
1160 | |||
1161 | </section><section | ||
1162 | role="subsection"><title>VIDEO_FAST_FORWARD</title> | ||
1163 | <para>DESCRIPTION | ||
1164 | </para> | ||
1165 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1166 | align="char"> | ||
1167 | <para>This ioctl call asks the Video Device to skip decoding of N number of I-frames. | ||
1168 | This call can only be used if VIDEO_SOURCE_MEMORY is selected.</para> | ||
1169 | </entry> | ||
1170 | </row></tbody></tgroup></informaltable> | ||
1171 | <para>SYNOPSIS | ||
1172 | </para> | ||
1173 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1174 | align="char"> | ||
1175 | <para>int ioctl(fd, int request = VIDEO_FAST_FORWARD, int | ||
1176 | nFrames);</para> | ||
1177 | </entry> | ||
1178 | </row></tbody></tgroup></informaltable> | ||
1179 | <para>PARAMETERS | ||
1180 | </para> | ||
1181 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1182 | align="char"> | ||
1183 | <para>int fd</para> | ||
1184 | </entry><entry | ||
1185 | align="char"> | ||
1186 | <para>File descriptor returned by a previous call to open().</para> | ||
1187 | </entry> | ||
1188 | </row><row><entry | ||
1189 | align="char"> | ||
1190 | <para>int request</para> | ||
1191 | </entry><entry | ||
1192 | align="char"> | ||
1193 | <para>Equals VIDEO_FAST_FORWARD for this command.</para> | ||
1194 | </entry> | ||
1195 | </row><row><entry | ||
1196 | align="char"> | ||
1197 | <para>int nFrames</para> | ||
1198 | </entry><entry | ||
1199 | align="char"> | ||
1200 | <para>The number of frames to skip.</para> | ||
1201 | </entry> | ||
1202 | </row></tbody></tgroup></informaltable> | ||
1203 | <para>ERRORS | ||
1204 | </para> | ||
1205 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1206 | align="char"> | ||
1207 | <para>EBADF</para> | ||
1208 | </entry><entry | ||
1209 | align="char"> | ||
1210 | <para>fd is not a valid open file descriptor</para> | ||
1211 | </entry> | ||
1212 | </row><row><entry | ||
1213 | align="char"> | ||
1214 | <para>EINTERNAL</para> | ||
1215 | </entry><entry | ||
1216 | align="char"> | ||
1217 | <para>Internal error.</para> | ||
1218 | </entry> | ||
1219 | </row><row><entry | ||
1220 | align="char"> | ||
1221 | <para>EPERM</para> | ||
1222 | </entry><entry | ||
1223 | align="char"> | ||
1224 | <para>Mode VIDEO_SOURCE_MEMORY not selected.</para> | ||
1225 | </entry> | ||
1226 | </row><row><entry | ||
1227 | align="char"> | ||
1228 | <para>EINVAL</para> | ||
1229 | </entry><entry | ||
1230 | align="char"> | ||
1231 | <para>Illegal parameter format.</para> | ||
1232 | </entry> | ||
1233 | </row></tbody></tgroup></informaltable> | ||
1234 | |||
1235 | </section><section | ||
1236 | role="subsection"><title>VIDEO_SLOWMOTION</title> | ||
1237 | <para>DESCRIPTION | ||
1238 | </para> | ||
1239 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1240 | align="char"> | ||
1241 | <para>This ioctl call asks the video device to repeat decoding frames N number of | ||
1242 | times. This call can only be used if VIDEO_SOURCE_MEMORY is selected.</para> | ||
1243 | </entry> | ||
1244 | </row></tbody></tgroup></informaltable> | ||
1245 | <para>SYNOPSIS | ||
1246 | </para> | ||
1247 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1248 | align="char"> | ||
1249 | <para>int ioctl(fd, int request = VIDEO_SLOWMOTION, int | ||
1250 | nFrames);</para> | ||
1251 | </entry> | ||
1252 | </row></tbody></tgroup></informaltable> | ||
1253 | <para>PARAMETERS | ||
1254 | </para> | ||
1255 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1256 | align="char"> | ||
1257 | <para>int fd</para> | ||
1258 | </entry><entry | ||
1259 | align="char"> | ||
1260 | <para>File descriptor returned by a previous call to open().</para> | ||
1261 | </entry> | ||
1262 | </row><row><entry | ||
1263 | align="char"> | ||
1264 | <para>int request</para> | ||
1265 | </entry><entry | ||
1266 | align="char"> | ||
1267 | <para>Equals VIDEO_SLOWMOTION for this command.</para> | ||
1268 | </entry> | ||
1269 | </row><row><entry | ||
1270 | align="char"> | ||
1271 | <para>int nFrames</para> | ||
1272 | </entry><entry | ||
1273 | align="char"> | ||
1274 | <para>The number of times to repeat each frame.</para> | ||
1275 | </entry> | ||
1276 | </row></tbody></tgroup></informaltable> | ||
1277 | <para>ERRORS | ||
1278 | </para> | ||
1279 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1280 | align="char"> | ||
1281 | <para>EBADF</para> | ||
1282 | </entry><entry | ||
1283 | align="char"> | ||
1284 | <para>fd is not a valid open file descriptor</para> | ||
1285 | </entry> | ||
1286 | </row><row><entry | ||
1287 | align="char"> | ||
1288 | <para>EINTERNAL</para> | ||
1289 | </entry><entry | ||
1290 | align="char"> | ||
1291 | <para>Internal error.</para> | ||
1292 | </entry> | ||
1293 | </row><row><entry | ||
1294 | align="char"> | ||
1295 | <para>EPERM</para> | ||
1296 | </entry><entry | ||
1297 | align="char"> | ||
1298 | <para>Mode VIDEO_SOURCE_MEMORY not selected.</para> | ||
1299 | </entry> | ||
1300 | </row><row><entry | ||
1301 | align="char"> | ||
1302 | <para>EINVAL</para> | ||
1303 | </entry><entry | ||
1304 | align="char"> | ||
1305 | <para>Illegal parameter format.</para> | ||
1306 | </entry> | ||
1307 | </row></tbody></tgroup></informaltable> | ||
1308 | |||
1309 | </section><section | ||
1310 | role="subsection"><title>VIDEO_GET_CAPABILITIES</title> | ||
1311 | <para>DESCRIPTION | ||
1312 | </para> | ||
1313 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1314 | align="char"> | ||
1315 | <para>This ioctl call asks the video device about its decoding capabilities. On success | ||
1316 | it returns and integer which has bits set according to the defines in section ??.</para> | ||
1317 | </entry> | ||
1318 | </row></tbody></tgroup></informaltable> | ||
1319 | <para>SYNOPSIS | ||
1320 | </para> | ||
1321 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1322 | align="char"> | ||
1323 | <para>int ioctl(fd, int request = VIDEO_GET_CAPABILITIES, | ||
1324 | unsigned int ⋆cap);</para> | ||
1325 | </entry> | ||
1326 | </row></tbody></tgroup></informaltable> | ||
1327 | <para>PARAMETERS | ||
1328 | </para> | ||
1329 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1330 | align="char"> | ||
1331 | <para>int fd</para> | ||
1332 | </entry><entry | ||
1333 | align="char"> | ||
1334 | <para>File descriptor returned by a previous call to open().</para> | ||
1335 | </entry> | ||
1336 | </row><row><entry | ||
1337 | align="char"> | ||
1338 | <para>int request</para> | ||
1339 | </entry><entry | ||
1340 | align="char"> | ||
1341 | <para>Equals VIDEO_GET_CAPABILITIES for this | ||
1342 | command.</para> | ||
1343 | </entry> | ||
1344 | </row><row><entry | ||
1345 | align="char"> | ||
1346 | <para>unsigned int *cap</para> | ||
1347 | </entry><entry | ||
1348 | align="char"> | ||
1349 | <para>Pointer to a location where to store the capability | ||
1350 | information.</para> | ||
1351 | </entry> | ||
1352 | </row></tbody></tgroup></informaltable> | ||
1353 | <para>ERRORS | ||
1354 | </para> | ||
1355 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1356 | align="char"> | ||
1357 | <para>EBADF</para> | ||
1358 | </entry><entry | ||
1359 | align="char"> | ||
1360 | <para>fd is not a valid open file descriptor</para> | ||
1361 | </entry> | ||
1362 | </row><row><entry | ||
1363 | align="char"> | ||
1364 | <para>EFAULT</para> | ||
1365 | </entry><entry | ||
1366 | align="char"> | ||
1367 | <para>cap points to an invalid iframe.</para> | ||
1368 | </entry> | ||
1369 | </row></tbody></tgroup></informaltable> | ||
1370 | |||
1371 | </section><section | ||
1372 | role="subsection"><title>VIDEO_SET_ID</title> | ||
1373 | <para>DESCRIPTION | ||
1374 | </para> | ||
1375 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1376 | align="char"> | ||
1377 | <para>This ioctl selects which sub-stream is to be decoded if a program or system | ||
1378 | stream is sent to the video device.</para> | ||
1379 | </entry> | ||
1380 | </row></tbody></tgroup></informaltable> | ||
1381 | <para>SYNOPSIS | ||
1382 | </para> | ||
1383 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1384 | align="char"> | ||
1385 | <para>int ioctl(int fd, int request = VIDEO_SET_ID, int | ||
1386 | id);</para> | ||
1387 | </entry> | ||
1388 | </row></tbody></tgroup></informaltable> | ||
1389 | <para>PARAMETERS | ||
1390 | </para> | ||
1391 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1392 | align="char"> | ||
1393 | <para>int fd</para> | ||
1394 | </entry><entry | ||
1395 | align="char"> | ||
1396 | <para>File descriptor returned by a previous call to open().</para> | ||
1397 | </entry> | ||
1398 | </row><row><entry | ||
1399 | align="char"> | ||
1400 | <para>int request</para> | ||
1401 | </entry><entry | ||
1402 | align="char"> | ||
1403 | <para>Equals VIDEO_SET_ID for this command.</para> | ||
1404 | </entry> | ||
1405 | </row><row><entry | ||
1406 | align="char"> | ||
1407 | <para>int id</para> | ||
1408 | </entry><entry | ||
1409 | align="char"> | ||
1410 | <para>video sub-stream id</para> | ||
1411 | </entry> | ||
1412 | </row></tbody></tgroup></informaltable> | ||
1413 | <para>ERRORS | ||
1414 | </para> | ||
1415 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1416 | align="char"> | ||
1417 | <para>EBADF</para> | ||
1418 | </entry><entry | ||
1419 | align="char"> | ||
1420 | <para>fd is not a valid open file descriptor.</para> | ||
1421 | </entry> | ||
1422 | </row><row><entry | ||
1423 | align="char"> | ||
1424 | <para>EINTERNAL</para> | ||
1425 | </entry><entry | ||
1426 | align="char"> | ||
1427 | <para>Internal error.</para> | ||
1428 | </entry> | ||
1429 | </row><row><entry | ||
1430 | align="char"> | ||
1431 | <para>EINVAL</para> | ||
1432 | </entry><entry | ||
1433 | align="char"> | ||
1434 | <para>Invalid sub-stream id.</para> | ||
1435 | </entry> | ||
1436 | </row></tbody></tgroup></informaltable> | ||
1437 | |||
1438 | </section><section | ||
1439 | role="subsection"><title>VIDEO_CLEAR_BUFFER</title> | ||
1440 | <para>DESCRIPTION | ||
1441 | </para> | ||
1442 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1443 | align="char"> | ||
1444 | <para>This ioctl call clears all video buffers in the driver and in the decoder hardware.</para> | ||
1445 | </entry> | ||
1446 | </row></tbody></tgroup></informaltable> | ||
1447 | <para>SYNOPSIS | ||
1448 | </para> | ||
1449 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1450 | align="char"> | ||
1451 | <para>int ioctl(fd, int request = VIDEO_CLEAR_BUFFER);</para> | ||
1452 | </entry> | ||
1453 | </row></tbody></tgroup></informaltable> | ||
1454 | <para>PARAMETERS | ||
1455 | </para> | ||
1456 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1457 | align="char"> | ||
1458 | <para>int fd</para> | ||
1459 | </entry><entry | ||
1460 | align="char"> | ||
1461 | <para>File descriptor returned by a previous call to open().</para> | ||
1462 | </entry> | ||
1463 | </row><row><entry | ||
1464 | align="char"> | ||
1465 | <para>int request</para> | ||
1466 | </entry><entry | ||
1467 | align="char"> | ||
1468 | <para>Equals VIDEO_CLEAR_BUFFER for this command.</para> | ||
1469 | </entry> | ||
1470 | </row></tbody></tgroup></informaltable> | ||
1471 | <para>ERRORS | ||
1472 | </para> | ||
1473 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1474 | align="char"> | ||
1475 | <para>EBADF</para> | ||
1476 | </entry><entry | ||
1477 | align="char"> | ||
1478 | <para>fd is not a valid open file descriptor</para> | ||
1479 | </entry> | ||
1480 | </row></tbody></tgroup></informaltable> | ||
1481 | |||
1482 | </section><section | ||
1483 | role="subsection"><title>VIDEO_SET_STREAMTYPE</title> | ||
1484 | <para>DESCRIPTION | ||
1485 | </para> | ||
1486 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1487 | align="char"> | ||
1488 | <para>This ioctl tells the driver which kind of stream to expect being written to it. If | ||
1489 | this call is not used the default of video PES is used. Some drivers might not | ||
1490 | support this call and always expect PES.</para> | ||
1491 | </entry> | ||
1492 | </row></tbody></tgroup></informaltable> | ||
1493 | <para>SYNOPSIS | ||
1494 | </para> | ||
1495 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1496 | align="char"> | ||
1497 | <para>int ioctl(fd, int request = VIDEO_SET_STREAMTYPE, | ||
1498 | int type);</para> | ||
1499 | </entry> | ||
1500 | </row></tbody></tgroup></informaltable> | ||
1501 | <para>PARAMETERS | ||
1502 | </para> | ||
1503 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1504 | align="char"> | ||
1505 | <para>int fd</para> | ||
1506 | </entry><entry | ||
1507 | align="char"> | ||
1508 | <para>File descriptor returned by a previous call to open().</para> | ||
1509 | </entry> | ||
1510 | </row><row><entry | ||
1511 | align="char"> | ||
1512 | <para>int request</para> | ||
1513 | </entry><entry | ||
1514 | align="char"> | ||
1515 | <para>Equals VIDEO_SET_STREAMTYPE for this command.</para> | ||
1516 | </entry> | ||
1517 | </row><row><entry | ||
1518 | align="char"> | ||
1519 | <para>int type</para> | ||
1520 | </entry><entry | ||
1521 | align="char"> | ||
1522 | <para>stream type</para> | ||
1523 | </entry> | ||
1524 | </row></tbody></tgroup></informaltable> | ||
1525 | <para>ERRORS | ||
1526 | </para> | ||
1527 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1528 | align="char"> | ||
1529 | <para>EBADF</para> | ||
1530 | </entry><entry | ||
1531 | align="char"> | ||
1532 | <para>fd is not a valid open file descriptor</para> | ||
1533 | </entry> | ||
1534 | </row><row><entry | ||
1535 | align="char"> | ||
1536 | <para>EINVAL</para> | ||
1537 | </entry><entry | ||
1538 | align="char"> | ||
1539 | <para>type is not a valid or supported stream type.</para> | ||
1540 | </entry> | ||
1541 | </row></tbody></tgroup></informaltable> | ||
1542 | |||
1543 | </section><section | ||
1544 | role="subsection"><title>VIDEO_SET_FORMAT</title> | ||
1545 | <para>DESCRIPTION | ||
1546 | </para> | ||
1547 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1548 | align="char"> | ||
1549 | <para>This ioctl sets the screen format (aspect ratio) of the connected output device | ||
1550 | (TV) so that the output of the decoder can be adjusted accordingly.</para> | ||
1551 | </entry> | ||
1552 | </row></tbody></tgroup></informaltable> | ||
1553 | <para>SYNOPSIS | ||
1554 | </para> | ||
1555 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1556 | align="char"> | ||
1557 | <para> int ioctl(fd, int request = VIDEO_SET_FORMAT, | ||
1558 | video_format_t format);</para> | ||
1559 | </entry> | ||
1560 | </row></tbody></tgroup></informaltable> | ||
1561 | <para>PARAMETERS | ||
1562 | </para> | ||
1563 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1564 | align="char"> | ||
1565 | <para>int fd</para> | ||
1566 | </entry><entry | ||
1567 | align="char"> | ||
1568 | <para>File descriptor returned by a previous call to open().</para> | ||
1569 | </entry> | ||
1570 | </row><row><entry | ||
1571 | align="char"> | ||
1572 | <para>int request</para> | ||
1573 | </entry><entry | ||
1574 | align="char"> | ||
1575 | <para>Equals VIDEO_SET_FORMAT for this command.</para> | ||
1576 | </entry> | ||
1577 | </row><row><entry | ||
1578 | align="char"> | ||
1579 | <para>video_format_t | ||
1580 | format</para> | ||
1581 | </entry><entry | ||
1582 | align="char"> | ||
1583 | <para>video format of TV as defined in section ??.</para> | ||
1584 | </entry> | ||
1585 | </row></tbody></tgroup></informaltable> | ||
1586 | <para>ERRORS | ||
1587 | </para> | ||
1588 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1589 | align="char"> | ||
1590 | <para>EBADF</para> | ||
1591 | </entry><entry | ||
1592 | align="char"> | ||
1593 | <para>fd is not a valid open file descriptor</para> | ||
1594 | </entry> | ||
1595 | </row><row><entry | ||
1596 | align="char"> | ||
1597 | <para>EINVAL</para> | ||
1598 | </entry><entry | ||
1599 | align="char"> | ||
1600 | <para>format is not a valid video format.</para> | ||
1601 | </entry> | ||
1602 | </row></tbody></tgroup></informaltable> | ||
1603 | |||
1604 | </section><section | ||
1605 | role="subsection"><title>VIDEO_SET_SYSTEM</title> | ||
1606 | <para>DESCRIPTION | ||
1607 | </para> | ||
1608 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1609 | align="char"> | ||
1610 | <para>This ioctl sets the television output format. The format (see section ??) may | ||
1611 | vary from the color format of the displayed MPEG stream. If the hardware is | ||
1612 | not able to display the requested format the call will return an error.</para> | ||
1613 | </entry> | ||
1614 | </row></tbody></tgroup></informaltable> | ||
1615 | <para>SYNOPSIS | ||
1616 | </para> | ||
1617 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1618 | align="char"> | ||
1619 | <para> int ioctl(fd, int request = VIDEO_SET_SYSTEM , | ||
1620 | video_system_t system);</para> | ||
1621 | </entry> | ||
1622 | </row></tbody></tgroup></informaltable> | ||
1623 | <para>PARAMETERS | ||
1624 | </para> | ||
1625 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1626 | align="char"> | ||
1627 | <para>int fd</para> | ||
1628 | </entry><entry | ||
1629 | align="char"> | ||
1630 | <para>File descriptor returned by a previous call to open().</para> | ||
1631 | </entry> | ||
1632 | </row><row><entry | ||
1633 | align="char"> | ||
1634 | <para>int request</para> | ||
1635 | </entry><entry | ||
1636 | align="char"> | ||
1637 | <para>Equals VIDEO_SET_FORMAT for this command.</para> | ||
1638 | </entry> | ||
1639 | </row><row><entry | ||
1640 | align="char"> | ||
1641 | <para>video_system_t | ||
1642 | system</para> | ||
1643 | </entry><entry | ||
1644 | align="char"> | ||
1645 | <para>video system of TV output.</para> | ||
1646 | </entry> | ||
1647 | </row></tbody></tgroup></informaltable> | ||
1648 | <para>ERRORS | ||
1649 | </para> | ||
1650 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1651 | align="char"> | ||
1652 | <para>EBADF</para> | ||
1653 | </entry><entry | ||
1654 | align="char"> | ||
1655 | <para>fd is not a valid open file descriptor</para> | ||
1656 | </entry> | ||
1657 | </row><row><entry | ||
1658 | align="char"> | ||
1659 | <para>EINVAL</para> | ||
1660 | </entry><entry | ||
1661 | align="char"> | ||
1662 | <para>system is not a valid or supported video system.</para> | ||
1663 | </entry> | ||
1664 | </row></tbody></tgroup></informaltable> | ||
1665 | |||
1666 | </section><section | ||
1667 | role="subsection"><title>VIDEO_SET_HIGHLIGHT</title> | ||
1668 | <para>DESCRIPTION | ||
1669 | </para> | ||
1670 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1671 | align="char"> | ||
1672 | <para>This ioctl sets the SPU highlight information for the menu access of a DVD.</para> | ||
1673 | </entry> | ||
1674 | </row></tbody></tgroup></informaltable> | ||
1675 | <para>SYNOPSIS | ||
1676 | </para> | ||
1677 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1678 | align="char"> | ||
1679 | <para> int ioctl(fd, int request = VIDEO_SET_HIGHLIGHT | ||
1680 | ,video_highlight_t ⋆vhilite)</para> | ||
1681 | </entry> | ||
1682 | </row></tbody></tgroup></informaltable> | ||
1683 | <para>PARAMETERS | ||
1684 | </para> | ||
1685 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1686 | align="char"> | ||
1687 | <para>int fd</para> | ||
1688 | </entry><entry | ||
1689 | align="char"> | ||
1690 | <para>File descriptor returned by a previous call to open().</para> | ||
1691 | </entry> | ||
1692 | </row><row><entry | ||
1693 | align="char"> | ||
1694 | <para>int request</para> | ||
1695 | </entry><entry | ||
1696 | align="char"> | ||
1697 | <para>Equals VIDEO_SET_HIGHLIGHT for this command.</para> | ||
1698 | </entry> | ||
1699 | </row><row><entry | ||
1700 | align="char"> | ||
1701 | <para>video_highlight_t | ||
1702 | *vhilite</para> | ||
1703 | </entry><entry | ||
1704 | align="char"> | ||
1705 | <para>SPU Highlight information according to section ??.</para> | ||
1706 | </entry> | ||
1707 | </row></tbody></tgroup></informaltable> | ||
1708 | <para>ERRORS | ||
1709 | </para> | ||
1710 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1711 | align="char"> | ||
1712 | <para>EBADF</para> | ||
1713 | </entry><entry | ||
1714 | align="char"> | ||
1715 | <para>fd is not a valid open file descriptor.</para> | ||
1716 | </entry> | ||
1717 | </row><row><entry | ||
1718 | align="char"> | ||
1719 | <para>EINVAL</para> | ||
1720 | </entry><entry | ||
1721 | align="char"> | ||
1722 | <para>input is not a valid highlight setting.</para> | ||
1723 | </entry> | ||
1724 | </row></tbody></tgroup></informaltable> | ||
1725 | |||
1726 | </section><section | ||
1727 | role="subsection"><title>VIDEO_SET_SPU</title> | ||
1728 | <para>DESCRIPTION | ||
1729 | </para> | ||
1730 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1731 | align="char"> | ||
1732 | <para>This ioctl activates or deactivates SPU decoding in a DVD input stream. It can | ||
1733 | only be used, if the driver is able to handle a DVD stream.</para> | ||
1734 | </entry> | ||
1735 | </row></tbody></tgroup></informaltable> | ||
1736 | <para>SYNOPSIS | ||
1737 | </para> | ||
1738 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1739 | align="char"> | ||
1740 | <para> int ioctl(fd, int request = VIDEO_SET_SPU , | ||
1741 | video_spu_t ⋆spu)</para> | ||
1742 | </entry> | ||
1743 | </row></tbody></tgroup></informaltable> | ||
1744 | <para>PARAMETERS | ||
1745 | </para> | ||
1746 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1747 | align="char"> | ||
1748 | <para>int fd</para> | ||
1749 | </entry><entry | ||
1750 | align="char"> | ||
1751 | <para>File descriptor returned by a previous call to open().</para> | ||
1752 | </entry> | ||
1753 | </row><row><entry | ||
1754 | align="char"> | ||
1755 | <para>int request</para> | ||
1756 | </entry><entry | ||
1757 | align="char"> | ||
1758 | <para>Equals VIDEO_SET_SPU for this command.</para> | ||
1759 | </entry> | ||
1760 | </row><row><entry | ||
1761 | align="char"> | ||
1762 | <para>video_spu_t *spu</para> | ||
1763 | </entry><entry | ||
1764 | align="char"> | ||
1765 | <para>SPU decoding (de)activation and subid setting according | ||
1766 | to section ??.</para> | ||
1767 | </entry> | ||
1768 | </row></tbody></tgroup></informaltable> | ||
1769 | <para>ERRORS | ||
1770 | </para> | ||
1771 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1772 | align="char"> | ||
1773 | <para>EBADF</para> | ||
1774 | </entry><entry | ||
1775 | align="char"> | ||
1776 | <para>fd is not a valid open file descriptor</para> | ||
1777 | </entry> | ||
1778 | </row><row><entry | ||
1779 | align="char"> | ||
1780 | <para>EINVAL</para> | ||
1781 | </entry><entry | ||
1782 | align="char"> | ||
1783 | <para>input is not a valid spu setting or driver cannot handle | ||
1784 | SPU.</para> | ||
1785 | </entry> | ||
1786 | </row></tbody></tgroup></informaltable> | ||
1787 | |||
1788 | </section><section | ||
1789 | role="subsection"><title>VIDEO_SET_SPU_PALETTE</title> | ||
1790 | <para>DESCRIPTION | ||
1791 | </para> | ||
1792 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1793 | align="char"> | ||
1794 | <para>This ioctl sets the SPU color palette.</para> | ||
1795 | </entry> | ||
1796 | </row></tbody></tgroup></informaltable> | ||
1797 | <para>SYNOPSIS | ||
1798 | </para> | ||
1799 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1800 | align="char"> | ||
1801 | <para> int ioctl(fd, int request = VIDEO_SET_SPU_PALETTE | ||
1802 | ,video_spu_palette_t ⋆palette )</para> | ||
1803 | </entry> | ||
1804 | </row></tbody></tgroup></informaltable> | ||
1805 | <para>PARAMETERS | ||
1806 | </para> | ||
1807 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1808 | align="char"> | ||
1809 | <para>int fd</para> | ||
1810 | </entry><entry | ||
1811 | align="char"> | ||
1812 | <para>File descriptor returned by a previous call to open().</para> | ||
1813 | </entry> | ||
1814 | </row><row><entry | ||
1815 | align="char"> | ||
1816 | <para>int request</para> | ||
1817 | </entry><entry | ||
1818 | align="char"> | ||
1819 | <para>Equals VIDEO_SET_SPU_PALETTE for this command.</para> | ||
1820 | </entry> | ||
1821 | </row><row><entry | ||
1822 | align="char"> | ||
1823 | <para>video_spu_palette_t | ||
1824 | *palette</para> | ||
1825 | </entry><entry | ||
1826 | align="char"> | ||
1827 | <para>SPU palette according to section ??.</para> | ||
1828 | </entry> | ||
1829 | </row></tbody></tgroup></informaltable> | ||
1830 | <para>ERRORS | ||
1831 | </para> | ||
1832 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1833 | align="char"> | ||
1834 | <para>EBADF</para> | ||
1835 | </entry><entry | ||
1836 | align="char"> | ||
1837 | <para>fd is not a valid open file descriptor</para> | ||
1838 | </entry> | ||
1839 | </row><row><entry | ||
1840 | align="char"> | ||
1841 | <para>EINVAL</para> | ||
1842 | </entry><entry | ||
1843 | align="char"> | ||
1844 | <para>input is not a valid palette or driver doesn’t handle SPU.</para> | ||
1845 | </entry> | ||
1846 | </row></tbody></tgroup></informaltable> | ||
1847 | |||
1848 | </section><section | ||
1849 | role="subsection"><title>VIDEO_GET_NAVI</title> | ||
1850 | <para>DESCRIPTION | ||
1851 | </para> | ||
1852 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1853 | align="char"> | ||
1854 | <para>This ioctl returns navigational information from the DVD stream. This is | ||
1855 | especially needed if an encoded stream has to be decoded by the hardware.</para> | ||
1856 | </entry> | ||
1857 | </row></tbody></tgroup></informaltable> | ||
1858 | <para>SYNOPSIS | ||
1859 | </para> | ||
1860 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1861 | align="char"> | ||
1862 | <para> int ioctl(fd, int request = VIDEO_GET_NAVI , | ||
1863 | video_navi_pack_t ⋆navipack)</para> | ||
1864 | </entry> | ||
1865 | </row></tbody></tgroup></informaltable> | ||
1866 | <para>PARAMETERS | ||
1867 | </para> | ||
1868 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1869 | align="char"> | ||
1870 | <para>int fd</para> | ||
1871 | </entry><entry | ||
1872 | align="char"> | ||
1873 | <para>File descriptor returned by a previous call to open().</para> | ||
1874 | </entry> | ||
1875 | </row><row><entry | ||
1876 | align="char"> | ||
1877 | <para>int request</para> | ||
1878 | </entry><entry | ||
1879 | align="char"> | ||
1880 | <para>Equals VIDEO_GET_NAVI for this command.</para> | ||
1881 | </entry> | ||
1882 | </row><row><entry | ||
1883 | align="char"> | ||
1884 | <para>video_navi_pack_t | ||
1885 | *navipack</para> | ||
1886 | </entry><entry | ||
1887 | align="char"> | ||
1888 | <para>PCI or DSI pack (private stream 2) according to section | ||
1889 | ??.</para> | ||
1890 | </entry> | ||
1891 | </row></tbody></tgroup></informaltable> | ||
1892 | <para>ERRORS | ||
1893 | </para> | ||
1894 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1895 | align="char"> | ||
1896 | <para>EBADF</para> | ||
1897 | </entry><entry | ||
1898 | align="char"> | ||
1899 | <para>fd is not a valid open file descriptor</para> | ||
1900 | </entry> | ||
1901 | </row><row><entry | ||
1902 | align="char"> | ||
1903 | <para>EFAULT</para> | ||
1904 | </entry><entry | ||
1905 | align="char"> | ||
1906 | <para>driver is not able to return navigational information</para> | ||
1907 | </entry> | ||
1908 | </row></tbody></tgroup></informaltable> | ||
1909 | |||
1910 | </section><section | ||
1911 | role="subsection"><title>VIDEO_SET_ATTRIBUTES</title> | ||
1912 | <para>DESCRIPTION | ||
1913 | </para> | ||
1914 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1915 | align="char"> | ||
1916 | <para>This ioctl is intended for DVD playback and allows you to set certain | ||
1917 | information about the stream. Some hardware may not need this information, | ||
1918 | but the call also tells the hardware to prepare for DVD playback.</para> | ||
1919 | </entry> | ||
1920 | </row></tbody></tgroup></informaltable> | ||
1921 | <para>SYNOPSIS | ||
1922 | </para> | ||
1923 | <informaltable><tgroup cols="1"><tbody><row><entry | ||
1924 | align="char"> | ||
1925 | <para> int ioctl(fd, int request = VIDEO_SET_ATTRIBUTE | ||
1926 | ,video_attributes_t vattr)</para> | ||
1927 | </entry> | ||
1928 | </row></tbody></tgroup></informaltable> | ||
1929 | <para>PARAMETERS | ||
1930 | </para> | ||
1931 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1932 | align="char"> | ||
1933 | <para>int fd</para> | ||
1934 | </entry><entry | ||
1935 | align="char"> | ||
1936 | <para>File descriptor returned by a previous call to open().</para> | ||
1937 | </entry> | ||
1938 | </row><row><entry | ||
1939 | align="char"> | ||
1940 | <para>int request</para> | ||
1941 | </entry><entry | ||
1942 | align="char"> | ||
1943 | <para>Equals VIDEO_SET_ATTRIBUTE for this command.</para> | ||
1944 | </entry> | ||
1945 | </row><row><entry | ||
1946 | align="char"> | ||
1947 | <para>video_attributes_t | ||
1948 | vattr</para> | ||
1949 | </entry><entry | ||
1950 | align="char"> | ||
1951 | <para>video attributes according to section ??.</para> | ||
1952 | </entry> | ||
1953 | </row></tbody></tgroup></informaltable> | ||
1954 | <para>ERRORS | ||
1955 | </para> | ||
1956 | <informaltable><tgroup cols="2"><tbody><row><entry | ||
1957 | align="char"> | ||
1958 | <para>EBADF</para> | ||
1959 | </entry><entry | ||
1960 | align="char"> | ||
1961 | <para>fd is not a valid open file descriptor</para> | ||
1962 | </entry> | ||
1963 | </row><row><entry | ||
1964 | align="char"> | ||
1965 | <para>EINVAL</para> | ||
1966 | </entry><entry | ||
1967 | align="char"> | ||
1968 | <para>input is not a valid attribute setting.</para> | ||
1969 | </entry> | ||
1970 | </row></tbody></tgroup></informaltable> | ||
1971 | </section></section> | ||