glfs/multimedia/libdriv/libvpx.xml
2022-12-13 12:19:29 -06:00

223 lines
6.3 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 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;
<!ENTITY libvpx-download-http "https://github.com/webmproject/libvpx/archive/v&libvpx-version;/libvpx-&libvpx-version;.tar.gz">
<!ENTITY libvpx-download-ftp " ">
<!ENTITY libvpx-md5sum "10cf85debdd07be719a35ca3bfb8ea64">
<!ENTITY libvpx-size "5.2 MB">
<!ENTITY libvpx-buildsize "64 MB (add 1.5 GB for tests)">
<!ENTITY libvpx-time "0.5 SBU (Using parallelism=4; add 42 SBU for tests, including download time)">
]>
<sect1 id="libvpx" xreflabel="libvpx-&libvpx-version;">
<?dbhtml filename="libvpx.html"?>
<title>libvpx-&libvpx-version;</title>
<indexterm zone="libvpx">
<primary sortas="a-libvpx">libvpx</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to libvpx</title>
<para>
This package, from the WebM project, provides the reference
implementations of the VP8 Codec, used in most current html5 video,
and of the next-generation VP9 Codec.
</para>
&lfs112_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&libvpx-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&libvpx-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &libvpx-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &libvpx-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &libvpx-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &libvpx-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">libvpx Dependencies</bridgehead>
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended">
<xref linkend="yasm"/> or <xref role="nodep" linkend="nasm"/>, and
<xref linkend="which"/> (so <command>configure</command> can find yasm)
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="curl"/> (to download test files) and
<xref linkend="doxygen"/> (to build documentation)
</para>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/libvpx"/></para>
</sect2>
<sect2 role="installation">
<title>Installation of libvpx</title>
<para>
Install <application>libvpx</application> by running the
following commands:
</para>
<screen><userinput>sed -i 's/cp -p/cp/' build/make/Makefile &amp;&amp;
mkdir libvpx-build &amp;&amp;
cd libvpx-build &amp;&amp;
../configure --prefix=/usr \
--enable-shared \
--disable-static &amp;&amp;
make</userinput></screen>
<para>
To test the results, issue:
<command>LD_LIBRARY_PATH=. make test</command>.
The test suite downloads many files as part of its test process.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<command>sed ... </command>: This command
corrects ownership and permissions of installed files.
</para>
<para>
<command>mkdir libvpx-build &amp;&amp; cd libvpx-build</command>:
The <application>libvpx</application> developers
recommend building in a dedicated build directory.
</para>
<para>
<option>--disable-vp8</option>: This switch prevents building of VP8
codec support.
</para>
<para>
<option>--disable-vp9</option>: This switch prevents building of VP9
codec support.
</para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/static-libraries.xml"/>
<para>
<option>--target=generic-gnu</option>: This switch disables
optimizations specific for x86 and x86-64, allowing to build this
package without <command>nasm</command> and <command>yasm</command>
installed.
</para>
<para>
<command>LD_LIBRARY_PATH=.</command>: This is needed for the test suite
to use the library that was just built.
</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>vpxdec and vpxenc</seg>
<seg>libvpx.so</seg>
<seg>/usr/include/vpx</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="vpxdec">
<term><command>vpxdec</command></term>
<listitem>
<para>
is the WebM Project VP8 and VP9 decoder
</para>
<indexterm zone="libvpx vpxdec">
<primary sortas="b-vpxdec">vpxdec</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="vpxenc">
<term><command>vpxenc</command></term>
<listitem>
<para>
is the WebM project VP8 and VP9 encoder
</para>
<indexterm zone="libvpx vpxenc">
<primary sortas="b-vpxenc">vpxenc</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libvpx-lib">
<term><filename class="libraryfile">libvpx.so</filename></term>
<listitem>
<para>
provides functions to use the VP8 and VP9 video codecs
</para>
<indexterm zone="libvpx libvpx-lib">
<primary sortas="c-libvpx">libvpx.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>