git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@11685 af4574ff-66df-0310-9fd7-8a98e5e911e0
This commit is contained in:
Bruce Dubbs 2013-08-24 02:08:53 +00:00
parent 54e9eea876
commit a8ece0395f
7 changed files with 163 additions and 143 deletions

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
]>
<!--
$LastChangedBy$
$Date$
-->
<chapter id="multimedia-hwaccel">
<?dbhtml filename="hwaccel.html"?>
<title>Hardware Accelerated Video Decoding Libraries and Drivers</title>
<para>
This chapter contains libraries and hardware specific drivers which
provide interfaces to hardware video decoders. They enable hardware
accelerated video decoding in apps that support it.
</para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libva.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libvdpau.xml"/>
</chapter>

View File

@ -16,7 +16,6 @@ $Date$
<title>Multimedia</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libdriv/libdriv.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="hwaccel/hwaccel.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="audioutils/audioutils.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="videoutils/videoutils.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="cdwriteutils/cdwriteutils.xml"/>

View File

@ -21,13 +21,12 @@
<!ENTITY libva-intel-driver-time "0.1 SBU">
]>
<sect1 id="libva" xreflabel="libva-&libva-version;">
<?dbhtml filename="libva.html"?>
<sect2 id="libva" xreflabel="libva-&libva-version;">
<sect1info>
<sect2info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
</sect2info>
<title>libva-&libva-version;</title>
@ -35,19 +34,25 @@
<primary sortas="a-libva">libva</primary>
</indexterm>
<sect2 role="package">
<sect3 role="package">
<title>Introduction to libva</title>
<para>
The <application>libva</application> package contains a library which
provides access to hardware accelerated video processing, using hardware
to accelerate video processing in order to offload the central processing
unit (CPU) to decode and encode compressed digital video.
<para>
The <application>libva</application> package contains a library which
provides access to hardware accelerated video processing, using hardware
to accelerate video processing in order to offload the central
processing unit (CPU) to decode and encode compressed digital video. VA
API video decode/encode interface is platform and window system
independent targeted at Direct Rendering Infrastructure (DRI) in the X
Window System however it can potentially also be used with direct
framebuffer and graphics sub-systems for video output. Accelerated
processing includes support for video decoding, video encoding,
subpicture blending, and rendering.
</para>
&lfs73_checked;
&lfs74_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<bridgehead renderas="sect4">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
@ -81,7 +86,7 @@
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<bridgehead renderas="sect4">Additional Downloads</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
@ -115,14 +120,14 @@
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">libva Dependencies</bridgehead>
<bridgehead renderas="sect4">libva Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<bridgehead renderas="sect5">Required</bridgehead>
<para role="required">
<xref linkend="mesalib"/>
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<bridgehead renderas="sect5">Optional</bridgehead>
<para role="optional">
<xref linkend="doxygen"/> and
<ulink url="http://wayland.freedesktop.org/">Wayland</ulink>
@ -131,9 +136,9 @@
<para condition="html" role="usernotes">
User Notes: <ulink url="&blfs-wiki;/libva"/>
</para>
</sect2>
</sect3>
<sect2 role="installation">
<sect3 role="installation">
<title>Installation of libva</title>
<para>
@ -141,7 +146,7 @@
commands:
</para>
<screen><userinput>./configure --prefix=/usr &amp;&amp;
<screen><userinput>./configure $XORG_CONFIG &amp;&amp;
make</userinput></screen>
<para>
@ -154,17 +159,18 @@ make</userinput></screen>
<screen role="root"><userinput>make install</userinput></screen>
</sect2>
</sect3>
<sect2 role="installation">
<sect3 role="installation">
<title>Installation of libva-intel-driver</title>
<para>
Install <application>libva-intel-driver</application> by running the
following commands:
The <application>libva-intel-driver</application> is designed
specifically for video cards based on an Intel GPU.
Install the driver by running the following commands:
</para>
<screen><userinput>./configure --prefix=/usr &amp;&amp;
<screen><userinput>./configure $XORG_CONFIG &amp;&amp;
make</userinput></screen>
<para>
@ -177,9 +183,9 @@ make</userinput></screen>
<screen role="root"><userinput>make install</userinput></screen>
</sect2>
</sect3>
<sect2 role="content">
<sect3 role="content">
<title>Contents</title>
<segmentedlist>
@ -226,6 +232,6 @@ make</userinput></screen>
</variablelist>
</sect2>
</sect3>
</sect1>
</sect2>

