123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971 |
- <title>DVB Video Device</title>
- <para>The DVB video device controls the MPEG2 video decoder of the DVB hardware. It
- can be accessed through <emphasis role="tt">/dev/dvb/adapter0/video0</emphasis>. Data types and and
- ioctl definitions can be accessed by including <emphasis role="tt">linux/dvb/video.h</emphasis> in your
- application.
- </para>
- <para>Note that the DVB video device only controls decoding of the MPEG video stream, not
- its presentation on the TV or computer screen. On PCs this is typically handled by an
- associated video4linux device, e.g. <emphasis role="tt">/dev/video</emphasis>, which allows scaling and defining output
- windows.
- </para>
- <para>Some DVB cards don’t have their own MPEG decoder, which results in the omission of
- the audio and video device as well as the video4linux device.
- </para>
- <para>The ioctls that deal with SPUs (sub picture units) and navigation packets are only
- supported on some MPEG decoders made for DVD playback.
- </para>
- <section id="video_types">
- <title>Video Data Types</title>
- <section id="video_format_t">
- <title>video_format_t</title>
- <para>The <emphasis role="tt">video_format_t</emphasis> data type defined by
- </para>
- <programlisting>
- typedef enum {
- VIDEO_FORMAT_4_3,
- VIDEO_FORMAT_16_9
- } video_format_t;
- </programlisting>
- <para>is used in the VIDEO_SET_FORMAT function (??) to tell the driver which aspect ratio
- the output hardware (e.g. TV) has. It is also used in the data structures video_status
- (??) returned by VIDEO_GET_STATUS (??) and video_event (??) returned by
- VIDEO_GET_EVENT (??) which report about the display format of the current video
- stream.
- </para>
- </section>
- <section id="video_display_format_t">
- <title>video_display_format_t</title>
- <para>In case the display format of the video stream and of the display hardware differ the
- application has to specify how to handle the cropping of the picture. This can be done using
- the VIDEO_SET_DISPLAY_FORMAT call (??) which accepts
- </para>
- <programlisting>
- typedef enum {
- VIDEO_PAN_SCAN,
- VIDEO_LETTER_BOX,
- VIDEO_CENTER_CUT_OUT
- } video_display_format_t;
- </programlisting>
- <para>as argument.
- </para>
- </section>
- <section id="video_stream_source">
- <title>video stream source</title>
- <para>The video stream source is set through the VIDEO_SELECT_SOURCE call and can take
- the following values, depending on whether we are replaying from an internal (demuxer) or
- external (user write) source.
- </para>
- <programlisting>
- typedef enum {
- VIDEO_SOURCE_DEMUX,
- VIDEO_SOURCE_MEMORY
- } video_stream_source_t;
- </programlisting>
- <para>VIDEO_SOURCE_DEMUX selects the demultiplexer (fed either by the frontend or the
- DVR device) as the source of the video stream. If VIDEO_SOURCE_MEMORY
- is selected the stream comes from the application through the <emphasis role="tt">write()</emphasis> system
- call.
- </para>
- </section>
- <section id="video_play_state">
- <title>video play state</title>
- <para>The following values can be returned by the VIDEO_GET_STATUS call representing the
- state of video playback.
- </para>
- <programlisting>
- typedef enum {
- VIDEO_STOPPED,
- VIDEO_PLAYING,
- VIDEO_FREEZED
- } video_play_state_t;
- </programlisting>
- </section>
- <section id="video_event">
- <title>struct video_event</title>
- <para>The following is the structure of a video event as it is returned by the VIDEO_GET_EVENT
- call.
- </para>
- <programlisting>
- struct video_event {
- int32_t type;
- time_t timestamp;
- union {
- video_format_t video_format;
- } u;
- };
- </programlisting>
- </section>
- <section id="video_status">
- <title>struct video_status</title>
- <para>The VIDEO_GET_STATUS call returns the following structure informing about various
- states of the playback operation.
- </para>
- <programlisting>
- struct video_status {
- boolean video_blank;
- video_play_state_t play_state;
- video_stream_source_t stream_source;
- video_format_t video_format;
- video_displayformat_t display_format;
- };
- </programlisting>
- <para>If video_blank is set video will be blanked out if the channel is changed or if playback is
- stopped. Otherwise, the last picture will be displayed. play_state indicates if the video is
- currently frozen, stopped, or being played back. The stream_source corresponds to the seleted
- source for the video stream. It can come either from the demultiplexer or from memory.
- The video_format indicates the aspect ratio (one of 4:3 or 16:9) of the currently
- played video stream. Finally, display_format corresponds to the selected cropping
- mode in case the source video format is not the same as the format of the output
- device.
- </para>
- </section>
- <section id="video_still_picture">
- <title>struct video_still_picture</title>
- <para>An I-frame displayed via the VIDEO_STILLPICTURE call is passed on within the
- following structure.
- </para>
- <programlisting>
- /⋆ pointer to and size of a single iframe in memory ⋆/
- struct video_still_picture {
- char ⋆iFrame;
- int32_t size;
- };
- </programlisting>
- </section>
- <section id="video_caps">
- <title>video capabilities</title>
- <para>A call to VIDEO_GET_CAPABILITIES returns an unsigned integer with the following
- bits set according to the hardwares capabilities.
- </para>
- <programlisting>
- /⋆ bit definitions for capabilities: ⋆/
- /⋆ can the hardware decode MPEG1 and/or MPEG2? ⋆/
- #define VIDEO_CAP_MPEG1 1
- #define VIDEO_CAP_MPEG2 2
- /⋆ can you send a system and/or program stream to video device?
- (you still have to open the video and the audio device but only
- send the stream to the video device) ⋆/
- #define VIDEO_CAP_SYS 4
- #define VIDEO_CAP_PROG 8
- /⋆ can the driver also handle SPU, NAVI and CSS encoded data?
- (CSS API is not present yet) ⋆/
- #define VIDEO_CAP_SPU 16
- #define VIDEO_CAP_NAVI 32
- #define VIDEO_CAP_CSS 64
- </programlisting>
- </section>
- <section id="video_system">
- <title>video system</title>
- <para>A call to VIDEO_SET_SYSTEM sets the desired video system for TV output. The
- following system types can be set:
- </para>
- <programlisting>
- typedef enum {
- VIDEO_SYSTEM_PAL,
- VIDEO_SYSTEM_NTSC,
- VIDEO_SYSTEM_PALN,
- VIDEO_SYSTEM_PALNc,
- VIDEO_SYSTEM_PALM,
- VIDEO_SYSTEM_NTSC60,
- VIDEO_SYSTEM_PAL60,
- VIDEO_SYSTEM_PALM60
- } video_system_t;
- </programlisting>
- </section>
- <section id="video_highlight">
- <title>struct video_highlight</title>
- <para>Calling the ioctl VIDEO_SET_HIGHLIGHTS posts the SPU highlight information. The
- call expects the following format for that information:
- </para>
- <programlisting>
- typedef
- struct video_highlight {
- boolean active; /⋆ 1=show highlight, 0=hide highlight ⋆/
- uint8_t contrast1; /⋆ 7- 4 Pattern pixel contrast ⋆/
- /⋆ 3- 0 Background pixel contrast ⋆/
- uint8_t contrast2; /⋆ 7- 4 Emphasis pixel-2 contrast ⋆/
- /⋆ 3- 0 Emphasis pixel-1 contrast ⋆/
- uint8_t color1; /⋆ 7- 4 Pattern pixel color ⋆/
- /⋆ 3- 0 Background pixel color ⋆/
- uint8_t color2; /⋆ 7- 4 Emphasis pixel-2 color ⋆/
- /⋆ 3- 0 Emphasis pixel-1 color ⋆/
- uint32_t ypos; /⋆ 23-22 auto action mode ⋆/
- /⋆ 21-12 start y ⋆/
- /⋆ 9- 0 end y ⋆/
- uint32_t xpos; /⋆ 23-22 button color number ⋆/
- /⋆ 21-12 start x ⋆/
- /⋆ 9- 0 end x ⋆/
- } video_highlight_t;
- </programlisting>
- </section>
- <section id="video_spu">
- <title>video SPU</title>
- <para>Calling VIDEO_SET_SPU deactivates or activates SPU decoding, according to the
- following format:
- </para>
- <programlisting>
- typedef
- struct video_spu {
- boolean active;
- int stream_id;
- } video_spu_t;
- </programlisting>
- </section>
- <section id="video_spu_palette">
- <title>video SPU palette</title>
- <para>The following structure is used to set the SPU palette by calling VIDEO_SPU_PALETTE:
- </para>
- <programlisting>
- typedef
- struct video_spu_palette{
- int length;
- uint8_t ⋆palette;
- } video_spu_palette_t;
- </programlisting>
- </section>
- <section id="video_navi_pack">
- <title>video NAVI pack</title>
- <para>In order to get the navigational data the following structure has to be passed to the ioctl
- VIDEO_GET_NAVI:
- </para>
- <programlisting>
- typedef
- struct video_navi_pack{
- int length; /⋆ 0 ... 1024 ⋆/
- uint8_t data[1024];
- } video_navi_pack_t;
- </programlisting>
- </section>
- <section id="video_attributes">
- <title>video attributes</title>
- <para>The following attributes can be set by a call to VIDEO_SET_ATTRIBUTES:
- </para>
- <programlisting>
- typedef uint16_t video_attributes_t;
- /⋆ bits: descr. ⋆/
- /⋆ 15-14 Video compression mode (0=MPEG-1, 1=MPEG-2) ⋆/
- /⋆ 13-12 TV system (0=525/60, 1=625/50) ⋆/
- /⋆ 11-10 Aspect ratio (0=4:3, 3=16:9) ⋆/
- /⋆ 9- 8 permitted display mode on 4:3 monitor (0=both, 1=only pan-sca ⋆/
- /⋆ 7 line 21-1 data present in GOP (1=yes, 0=no) ⋆/
- /⋆ 6 line 21-2 data present in GOP (1=yes, 0=no) ⋆/
- /⋆ 5- 3 source resolution (0=720x480/576, 1=704x480/576, 2=352x480/57 ⋆/
- /⋆ 2 source letterboxed (1=yes, 0=no) ⋆/
- /⋆ 0 film/camera mode (0=camera, 1=film (625/50 only)) ⋆/
- </programlisting>
- </section></section>
- <section id="video_function_calls">
- <title>Video Function Calls</title>
- <section id="video_fopen">
- <title>open()</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This system call opens a named video device (e.g. /dev/dvb/adapter0/video0)
- for subsequent use.</para>
- <para>When an open() call has succeeded, the device will be ready for use.
- The significance of blocking or non-blocking mode is described in the
- documentation for functions where there is a difference. It does not affect the
- semantics of the open() call itself. A device opened in blocking mode can later
- be put into non-blocking mode (and vice versa) using the F_SETFL command
- of the fcntl system call. This is a standard system call, documented in the Linux
- manual page for fcntl. Only one user can open the Video Device in O_RDWR
- mode. All other attempts to open the device in this mode will fail, and an
- error-code will be returned. If the Video Device is opened in O_RDONLY
- mode, the only ioctl call that can be used is VIDEO_GET_STATUS. All other
- call will return an error code.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>int open(const char ⋆deviceName, int flags);</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>const char
- *deviceName</para>
- </entry><entry
- align="char">
- <para>Name of specific video device.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int flags</para>
- </entry><entry
- align="char">
- <para>A bit-wise OR of the following flags:</para>
- </entry>
- </row><row><entry
- align="char">
- </entry><entry
- align="char">
- <para>O_RDONLY read-only access</para>
- </entry>
- </row><row><entry
- align="char">
- </entry><entry
- align="char">
- <para>O_RDWR read/write access</para>
- </entry>
- </row><row><entry
- align="char">
- </entry><entry
- align="char">
- <para>O_NONBLOCK open in non-blocking mode</para>
- </entry>
- </row><row><entry
- align="char">
- </entry><entry
- align="char">
- <para>(blocking mode is the default)</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>ENODEV</para>
- </entry><entry
- align="char">
- <para>Device driver not loaded/available.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINTERNAL</para>
- </entry><entry
- align="char">
- <para>Internal error.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EBUSY</para>
- </entry><entry
- align="char">
- <para>Device or resource busy.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINVAL</para>
- </entry><entry
- align="char">
- <para>Invalid argument.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section>
- <section id="video_fclose">
- <title>close()</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This system call closes a previously opened video device.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>int close(int fd);</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section>
- <section id="video_fwrite">
- <title>write()</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This system call can only be used if VIDEO_SOURCE_MEMORY is selected
- in the ioctl call VIDEO_SELECT_SOURCE. The data provided shall be in
- PES format, unless the capability allows other formats. If O_NONBLOCK is
- not specified the function will block until buffer space is available. The amount
- of data to be transferred is implied by count.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>size_t write(int fd, const void ⋆buf, size_t count);</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>void *buf</para>
- </entry><entry
- align="char">
- <para>Pointer to the buffer containing the PES data.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>size_t count</para>
- </entry><entry
- align="char">
- <para>Size of buf.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EPERM</para>
- </entry><entry
- align="char">
- <para>Mode VIDEO_SOURCE_MEMORY not selected.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>ENOMEM</para>
- </entry><entry
- align="char">
- <para>Attempted to write more data than the internal buffer can
- hold.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_STOP</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl call asks the Video Device to stop playing the current stream.
- Depending on the input parameter, the screen can be blanked out or displaying
- the last decoded frame.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>int ioctl(fd, int request = VIDEO_STOP, boolean
- mode);</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_STOP for this command.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>Boolean mode</para>
- </entry><entry
- align="char">
- <para>Indicates how the screen shall be handled.</para>
- </entry>
- </row><row><entry
- align="char">
- </entry><entry
- align="char">
- <para>TRUE: Blank screen when stop.</para>
- </entry>
- </row><row><entry
- align="char">
- </entry><entry
- align="char">
- <para>FALSE: Show last decoded frame.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINTERNAL</para>
- </entry><entry
- align="char">
- <para>Internal error, possibly in the communication with the
- DVB subsystem.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_PLAY</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl call asks the Video Device to start playing a video stream from the
- selected source.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>int ioctl(fd, int request = VIDEO_PLAY);</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_PLAY for this command.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINTERNAL</para>
- </entry><entry
- align="char">
- <para>Internal error, possibly in the communication with the
- DVB subsystem.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_FREEZE</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl call suspends the live video stream being played. Decoding
- and playing are frozen. It is then possible to restart the decoding
- and playing process of the video stream using the VIDEO_CONTINUE
- command. If VIDEO_SOURCE_MEMORY is selected in the ioctl call
- VIDEO_SELECT_SOURCE, the DVB subsystem will not decode any more
- data until the ioctl call VIDEO_CONTINUE or VIDEO_PLAY is performed.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>int ioctl(fd, int request = VIDEO_FREEZE);</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_FREEZE for this command.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINTERNAL</para>
- </entry><entry
- align="char">
- <para>Internal error, possibly in the communication with the
- DVB subsystem.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_CONTINUE</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl call restarts decoding and playing processes of the video stream
- which was played before a call to VIDEO_FREEZE was made.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>int ioctl(fd, int request = VIDEO_CONTINUE);</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_CONTINUE for this command.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINTERNAL</para>
- </entry><entry
- align="char">
- <para>Internal error, possibly in the communication with the
- DVB subsystem.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_SELECT_SOURCE</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl call informs the video device which source shall be used for the input
- data. The possible sources are demux or memory. If memory is selected, the
- data is fed to the video device through the write command.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>int ioctl(fd, int request = VIDEO_SELECT_SOURCE,
- video_stream_source_t source);</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_SELECT_SOURCE for this command.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>video_stream_source_t
- source</para>
- </entry><entry
- align="char">
- <para>Indicates which source shall be used for the Video stream.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINTERNAL</para>
- </entry><entry
- align="char">
- <para>Internal error, possibly in the communication with the
- DVB subsystem.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_SET_BLANK</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl call asks the Video Device to blank out the picture.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>int ioctl(fd, int request = VIDEO_SET_BLANK, boolean
- mode);</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_SET_BLANK for this command.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>boolean mode</para>
- </entry><entry
- align="char">
- <para>TRUE: Blank screen when stop.</para>
- </entry>
- </row><row><entry
- align="char">
- </entry><entry
- align="char">
- <para>FALSE: Show last decoded frame.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINTERNAL</para>
- </entry><entry
- align="char">
- <para>Internal error, possibly in the communication with the
- DVB subsystem.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINVAL</para>
- </entry><entry
- align="char">
- <para>Illegal input parameter</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_GET_STATUS</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl call asks the Video Device to return the current status of the device.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para> int ioctl(fd, int request = VIDEO_GET_STATUS, struct
- video_status ⋆status);</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_GET_STATUS for this command.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>struct video_status
- *status</para>
- </entry><entry
- align="char">
- <para>Returns the current status of the Video Device.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINTERNAL</para>
- </entry><entry
- align="char">
- <para>Internal error, possibly in the communication with the
- DVB subsystem.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EFAULT</para>
- </entry><entry
- align="char">
- <para>status points to invalid address</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_GET_EVENT</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl call returns an event of type video_event if available. If an event is
- not available, the behavior depends on whether the device is in blocking or
- non-blocking mode. In the latter case, the call fails immediately with errno
- set to EWOULDBLOCK. In the former case, the call blocks until an event
- becomes available. The standard Linux poll() and/or select() system calls can
- be used with the device file descriptor to watch for new events. For select(),
- the file descriptor should be included in the exceptfds argument, and for
- poll(), POLLPRI should be specified as the wake-up condition. Read-only
- permissions are sufficient for this ioctl call.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para> int ioctl(fd, int request = VIDEO_GET_EVENT, struct
- video_event ⋆ev);</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_GET_EVENT for this command.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>struct video_event
- *ev</para>
- </entry><entry
- align="char">
- <para>Points to the location where the event, if any, is to be
- stored.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EFAULT</para>
- </entry><entry
- align="char">
- <para>ev points to invalid address</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EWOULDBLOCK</para>
- </entry><entry
- align="char">
- <para>There is no event pending, and the device is in
- non-blocking mode.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EOVERFLOW</para>
- </entry><entry
- align="char">
- </entry>
- </row><row><entry
- align="char">
- </entry><entry
- align="char">
- <para>Overflow in event queue - one or more events were lost.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_SET_DISPLAY_FORMAT</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl call asks the Video Device to select the video format to be applied
- by the MPEG chip on the video.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para> int ioctl(fd, int request =
- VIDEO_SET_DISPLAY_FORMAT, video_display_format_t
- format);</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_SET_DISPLAY_FORMAT for this
- command.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>video_display_format_t
- format</para>
- </entry><entry
- align="char">
- <para>Selects the video format to be used.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINTERNAL</para>
- </entry><entry
- align="char">
- <para>Internal error.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINVAL</para>
- </entry><entry
- align="char">
- <para>Illegal parameter format.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_STILLPICTURE</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl call asks the Video Device to display a still picture (I-frame). The
- input data shall contain an I-frame. If the pointer is NULL, then the current
- displayed still picture is blanked.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>int ioctl(fd, int request = VIDEO_STILLPICTURE,
- struct video_still_picture ⋆sp);</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_STILLPICTURE for this command.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>struct
- video_still_picture
- *sp</para>
- </entry><entry
- align="char">
- <para>Pointer to a location where an I-frame and size is stored.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINTERNAL</para>
- </entry><entry
- align="char">
- <para>Internal error.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EFAULT</para>
- </entry><entry
- align="char">
- <para>sp points to an invalid iframe.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_FAST_FORWARD</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl call asks the Video Device to skip decoding of N number of I-frames.
- This call can only be used if VIDEO_SOURCE_MEMORY is selected.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>int ioctl(fd, int request = VIDEO_FAST_FORWARD, int
- nFrames);</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_FAST_FORWARD for this command.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int nFrames</para>
- </entry><entry
- align="char">
- <para>The number of frames to skip.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINTERNAL</para>
- </entry><entry
- align="char">
- <para>Internal error.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EPERM</para>
- </entry><entry
- align="char">
- <para>Mode VIDEO_SOURCE_MEMORY not selected.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINVAL</para>
- </entry><entry
- align="char">
- <para>Illegal parameter format.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_SLOWMOTION</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl call asks the video device to repeat decoding frames N number of
- times. This call can only be used if VIDEO_SOURCE_MEMORY is selected.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>int ioctl(fd, int request = VIDEO_SLOWMOTION, int
- nFrames);</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_SLOWMOTION for this command.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int nFrames</para>
- </entry><entry
- align="char">
- <para>The number of times to repeat each frame.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINTERNAL</para>
- </entry><entry
- align="char">
- <para>Internal error.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EPERM</para>
- </entry><entry
- align="char">
- <para>Mode VIDEO_SOURCE_MEMORY not selected.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINVAL</para>
- </entry><entry
- align="char">
- <para>Illegal parameter format.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_GET_CAPABILITIES</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl call asks the video device about its decoding capabilities. On success
- it returns and integer which has bits set according to the defines in section ??.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>int ioctl(fd, int request = VIDEO_GET_CAPABILITIES,
- unsigned int ⋆cap);</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_GET_CAPABILITIES for this
- command.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>unsigned int *cap</para>
- </entry><entry
- align="char">
- <para>Pointer to a location where to store the capability
- information.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EFAULT</para>
- </entry><entry
- align="char">
- <para>cap points to an invalid iframe.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_SET_ID</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl selects which sub-stream is to be decoded if a program or system
- stream is sent to the video device.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>int ioctl(int fd, int request = VIDEO_SET_ID, int
- id);</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_SET_ID for this command.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int id</para>
- </entry><entry
- align="char">
- <para>video sub-stream id</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINTERNAL</para>
- </entry><entry
- align="char">
- <para>Internal error.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINVAL</para>
- </entry><entry
- align="char">
- <para>Invalid sub-stream id.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_CLEAR_BUFFER</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl call clears all video buffers in the driver and in the decoder hardware.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>int ioctl(fd, int request = VIDEO_CLEAR_BUFFER);</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_CLEAR_BUFFER for this command.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_SET_STREAMTYPE</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl tells the driver which kind of stream to expect being written to it. If
- this call is not used the default of video PES is used. Some drivers might not
- support this call and always expect PES.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>int ioctl(fd, int request = VIDEO_SET_STREAMTYPE,
- int type);</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_SET_STREAMTYPE for this command.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int type</para>
- </entry><entry
- align="char">
- <para>stream type</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINVAL</para>
- </entry><entry
- align="char">
- <para>type is not a valid or supported stream type.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_SET_FORMAT</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl sets the screen format (aspect ratio) of the connected output device
- (TV) so that the output of the decoder can be adjusted accordingly.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para> int ioctl(fd, int request = VIDEO_SET_FORMAT,
- video_format_t format);</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_SET_FORMAT for this command.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>video_format_t
- format</para>
- </entry><entry
- align="char">
- <para>video format of TV as defined in section ??.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINVAL</para>
- </entry><entry
- align="char">
- <para>format is not a valid video format.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_SET_SYSTEM</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl sets the television output format. The format (see section ??) may
- vary from the color format of the displayed MPEG stream. If the hardware is
- not able to display the requested format the call will return an error.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para> int ioctl(fd, int request = VIDEO_SET_SYSTEM ,
- video_system_t system);</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_SET_FORMAT for this command.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>video_system_t
- system</para>
- </entry><entry
- align="char">
- <para>video system of TV output.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINVAL</para>
- </entry><entry
- align="char">
- <para>system is not a valid or supported video system.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_SET_HIGHLIGHT</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl sets the SPU highlight information for the menu access of a DVD.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para> int ioctl(fd, int request = VIDEO_SET_HIGHLIGHT
- ,video_highlight_t ⋆vhilite)</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_SET_HIGHLIGHT for this command.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>video_highlight_t
- *vhilite</para>
- </entry><entry
- align="char">
- <para>SPU Highlight information according to section ??.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINVAL</para>
- </entry><entry
- align="char">
- <para>input is not a valid highlight setting.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_SET_SPU</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl activates or deactivates SPU decoding in a DVD input stream. It can
- only be used, if the driver is able to handle a DVD stream.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para> int ioctl(fd, int request = VIDEO_SET_SPU ,
- video_spu_t ⋆spu)</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_SET_SPU for this command.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>video_spu_t *spu</para>
- </entry><entry
- align="char">
- <para>SPU decoding (de)activation and subid setting according
- to section ??.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINVAL</para>
- </entry><entry
- align="char">
- <para>input is not a valid spu setting or driver cannot handle
- SPU.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_SET_SPU_PALETTE</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl sets the SPU color palette.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para> int ioctl(fd, int request = VIDEO_SET_SPU_PALETTE
- ,video_spu_palette_t ⋆palette )</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_SET_SPU_PALETTE for this command.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>video_spu_palette_t
- *palette</para>
- </entry><entry
- align="char">
- <para>SPU palette according to section ??.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINVAL</para>
- </entry><entry
- align="char">
- <para>input is not a valid palette or driver doesn’t handle SPU.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_GET_NAVI</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl returns navigational information from the DVD stream. This is
- especially needed if an encoded stream has to be decoded by the hardware.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para> int ioctl(fd, int request = VIDEO_GET_NAVI ,
- video_navi_pack_t ⋆navipack)</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_GET_NAVI for this command.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>video_navi_pack_t
- *navipack</para>
- </entry><entry
- align="char">
- <para>PCI or DSI pack (private stream 2) according to section
- ??.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EFAULT</para>
- </entry><entry
- align="char">
- <para>driver is not able to return navigational information</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section><section
- role="subsection"><title>VIDEO_SET_ATTRIBUTES</title>
- <para>DESCRIPTION
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para>This ioctl is intended for DVD playback and allows you to set certain
- information about the stream. Some hardware may not need this information,
- but the call also tells the hardware to prepare for DVD playback.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>SYNOPSIS
- </para>
- <informaltable><tgroup cols="1"><tbody><row><entry
- align="char">
- <para> int ioctl(fd, int request = VIDEO_SET_ATTRIBUTE
- ,video_attributes_t vattr)</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>PARAMETERS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>int fd</para>
- </entry><entry
- align="char">
- <para>File descriptor returned by a previous call to open().</para>
- </entry>
- </row><row><entry
- align="char">
- <para>int request</para>
- </entry><entry
- align="char">
- <para>Equals VIDEO_SET_ATTRIBUTE for this command.</para>
- </entry>
- </row><row><entry
- align="char">
- <para>video_attributes_t
- vattr</para>
- </entry><entry
- align="char">
- <para>video attributes according to section ??.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- <para>ERRORS
- </para>
- <informaltable><tgroup cols="2"><tbody><row><entry
- align="char">
- <para>EBADF</para>
- </entry><entry
- align="char">
- <para>fd is not a valid open file descriptor</para>
- </entry>
- </row><row><entry
- align="char">
- <para>EINVAL</para>
- </entry><entry
- align="char">
- <para>input is not a valid attribute setting.</para>
- </entry>
- </row></tbody></tgroup></informaltable>
- </section></section>
|