Update opus-tools docs and links

parent e4b04e30
......@@ -35,6 +35,7 @@ See the [documentation][docs] for an API reference and test vectors for verifyin
## Opus-tools
[![GitLab pipeline status for opus-tools](https://gitlab.xiph.org/xiph/opus-tools/badges/master/pipeline.svg)](https://gitlab.xiph.org/xiph/opus-tools/commits/master)
[![travis-ci.org build status for opus-tools](https://travis-ci.org/xiph/opus-tools.svg?branch=master)](https://travis-ci.org/xiph/opus-tools)
[![appveyor (windows) build status for opus-tools](https://ci.appveyor.com/api/projects/status/github/xiph/opus-tools?svg=true&branch=master)](https://ci.appveyor.com/project/rillian/opus-tools)
......@@ -42,9 +43,9 @@ Opus-tools includes a set of tools for encoding/decoding Opus to and from wav. T
are suitable for distribution with support for seeking, metadata, and multichannel.
See also: the [OggOpus mapping][oggopus].
<pre><code>$ git clone <a href="https://git.xiph.org/?p=opus-tools.git">https://git.xiph.org/opus-tools.git</a></code></pre>
<pre><code>$ git clone <a href="https://gitlab.xiph.org/xiph/opus-tools/">https://gitlab.xiph.org/xiph/opus-tools/</a></code></pre>
Manpages: [opusenc][opusenc], [opusdec][opusdec], [opusinfo][opusinfo]
Manpages: [opusenc][opusenc], [opusdec][opusdec], [opusinfo][opusinfo], [opusrtp][opusrtp]
## Opusfile
......@@ -111,10 +112,11 @@ Build status for the [Github mirrors](https://github.com/xiph/) and test results
[exp_lbr_tune-branch]: https://git.xiph.org/?p=opus.git;a=shortlog;h=refs/heads/exp_lbr_tune
[opus-master.tar.gz]: https://git.xiph.org/?p=opus.git;a=snapshot;h=HEAD;sf=tgz
[opus-exp_lbr_tune-branch.tar.gz]: https://git.xiph.org/?p=opus.git;a=snapshot;h=exp_lbr_tune;sf=tgz
[oggopus]: https://wiki.xiph.org/OggOpus
[opusenc]: https://mf4.xiph.org/jenkins/view/opus/job/opus-tools/ws/man/opusenc.html
[opusdec]: https://mf4.xiph.org/jenkins/view/opus/job/opus-tools/ws/man/opusdec.html
[opusinfo]: https://mf4.xiph.org/jenkins/view/opus/job/opus-tools/ws/man/opusinfo.html
[oggopus]: https://tools.ietf.org/html/rfc7845
[opusenc]: {{ "/docs/opus-tools/opusenc.html" | prepend: site.baseurl }}
[opusdec]: {{ "/docs/opus-tools/opusdec.html" | prepend: site.baseurl }}
[opusinfo]: {{ "/docs/opus-tools/opusinfo.html" | prepend: site.baseurl }}
[opusrtp]: {{ "/docs/opus-tools/opusrtp.html" | prepend: site.baseurl }}
[opus-ci]: https://mf4.xiph.org/jenkins/view/opus/
[opus-contributing-wiki]: https://wiki.xiph.org/OpusContributing
[docs]: {{ "/docs" | prepend: site.baseurl }}
......
......@@ -64,17 +64,17 @@ completely support the playback of .opus (OggOpus) files.
<ul class="download-list">
<li>opusenc <span>(.wav to .opus)</span>
<ul>
<li><a class="i-html" href="https://mf4.xiph.org/jenkins/view/opus/job/opus-tools/ws/man/opusenc.html">HTML</a></li>
<li><a class="i-html" href="/docs/opus-tools/opusenc.html">HTML</a></li>
</ul>
</li>
<li>opusdec <span>(.opus to .wav)</span>
<ul>
<li><a class="i-html" href="https://mf4.xiph.org/jenkins/view/opus/job/opus-tools/ws/man/opusdec.html">HTML</a></li>
<li><a class="i-html" href="/docs/opus-tools/opusdec.html">HTML</a></li>
</ul>
</li>
<li>opusinfo <span>(.opus file info)</span>
<ul>
<li><a class="i-html" href="https://mf4.xiph.org/jenkins/view/opus/job/opus-tools/ws/man/opusinfo.html">HTML</a></li>
<li><a class="i-html" href="/docs/opus-tools/opusinfo.html">HTML</a></li>
</ul>
</li>
</ul>
......
/*
* Standard style sheet for mandoc(1) -Thtml and man.cgi(8).
*
* Written by Ingo Schwarze <schwarze@openbsd.org>.
* I place this file into the public domain.
* Permission to use, copy, modify, and distribute it for any purpose
* with or without fee is hereby granted, without any conditions.
*/
/* Global defaults. */
html { max-width: 65em;
--bg: #FFFFFF;
--fg: #000000; }
body { background: var(--bg);
color: var(--fg);
font-family: Helvetica,Arial,sans-serif; }
h1 { font-size: 110%; }
table { margin-top: 0em;
margin-bottom: 0em;
border-collapse: collapse; }
/* Some browsers set border-color in a browser style for tbody,
* but not for table, resulting in inconsistent border styling. */
tbody { border-color: inherit; }
tr { border-color: inherit; }
td { vertical-align: top;
padding-left: 0.2em;
padding-right: 0.2em;
border-color: inherit; }
ul, ol, dl { margin-top: 0em;
margin-bottom: 0em; }
li, dt { margin-top: 1em; }
.permalink { border-bottom: thin dotted;
color: inherit;
font: inherit;
text-decoration: inherit; }
* { clear: both }
/* Search form and search results. */
fieldset { border: thin solid silver;
border-radius: 1em;
text-align: center; }
input[name=expr] {
width: 25%; }
table.results { margin-top: 1em;
margin-left: 2em;
font-size: smaller; }
/* Header and footer lines. */
table.head { width: 100%;
border-bottom: 1px dotted #808080;
margin-bottom: 1em;
font-size: smaller; }
td.head-vol { text-align: center; }
td.head-rtitle {
text-align: right; }
table.foot { width: 100%;
border-top: 1px dotted #808080;
margin-top: 1em;
font-size: smaller; }
td.foot-os { text-align: right; }
/* Sections and paragraphs. */
.manual-text {
margin-left: 3.8em; }
.Nd { }
section.Sh { }
h1.Sh { margin-top: 1.2em;
margin-bottom: 0.6em;
margin-left: -3.2em; }
section.Ss { }
h2.Ss { margin-top: 1.2em;
margin-bottom: 0.6em;
margin-left: -1.2em;
font-size: 105%; }
.Pp { margin: 0.6em 0em; }
.Sx { }
.Xr { }
/* Displays and lists. */
.Bd { }
.Bd-indent { margin-left: 3.8em; }
.Bl-bullet { list-style-type: disc;
padding-left: 1em; }
.Bl-bullet > li { }
.Bl-dash { list-style-type: none;
padding-left: 0em; }
.Bl-dash > li:before {
content: "\2014 "; }
.Bl-item { list-style-type: none;
padding-left: 0em; }
.Bl-item > li { }
.Bl-compact > li {
margin-top: 0em; }
.Bl-enum { padding-left: 2em; }
.Bl-enum > li { }
.Bl-compact > li {
margin-top: 0em; }
.Bl-diag { }
.Bl-diag > dt {
font-style: normal;
font-weight: bold; }
.Bl-diag > dd {
margin-left: 0em; }
.Bl-hang { }
.Bl-hang > dt { }
.Bl-hang > dd {
margin-left: 5.5em; }
.Bl-inset { }
.Bl-inset > dt { }
.Bl-inset > dd {
margin-left: 0em; }
.Bl-ohang { }
.Bl-ohang > dt { }
.Bl-ohang > dd {
margin-left: 0em; }
.Bl-tag { margin-top: 0.6em;
margin-left: 5.5em; }
.Bl-tag > dt {
float: left;
margin-top: 0em;
margin-left: -5.5em;
padding-right: 0.5em;
vertical-align: top; }
.Bl-tag > dd {
clear: right;
width: 100%;
margin-top: 0em;
margin-left: 0em;
margin-bottom: 0.6em;
vertical-align: top;
overflow: auto; }
.Bl-compact { margin-top: 0em; }
.Bl-compact > dd {
margin-bottom: 0em; }
.Bl-compact > dt {
margin-top: 0em; }
.Bl-column { }
.Bl-column > tbody > tr { }
.Bl-column > tbody > tr > td {
margin-top: 1em; }
.Bl-compact > tbody > tr > td {
margin-top: 0em; }
.Rs { font-style: normal;
font-weight: normal; }
.RsA { }
.RsB { font-style: italic;
font-weight: normal; }
.RsC { }
.RsD { }
.RsI { font-style: italic;
font-weight: normal; }
.RsJ { font-style: italic;
font-weight: normal; }
.RsN { }
.RsO { }
.RsP { }
.RsQ { }
.RsR { }
.RsT { text-decoration: underline; }
.RsU { }
.RsV { }
.eqn { }
.tbl td { vertical-align: middle; }
.HP { margin-left: 3.8em;
text-indent: -3.8em; }
/* Semantic markup for command line utilities. */
table.Nm { }
code.Nm { font-style: normal;
font-weight: bold;
font-family: inherit; }
.Fl { font-style: normal;
font-weight: bold;
font-family: inherit; }
.Cm { font-style: normal;
font-weight: bold;
font-family: inherit; }
.Ar { font-style: italic;
font-weight: normal; }
.Op { display: inline; }
.Ic { font-style: normal;
font-weight: bold;
font-family: inherit; }
.Ev { font-style: normal;
font-weight: normal;
font-family: monospace; }
.Pa { font-style: italic;
font-weight: normal; }
/* Semantic markup for function libraries. */
.Lb { }
code.In { font-style: normal;
font-weight: bold;
font-family: inherit; }
a.In { }
.Fd { font-style: normal;
font-weight: bold;
font-family: inherit; }
.Ft { font-style: italic;
font-weight: normal; }
.Fn { font-style: normal;
font-weight: bold;
font-family: inherit; }
.Fa { font-style: italic;
font-weight: normal; }
.Vt { font-style: italic;
font-weight: normal; }
.Va { font-style: italic;
font-weight: normal; }
.Dv { font-style: normal;
font-weight: normal;
font-family: monospace; }
.Er { font-style: normal;
font-weight: normal;
font-family: monospace; }
/* Various semantic markup. */
.An { }
.Lk { }
.Mt { }
.Cd { font-style: normal;
font-weight: bold;
font-family: inherit; }
.Ad { font-style: italic;
font-weight: normal; }
.Ms { font-style: normal;
font-weight: bold; }
.St { }
.Ux { }
/* Physical markup. */
.Bf { display: inline; }
.No { font-style: normal;
font-weight: normal; }
.Em { font-style: italic;
font-weight: normal; }
.Sy { font-style: normal;
font-weight: bold; }
.Li { font-style: normal;
font-weight: normal;
font-family: monospace; }
/* Overrides to avoid excessive margins on small devices. */
@media (max-width: 37.5em) {
.manual-text {
margin-left: 0.5em; }
h1.Sh, h2.Ss { margin-left: 0em; }
.Bd-indent { margin-left: 2em; }
.Bl-hang > dd {
margin-left: 2em; }
.Bl-tag { margin-left: 2em; }
.Bl-tag > dt {
margin-left: -2em; }
.HP { margin-left: 2em;
text-indent: -2em; }
}
/* Overrides for a dark color scheme for accessibility. */
@media (prefers-color-scheme: dark) {
html { --bg: #1E1F21;
--fg: #EEEFF1; }
:link { color: #BAD7FF; }
:visited { color: #F6BAFF; }
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<link rel="stylesheet" href="mandoc.css" type="text/css" media="all"/>
<title>opusdec(1)</title>
</head>
<body>
<table class="head">
<tr>
<td class="head-ltitle">opusdec(1)</td>
<td class="head-vol">opus-tools</td>
<td class="head-rtitle">opusdec(1)</td>
</tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
opusdec &#x2013; decode audio in Opus format to Wave or raw PCM
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<b>opusdec</b> [ <i>options</i> ] <i>input</i> [ <i>output</i> ]
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<b>opusdec</b> decodes Opus URLs or files to uncompressed Wave or raw PCM.
<p class="Pp"><i>input</i> may be a URL, file, or &quot;<b>-</b>&quot; to read
from stdin. In URLs, the <b>file</b>, <b>http</b>, and <b>https</b> schemes
are supported unless HTTP support was disabled at build time.</p>
<p class="Pp"><i>output</i> is an output file or &quot;<b>-</b>&quot; to write
to stdout. The output will be in Wave format if the output filename ends in
<b>.wav</b> or the <b>--force-wav</b> option is used; otherwise raw PCM
samples will be written.</p>
<p class="Pp">If <i>output</i> is not specified, <b>opusdec</b> will attempt to
play the audio in realtime if it supports audio playback on your system.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="OPTIONS"><a class="permalink" href="#OPTIONS">OPTIONS</a></h1>
<dl class="Bl-tag">
<dt><b>-h</b>, <b>--help</b></dt>
<dd>Show command help.</dd>
<dt><b>-V</b>, <b>--version</b></dt>
<dd>Show version information.</dd>
<dt><b>--quiet</b></dt>
<dd>Suppresses program output.</dd>
<dt><b>--rate</b><i> N</i></dt>
<dd>Force decoding at sampling rate <i>N</i> Hz.</dd>
<dt><b>--force-stereo</b></dt>
<dd>Force decoding to stereo.</dd>
<dt><b>--gain</b><i> N</i></dt>
<dd>
<br/>
Adjust the output volume <i>N</i> dB. Negative values make the signal
quieter.</dd>
<dt><b>--no-dither</b></dt>
<dd>Do not dither 16-bit output.</dd>
<dt><b>--float</b></dt>
<dd>Output 32-bit floating-point samples instead of 16-bit integer
samples.</dd>
<dt><b>--force-wav</b></dt>
<dd>Force Wave output format, regardless of the output filename
extension.</dd>
<dt><b>--packet-loss</b><i> N</i></dt>
<dd>Simulate <i>N</i>% random Opus packet loss.</dd>
<dt><b>--save-range</b><i> FILENAME</i></dt>
<dd>Save check values for every frame to a file.</dd>
</dl>
</section>
<section class="Sh">
<h1 class="Sh" id="EXAMPLES"><a class="permalink" href="#EXAMPLES">EXAMPLES</a></h1>
Decode a file <b>input.opus</b> to <b>output.wav</b>:
<div class="Bd-indent">opusdec input.opus output.wav</div>
<p class="Pp">Play a file <b>input.opus</b>:</p>
<div class="Bd-indent">opusdec input.opus</div>
<p class="Pp">Re-encode a high bitrate Opus file to a lower rate:</p>
<div class="Bd-indent">opusdec --force-wav input.opus - | opusenc --bitrate 64 -
output.opus</div>
<p class="Pp">Play the http stream
<b>http://icecast.somwhere.org:8000/stream.opus</b> on a system with
pulseaudio: <i>(press ctrl-c to quit)</i></p>
<div class="Bd-indent">padsp opusdec
http://icecast.somwhere.org:8000/stream.opus</div>
</section>
<section class="Sh">
<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
Jean-Marc Valin &lt;jmvalin@jmvalin.ca&gt;
<p class="Pp">Gregory Maxwell &lt;greg@xiph.org&gt;</p>
</section>
<section class="Sh">
<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1>
Opusdec does not currently reject all invalid files which it should reject. It
also doesn't provide very helpful output for the corrupted files it does
reject. Use <a href="opusinfo.html"><b>opusinfo</b>(1)</a>
for somewhat better diagnostics.
</section>
<section class="Sh">
<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
ALSO</a></h1>
<a href="opusenc.html"><b>opusenc</b>(1)</a>,
<a href="opusinfo.html"><b>opusinfo</b>(1)</a>
</section>
</div>
<table class="foot">
<tr>
<td class="foot-date">2019-09-07</td>
<td class="foot-os">Xiph.Org Foundation</td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<link rel="stylesheet" href="mandoc.css" type="text/css" media="all"/>
<title>opusenc(1)</title>
</head>
<body>
<table class="head">
<tr>
<td class="head-ltitle">opusenc(1)</td>
<td class="head-vol">opus-tools</td>
<td class="head-rtitle">opusenc(1)</td>
</tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
opusenc &#x2013; encode audio into the Opus format
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<b>opusenc</b> [ <i>options</i> ] <i>input_file</i> <i>output.opus</i>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<b>opusenc</b> reads audio data in Wave, AIFF, FLAC, Ogg/FLAC, or raw PCM format
and encodes it into an Ogg Opus stream. If the input file is
&quot;<b>-</b>&quot; audio data is read from stdin. Likewise, if the output
file is &quot;<b>-</b>&quot; the Ogg Opus stream is written to stdout.
<p class="Pp">Unless quieted <b>opusenc</b> displays statistics about the
encoding progress.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="OPTIONS"><a class="permalink" href="#OPTIONS">OPTIONS</a></h1>
<section class="Ss">
<h2 class="Ss" id="General_options"><a class="permalink" href="#General_options">General
options</a></h2>
<dl class="Bl-tag">
<dt><b>-h</b>, <b>--help</b></dt>
<dd>Show command help.</dd>
<dt><b>-V</b>, <b>--version</b></dt>
<dd>Show version information.</dd>
<dt><b>--help-picture</b></dt>
<dd>Show help on attaching album art.</dd>
<dt><b>--quiet</b></dt>
<dd>Enable quiet mode. No messages are displayed.</dd>
</dl>
</section>
<section class="Ss">
<h2 class="Ss" id="Encoding_options"><a class="permalink" href="#Encoding_options">Encoding
options</a></h2>
<dl class="Bl-tag">
<dt><b>--bitrate</b><i> N</i></dt>
<dd>Set target bitrate in kbit/s (6&#x2013;256 per channel).</dd>
</dl>
<dl class="Bl-tag">
<dt></dt>
<dd>In VBR mode this specifies the average rate for a large and diverse
collection of audio. In CVBR and Hard-CBR mode it specifies the specific
output bitrate.</dd>
<dt></dt>
<dd>The default for input with a sample rate of 44.1 kHz or higher is 64
kbit/s per mono stream and 96 kbit/s per coupled pair.</dd>
</dl>
<dl class="Bl-tag">
<dt><b>--vbr</b></dt>
<dd>Use variable bitrate encoding (default). In VBR mode the bitrate may go up
and down freely depending on the content to achieve more consistent
quality.</dd>
<dt><b>--cvbr</b></dt>
<dd>Use constrained variable bitrate encoding. Outputs a specific bitrate.
This mode is analogous to CBR in AAC and MP3 encoders and managed mode in
Vorbis coders. This delivers less consistent quality than VBR mode but
consistent bitrate.</dd>
<dt><b>--hard-cbr</b></dt>
<dd>Use hard constant bitrate encoding. With hard-cbr every frame will be
exactly the same size, similar to how speech codecs work. This delivers
lower overall quality but is useful where bitrate changes might leak data
in encrypted channels or on synchronous transports.</dd>
<dt><b>--music</b></dt>
<dd>Override automatic detection and tune low bitrate encoding for music. By
default, music is detected automatically and the classification may vary
over time.</dd>
</dl>
<dl class="Bl-tag">
<dt></dt>
<dd>Tuning impacts lower bitrates that involve tradeoffs between speech
clarity and musical accuracy, and has no impact at bitrates typically used
for high quality music encoding.</dd>
</dl>
<dl class="Bl-tag">
<dt><b>--speech</b></dt>
<dd>Override automatic detection and tune low bitrate encoding for speech. By
default, speech is detected automatically and the classification may vary
over time.</dd>
</dl>
<dl class="Bl-tag">
<dt></dt>
<dd>Tuning impacts lower bitrates that involve tradeoffs between speech
clarity and musical accuracy, and has no impact at bitrates typically used
for high quality music encoding.</dd>
</dl>
<dl class="Bl-tag">
<dt><b>--comp</b><i> N</i></dt>
<dd>Set encoding computational complexity (0&#x2013;10, default: 10). Zero
gives the fastest encodes but lower quality, while 10 gives the highest
quality but slower encoding.</dd>
<dt><b>--framesize</b><i> N</i></dt>
<dd>Set maximum frame size in milliseconds (2.5, 5, 10, 20, 40, 60, default:
20). Smaller framesizes achieve lower latency but less quality at a given
bitrate. Sizes greater than 20&#x00A0;ms are only interesting at fairly
low bitrates.</dd>
<dt><b>--expect-loss</b><i> N</i></dt>
<dd>Set expected packet loss in percent (default: 0).</dd>
<dt><b>--downmix-mono</b></dt>
<dd>Downmix to mono.</dd>
<dt><b>--downmix-stereo</b></dt>
<dd>Downmix multichannel speaker configurations to stereo.</dd>
<dt><b>--no-phase-inv</b></dt>
<dd>Disable use of phase inversion for intensity stereo. This trades some
stereo quality for a higher quality mono downmix, and is useful when
encoding stereo audio that is likely to be downmixed to mono after
decoding.</dd>
<dt><b>--max-delay</b><i> N</i></dt>
<dd>Set maximum container delay in milliseconds (0&#x2013;1000, default:
1000).</dd>
</dl>
</section>
<section class="Ss">
<h2 class="Ss" id="Metadata_options"><a class="permalink" href="#Metadata_options">Metadata
options</a></h2>
<dl class="Bl-tag">
<dt><b>--title</b><i> TITLE</i></dt>
<dd>Set the track title comment field to <i>TITLE</i>.</dd>
<dt><b>--artist</b><i> ARTIST</i></dt>
<dd>Set the artist comment field to <i>ARTIST</i>. This may be used multiple
times to list contributing artists individually. Note that some playback
software does not display multiple artists gracefully.</dd>
<dt><b>--album</b><i> ALBUM</i></dt>
<dd>Set the album or collection title field to <i>ALBUM</i>.</dd>
<dt><b>--genre</b><i> GENRE</i></dt>
<dd>Set the genre comment field to <i>GENRE</i>. This option may be used
multiple times to tag a track with multiple overlapping genres.</dd>
<dt><b>--date</b><i> YYYY-MM-DD</i></dt>
<dd>Set the date comment field to <i>YYYY-MM-DD</i>. This may be shortened to
<i>YYYY-MM</i> or <i>YYYY</i>.</dd>
<dt><b>--tracknumber</b><i> N</i></dt>
<dd>Set the track number comment field to <i>N</i>.</dd>
<dt><b>--comment</b><i> TAG</i><b>=</b><i>VALUE</i></dt>
<dd>Add an extra comment. This may be used multiple times. The argument should
be in the form <i>TAG</i>=<i>VALUE</i>. See the vorbis-comment
specification &lt;<a href="https://www.xiph.org/vorbis/doc/v-comment.html">https://www.xiph.org/vorbis/doc/v-comment.html</a>&gt; for
well known tag names.</dd>
<dt><b>--picture</b> <i>FILENAME</i> | <i>SPECIFICATION</i></dt>
<dd>Attach album art for the track. JPEG and PNG image formats are accepted.
Either a <i>FILENAME</i> for the artwork or a more complete
<i>SPECIFICATION</i> form can be used. The picture is added to a
<b>METADATA_BLOCK_PICTURE</b> comment field similar to what is used in
FLAC.</dd>
</dl>
<dl class="Bl-tag">
<dt></dt>
<dd>The <i>SPECIFICATION</i> is a string whose parts are separated by <b>|</b>
(pipe) characters. Except for the filename all parts are optional. A plain
<i>FILENAME</i> is equivalent to a <b>||||</b><i>FILENAME</i>
specification.</dd>
<dt></dt>
<dd>The format of <i>SPECIFICATION</i> is:
[<i>TYPE</i>]<b>|</b>[<i>MEDIATYPE</i>]<b>|</b>[<i>DESCRIPTION</i>]<b>|</b>[<i>DIMENSIONS</i>]<b>|</b><i>FILENAME</i></dd>
<dt></dt>
<dd><i>TYPE</i> is a number denoting the nature of the picture (default
3):</dd>
</dl>
<div class="Bd-indent">
<div class="Bd-indent">
<dl class="Bl-tag">
<dt><b>0</b></dt>
<dd>Other</dd>
<dt><b>1</b></dt>
<dd>32x32 pixel 'file icon' (PNG only)</dd>
<dt><b>2</b></dt>
<dd>Other file icon</dd>
<dt><b>3</b></dt>
<dd>Cover (front)</dd>
<dt><b>4</b></dt>