View File

@ -12,13 +12,12 @@
<!ENTITY libvdpau-time "0.1 SBU">
]>
<sect1 id="libvdpau" xreflabel="libvdpau-&libvdpau-version;">
<?dbhtml filename="libvdpau.html"?>
<sect2 id="libvdpau" xreflabel="libvdpau-&libvdpau-version;">
<sect1info>
<sect2info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
</sect2info>
<title>libvdpau-&libvdpau-version;</title>
@ -26,18 +25,38 @@
<primary sortas="a-libvdpau">libvdpau</primary>
</indexterm>
<sect2 role="package">
<sect3 role="package">
<title>Introduction to libvdpau</title>
<para>
The <application>libvdpau</application> package contains a library which
allows video programs to offload portions of the video decoding process
and video post-processing to the GPU video-hardware.
implements the VDPAU library.
</para>
<para>
VDPAU (Video Decode and Presentation API for Unix) is an open source
library (libvdpau) and API originally designed by Nvidia for its GeForce
8 series and later GPU hardware,[1][2] targeted at the X Window System
This VDPAU API allows video programs to offload portions of the video
decoding process and video post-processing to the GPU video-hardware.
</para>
<para>
Currently, the portions capable of being offloaded by VDPAU onto the GPU
are motion compensation (mo comp), inverse discrete cosine transform
(iDCT), VLD (variable-length decoding) and deblocking for MPEG-1, MPEG-2,
MPEG-4 ASP (MPEG-4 Part 2), H.264/MPEG-4 AVC and VC-1, WMV3/WMV9 encoded
videos. Which specific codecs of these that can be offloaded to the
GPU depends on the version of the GPU hardware; specifically,
to also decode MPEG-4 ASP (MPEG-4 Part 2), Xvid/OpenDivX (DivX 4), and
DivX 5 formats, a GeForce 200M (2xxM) Series (the eleventh generation of
Nvidia's GeForce graphics processing units) or newer GPU hardware is
required.
</para>
&lfs73_checked;
&lfs74_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<bridgehead renderas="sect4">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
@ -71,21 +90,21 @@
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">libvdpau Dependencies</bridgehead>
<bridgehead renderas="sect4">libvdpau Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<bridgehead renderas="sect5">Required</bridgehead>
<para role="required">
<xref linkend="xorg7-lib"/>
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<bridgehead renderas="sect5">Optional</bridgehead>
<para role="optional">
<xref linkend="doxygen"/>,
<xref linkend="graphviz"/> and
<xref linkend="texlive"/>
</para>
<bridgehead renderas="sect4">Runtime Dependency</bridgehead>
<bridgehead renderas="sect5">Runtime Dependency</bridgehead>
<para role="optional">
<xref linkend="mesalib"/>
</para>
@ -93,9 +112,9 @@
<para condition="html" role="usernotes">
User Notes: <ulink url="&blfs-wiki;/libvdpau"/>
</para>
</sect2>
</sect3>
<sect2 role="installation">
<sect3 role="installation">
<title>Installation of libvdpau</title>
<para>
@ -103,7 +122,7 @@
commands:
</para>
<screen><userinput>./configure --prefix=/usr --sysconfdir=/etc &amp;&amp;
<screen><userinput>./configure $XORG_CONFIG &amp;&amp;
make</userinput></screen>
<para>
@ -116,9 +135,9 @@ make</userinput></screen>
<screen role="root"><userinput>make install</userinput></screen>
</sect2>
</sect3>
<sect2 role="content">
<sect3 role="content">
<title>Contents</title>
<segmentedlist>
@ -160,6 +179,6 @@ make</userinput></screen>
</variablelist>
</sect2>
</sect3>
</sect1>
</sect2>

View File

@ -160,6 +160,24 @@
</sect3>
<sect3 id="hw-video-acceleration">
<title>Hardware Video Acceleration</title>
<itemizedlist spacing="compact">
<listitem>
<para>
<xref linkend="libva"/>
</para>
</listitem>
<listitem>
<para>
<xref linkend="libvdpau"/>
</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
@ -219,4 +237,10 @@
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="x7driver-vmware.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="libva.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="libvdpau.xml"/>
</sect1>

View File

@ -79,9 +79,8 @@
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="alsa-lib"/>,
<xref linkend="mesalib"/> and
<xref linkend="qtchooser"/>
<xref linkend="alsa-lib"/> and
<xref linkend="mesalib"/>
</para>
<bridgehead renderas="sect4">Recommended</bridgehead>
@ -94,7 +93,7 @@
<xref linkend="libmng"/>,
<xref linkend="libpng"/>,
<xref linkend="libtiff"/>,
<xref linkend="openssl"/> and
<xref linkend="openssl"/>, and
<xref linkend="sqlite"/>
</para>
@ -105,7 +104,8 @@
<xref linkend="gst-plugins-base"/> (For QtWebKit HTML5 Video),
<xref linkend="mysql"/>,
<xref linkend="postgresql"/>,
<xref linkend="pulseaudio"/> and
<xref linkend="pulseaudio"/>,
<xref linkend="qtchooser"/> (if also installing Qt5), and
<xref linkend="unixodbc"/>
</para>
@ -118,6 +118,7 @@
<title>Installation of Qt</title>
<para>
There are several ways to install a complicated package such as
<application>Qt</application>. The files are not completely position
independent. Installation procedures execute the program
@ -128,36 +129,36 @@
which must be modified if relocating the package. These files are set up
correctly by the build process.
</para>
<para>
The default installation places the files in <filename
class="directory">/usr/local/qt</filename>. Many commercial
class='directory'>/usr/local/qt/</filename>. Many commercial
distributions place the files in the system's <filename
class="directory">/usr</filename> hierarchy. The package can also be
class='directory'>/usr</filename> hierarchy. The package can also be
installed in an arbitrary directory.
</para>
<para>
The advantage of installing in <filename
class="directory">/usr</filename> is that no updates to the
class='directory'>/usr</filename> is that no updates to the
<filename>/etc/ld.so.conf</filename> or
<filename>/etc/man_db.conf</filename> files are required. The package
files are distributed within several subdirectories of the <filename
class="directory">/usr</filename> hierarchy. This is the method that
most commercial distributions use. It is also supported by the
<application>qtchooser</application> application.
class='directory'>/usr</filename> hierarchy. This is the method that
most commercial distributions use. It is also supported by the
optional <application>qtchooser</application> application.
</para>
<para>
The advantage of installing <application>Qt</application> in a custom
The advantage of installing <application>Qt4</application> in a custom
directory such as <filename
class="directory">/opt/qt-&qt4-version;</filename> is that it keeps all
class='directory'>/opt/qt-&qt4-version;</filename> is that it keeps all
the package files consolidated in a dedicated directory hierarchy. By
using this method, an update can be made without overwriting a previous
installation and users can easily revert to a previous version by
changing one symbolic link or merely changing the PATH variable. It
also allows a developer to maintain multiple versions of
<application>Qt</application> for testing.
changing one symbolic link or merely changing the PATH variable. It
also allows a developer to maintain multiple versions of
<application>Qt4</application> for testing.
</para>
<warning>
@ -197,30 +198,31 @@
<screen><userinput>sed -i -e "/#if/d" -e "/#error/d" -e "/#endif/d" \
config.tests/unix/libmng/libmng.cpp &amp;&amp;
./configure -confirm-license \
-opensource \
-release \
-prefix /usr \
-bindir /usr/lib/qt4/bin \
-headerdir /usr/include/qt4 \
-datadir /usr/share/qt4 \
-plugindir /usr/lib/qt4/plugins \
-importdir /usr/lib/qt4/imports \
./configure -prefix /usr \
-bindir /usr/lib/qt4/bin \
-plugindir /usr/lib/qt4/plugins \
-importdir /usr/lib/qt4/imports \
-headerdir /usr/include/qt4 \
-datadir /usr/share/qt4 \
-sysconfdir /etc/xdg \
-docdir /usr/share/doc/qt4 \
-demosdir /usr/share/doc/qt4/demos \
-examplesdir /usr/share/doc/qt4/examples \
-translationdir /usr/share/qt4/translations \
-sysconfdir /etc/xdg \
-docdir /usr/share/doc/qt4 \
-demosdir /usr/share/doc/qt4/demos \
-examplesdir /usr/share/doc/qt4/examples \
-dbus-linked \
-openssl-linked \
-system-sqlite \
-no-phonon \
-confirm-license \
-opensource \
-release \
-dbus-linked \
-openssl-linked \
-system-sqlite \
-no-phonon \
-no-phonon-backend \
-no-nis \
-no-openvg \
-nomake demos \
-nomake examples \
-optimized-qmake &amp;&amp;
-no-nis \
-no-openvg \
-nomake demos \
-nomake examples \
-optimized-qmake &amp;&amp;
make</userinput></screen>
<para>
@ -234,13 +236,13 @@ make</userinput></screen>
<screen role="root"><userinput>make install &amp;&amp;
rm -rf /usr/tests &amp;&amp;
install -v -Dm644 src/gui/dialogs/images/qtlogo-64.png \
/usr/share/pixmaps/qt4logo.png &amp;&amp;
/usr/share/pixmaps/qt4logo.png &amp;&amp;
install -v -Dm644 tools/assistant/tools/assistant/images/assistant-128.png \
/usr/share/pixmaps/assistant-qt4.png &amp;&amp;
install -v -Dm644 tools/designer/src/designer/images/designer.png \
/usr/share/pixmaps/designer-qt4.png &amp;&amp;
/usr/share/pixmaps/designer-qt4.png &amp;&amp;
install -v -Dm644 tools/linguist/linguist/images/icons/linguist-128-32.png \
/usr/share/pixmaps/linguist-qt4.png &amp;&amp;
/usr/share/pixmaps/linguist-qt4.png &amp;&amp;
install -v -Dm644 tools/qdbus/qdbusviewer/images/qdbusviewer-128.png \
/usr/share/pixmaps/qdbusviewer-qt4.png</userinput></screen>
@ -275,7 +277,7 @@ done</userinput></screen>
<bridgehead renderas="sect3">Method 2: Installing in /opt/qt-&qt4-version;</bridgehead>
<para>
Install <application>Qt</application> in /opt/qt-&qt4-version;
Install <application>Qt</application> in /opt/qt-&qt4-version;
by running the following commands:
</para>
@ -415,9 +417,8 @@ unset file</userinput></screen>
<title>Configuration Information</title>
<para>
If you installed <application>Qt</application> in
<filename class="directory">/usr</filename>, create
an environment variable needed by certain packages.
If you installed <application>Qt</application> in /usr,
create an environment variable needed by certain packages.
As the <systemitem class="username">root</systemitem> user:
</para>
@ -433,19 +434,17 @@ EOF</userinput></screen>
<para>
If you installed <application>Qt</application> in a location other
than <filename class="directory">/usr</filename>, you need to update
the following configuration files so that <application>Qt</application>
is correctly found by other packages and system processes.
</para>
<para>
As the <systemitem class="username">root</systemitem> user, update
than /usr, you need to update the following configuration files so
that <application>Qt</application> is correctly found by other packages
and system processes.</para>
<para>As the <systemitem class="username">root</systemitem> user, update
the <filename>/etc/ld.so.conf</filename> file and the dynamic linker's
run-time cache file:
</para>
<screen role="root"><userinput>cat &gt;&gt; /etc/ld.so.conf &lt;&lt; EOF
<literal># Begin Qt addition
<literal># Begin Qt addition
/opt/qt/lib
@ -453,29 +452,29 @@ EOF</userinput></screen>
EOF
ldconfig</userinput></screen>
<indexterm zone="qt4 qtconfig-qt4">
<primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
</indexterm>
<para>
As the <systemitem class="username">root</systemitem> user, create
the <filename>/etc/profile.d/qt.sh</filename> file:
</para>
<screen role="root"><userinput>cat &gt; /etc/profile.d/qt.sh &lt;&lt; EOF
<literal># Begin /etc/profile.d/qt.sh
<literal># Begin /etc/profile.d/qt.sh
QTDIR=/opt/qt
pathappend /opt/qt/bin PATH
pathappend /opt/qt/lib/pkgconfig PKG_CONFIG_PATH
export QTDIR
# End /etc/profile.d/qt.sh</literal>
EOF</userinput></screen>
<indexterm zone="qt4 qtconfig-qt4">
<primary sortas="e-etc-profile.d-qt.sh">/etc/profile.d/qt.sh</primary>
</indexterm>
<para>
For all methods, Create the menu entries for installed applications.
As the <systemitem class="username">root</systemitem> user:
@ -580,7 +579,7 @@ EOF</userinput></screen>
/usr/include/qt4,
/usr/lib/qt4,
/usr/share/doc/qt4, and
/usr/share/qt4
/usr/share/qt4 (OR $QTDIR)
(OR $QTDIR)
</seg>
</seglistitem>