video.xml 52 KB

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