Sophie

Sophie

distrib > CentOS > 6 > i386 > by-pkgid > 2c51d8eb79f8810ada971ee8c30ce1e5 > files > 2651

kernel-doc-2.6.32-71.14.1.el6.noarch.rpm

<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968" /><title>Relation of V4L2 to other Linux multimedia APIs</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="index.html" title="LINUX MEDIA INFRASTRUCTURE API" /><link rel="up" href="ch07.html" title="Chapter&#160;7.&#160;Changes" /><link rel="prev" href="ch07s02.html" title="Changes of the V4L2 API" /><link rel="next" href="ch07s04.html" title="Experimental API Elements" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Relation of V4L2 to other Linux multimedia APIs</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch07s02.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;7.&#160;Changes</th><td width="20%" align="right">&#160;<a accesskey="n" href="ch07s04.html">Next</a></td></tr></table><hr /></div><div class="section" title="Relation of V4L2 to other Linux multimedia APIs"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="other"></a>Relation of V4L2 to other Linux multimedia APIs</h2></div></div></div><div class="toc"><dl><dt><span class="section"><a href="ch07s03.html#xvideo">X Video Extension</a></span></dt><dt><span class="section"><a href="ch07s03.html#id2675221">Digital Video</a></span></dt><dt><span class="section"><a href="ch07s03.html#id2675242">Audio Interfaces</a></span></dt></dl></div><div class="section" title="X Video Extension"><div class="titlepage"><div><div><h3 class="title"><a id="xvideo"></a>X Video Extension</h3></div></div></div><p>The X Video Extension (abbreviated XVideo or just Xv) is
an extension of the X Window system, implemented for example by the
XFree86 project. Its scope is similar to V4L2, an API to video capture
and output devices for X clients. Xv allows applications to display
live video in a window, send window contents to a TV output, and
capture or output still images in XPixmaps<sup>[<a id="id2675150" href="#ftn.id2675150" class="footnote">23</a>]</sup>. With their implementation XFree86 makes the
extension available across many operating systems and
architectures.</p><p>Because the driver is embedded into the X server Xv has a
number of advantages over the V4L2 <a class="link" href="ch04s02.html" title="Video Overlay Interface">video
overlay interface</a>. The driver can easily determine the overlay
target, i.&#160;e. visible graphics memory or off-screen buffers for a
destructive overlay. It can program the RAMDAC for a non-destructive
overlay, scaling or color-keying, or the clipping functions of the
video capture hardware, always in sync with drawing operations or
windows moving or changing their stacking order.</p><p>To combine the advantages of Xv and V4L a special Xv
driver exists in XFree86 and XOrg, just programming any overlay capable
Video4Linux device it finds. To enable it
<code class="filename">/etc/X11/XF86Config</code> must contain these lines:</p><pre class="screen">
Section "Module"
    Load "v4l"
EndSection</pre><p>As of XFree86 4.2 this driver still supports only V4L
ioctls, however it should work just fine with all V4L2 devices through
the V4L2 backward-compatibility layer. Since V4L2 permits multiple
opens it is possible (if supported by the V4L2 driver) to capture
video while an X client requested video overlay. Restrictions of
simultaneous capturing and overlay are discussed in <a class="xref" href="ch04s02.html" title="Video Overlay Interface">the section called &#8220;Video Overlay Interface&#8221;</a> apply.</p><p>Only marginally related to V4L2, XFree86 extended Xv to
support hardware YUV to RGB conversion and scaling for faster video
playback, and added an interface to MPEG-2 decoding hardware. This API
is useful to display images captured with V4L2 devices.</p></div><div class="section" title="Digital Video"><div class="titlepage"><div><div><h3 class="title"><a id="id2675221"></a>Digital Video</h3></div></div></div><p>V4L2 does not support digital terrestrial, cable or
satellite broadcast. A separate project aiming at digital receivers
exists. You can find its homepage at <a class="ulink" href="http://linuxtv.org" target="_top">http://linuxtv.org</a>. The Linux DVB API
has no connection to the V4L2 API except that drivers for hybrid
hardware may support both.</p></div><div class="section" title="Audio Interfaces"><div class="titlepage"><div><div><h3 class="title"><a id="id2675242"></a>Audio Interfaces</h3></div></div></div><p>[to do - OSS/ALSA]</p></div><div class="footnotes"><br /><hr width="100" align="left" /><div class="footnote"><p><sup>[<a id="ftn.id2675150" href="#id2675150" class="para">23</a>] </sup>This is not implemented in XFree86.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch07s02.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="ch07.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="ch07s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Changes of the V4L2 API&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;Experimental API Elements</td></tr></table></div></body></html>