Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Xiph.Org
Vorbis
Commits
cebf8a2c
Commit
cebf8a2c
authored
Oct 14, 2002
by
Ralph Giles
Browse files
fix crossreferences.
svn path=/trunk/vorbis/; revision=4003
parent
52e9ef19
Changes
3
Hide whitespace changes
Inline
Side-by-side
doc/xml/01-introduction.xml
View file @
cebf8a2c
<section
id=
"vorbis-spec-intro"
>
<sectioninfo>
<releaseinfo>
$Id: 01-introduction.xml,v 1.
2
2002/10/1
3 15:18:46
giles Exp $
$Id: 01-introduction.xml,v 1.
3
2002/10/1
4 23:47:54
giles Exp $
<emphasis>
Last update to this document: July 18, 2002
</emphasis>
</releaseinfo>
</sectioninfo>
...
...
@@ -12,11 +12,10 @@
<para>
This document provides a high level description of the Vorbis codec's
construction. A bit-by-bit specification appears beginning in the
<ulink
url=
"vorbis-spec-ref.html"
>
packet specification and reference
</ulink>
document. The other reference documents assumes a high-level
understanding of the Vorbis decode process, which is provided in this
document.
</para>
construction. A bit-by-bit specification appears beginning in
<xref
linkend=
"vorbis-spec-codec"
/>
. The other reference documents assumes
a high-level understanding of the Vorbis decode process, which is
provided in this document.
</para>
<section>
<title>
Application
</title>
...
...
@@ -469,10 +468,11 @@ decode.</para>
<para>
A description of valid window functions for use with an inverse MDCT
can be found in the paper
<ulink
url=
"http://www.iocon.com/resource/docs/ps/eusipco_corrected.ps"
>
_The
use of multirate filter banks for coding of high quality digital
audio_
</ulink>
, by T. Sporer, K. Brandenburg and B. Edler. Vorbis windows
can be found in the paper
<citetitle
pubwork=
"article"
>
<ulink
url=
"http://www.iocon.com/resource/docs/ps/eusipco_corrected.ps"
>
The use of multirate filter banks for coding of high quality digital
audio
</ulink></citetitle>
, by T. Sporer, K. Brandenburg and B. Edler. Vorbis windows
all use the slope function
<inlineequation>
<alt>
y=sin(2PI*sin^2(x/n))
</alt>
...
...
@@ -590,10 +590,11 @@ representation.</para>
<para>
The audio spectrum is converted back into time domain PCM audio via an
inverse Modified Discrete Cosine Transform (MDCT). A detailed
description of the MDCT is available in the paper
<ulink
url=
"http://www.iocon.com/resource/docs/ps/eusipco_corrected.ps"
>
_The
use of multirate filter banks for coding of high quality digital
audio_
</ulink>
, by T. Sporer, K. Brandenburg and B. Edler.
</para>
description of the MDCT is available in the paper
<citetitle
pubwork=
"article"
><ulink
url=
"http://www.iocon.com/resource/docs/ps/eusipco_corrected.ps"
>
The use of multirate filter banks for coding of high quality digital
audio
</ulink></citetitle>
, by T. Sporer, K. Brandenburg and B. Edler.
</para>
<para>
Note that the PCM produced directly from the MDCT is not yet finished
...
...
doc/xml/03-codebook.xml
View file @
cebf8a2c
<section
id=
"vorbis-spec-codebook"
>
<sectioninfo>
<releaseinfo>
$Id: 03-codebook.xml,v 1.
1
2002/10/1
2
2
0:37:11
giles Exp $
$Id: 03-codebook.xml,v 1.
2
2002/10/1
4
2
3:47:54
giles Exp $
<emphasis>
Last update to this document: August 8, 2002
</emphasis>
</releaseinfo>
</sectioninfo>
...
...
@@ -23,12 +23,10 @@ decoded output corresponding to a given compressed codeword.</para>
<section><title>
bitwise operation
</title>
<para>
The codebook mechanism is built on top of the
<ulink
url=
"vorbis-spec-bitpack.html"
>
Vorbis bitpacker
</ulink>
; both the
codebooks themselves and the codewords they decode are unrolled from a
packet as a series of arbitrary-width values read from the stream
according to the
<ulink
url=
"vorbis-spec-bitpack.html"
>
Vorbis bitpacking
convention
</ulink>
.
</para>
The codebook mechanism is built on top of the vorbis bitpacker. Both
the codebooks themselves and the codewords they decode are unrolled
from a packet as a series of arbitrary-width values read from the
stream according to
<xref
linkend=
"vorbis-spec-bitpacking"
/>
.
</para>
</section>
</section>
...
...
@@ -39,9 +37,8 @@ convention</ulink>.</para>
<para>
For purposes of the below examples, we assume that the storage
system's native byte width is eight bits. This is not universally
true; see
<ulink
url=
"vorbis-spec-bitpack.html"
>
the Vorbis bitpacking
convention
</ulink>
document for discussion relating to non-eight-bit
bytes.
</para>
true; see
<xref
linkend=
"vorbis-spec-bitpacking"
/>
for discussion
relating to non-eight-bit bytes.
</para>
<section><title>
codebook decode
</title>
...
...
@@ -137,8 +134,7 @@ byte 8: [ X 1 ] [sparse] flag (1 bit)
<screen>
1) [current_entry] = 0;
2) [current_length] = read a five bit unsigned integer and add 1;
3) [number] = read
<ulink
url=
"helper.html#ilog"
>
ilog
</ulink>
([codebook_entries] -
3) [number] = read
<link
linkend=
"vorbis-spec-ilog"
>
ilog
</link>
([codebook_entries] -
[current_entry])
bits as an unsigned integer
4) set the entries [current_entry] through [current_entry]+[number]-1, inclusive,
...
...
@@ -189,19 +185,14 @@ vector explicitly, rather than building vectors from a smaller list of
possible scalar values. Lookup decode proceeds as follows:
<screen>
1) [codebook_minimum_value] =
<ulink
url=
"helper.html#float32_unpack"
>
float32_unpack
</ulink>
( read 32
bits as an unsigned integer)
2) [codebook_delta_value] =
<ulink
url=
"helper.html#float32_unpack"
>
float32_unpack
</ulink>
( read 32 bits as
an unsigned integer)
1) [codebook_minimum_value] =
<link
linkend=
"vorbis-spec-float32_unpack"
>
float32_unpack
</link>
( read 32 bits as an unsigned integer)
2) [codebook_delta_value] =
<link
linkend=
"vorbis-spec-float32_unpack"
>
float32_unpack
</link>
( read 32 bits as an unsigned integer)
3) [codebook_value_bits] = read 4 bits as an unsigned integer and add 1
4) [codebook_sequence_p] = read 1 bit as a boolean flag
if ( [codebook_lookup_type] is 1 ) {
5) [codebook_lookup_values] =
<ulink
url=
"helper.html#lookup1_values"
>
lookup1_values
</ulink>
(
<varname>
[codebook_entries]
</varname>
,
<varname>
[codebook_dimensions]
</varname>
)
5) [codebook_lookup_values] =
<link
linkend=
"vorbis-spec-lookup1_values"
>
lookup1_values
</link>
(
<varname>
[codebook_entries]
</varname>
,
<varname>
[codebook_dimensions]
</varname>
)
} else {
...
...
@@ -340,7 +331,7 @@ the [codebook_multiplicands] array
</para>
<para>
Decoding
[
unpacking
]
a specific vector in the vector lookup table
Decoding
(
unpacking
)
a specific vector in the vector lookup table
proceeds according to
<varname>
[codebook_lookup_type]
</varname>
. The unpacked
vector values are what a codebook would return during audio packet
decode in a VQ context.
</para>
...
...
doc/xml/04-codec.xml
View file @
cebf8a2c
<section
id=
"vorbis-spec-codec"
>
<sectioninfo>
<releaseinfo>
$Id: 04-codec.xml,v 1.
1
2002/10/1
2
2
0:37:11
giles Exp $
$Id: 04-codec.xml,v 1.
2
2002/10/1
4
2
3:47:54
giles Exp $
<emphasis>
Last update to this document: September 20, 2002
</emphasis>
</releaseinfo>
</sectioninfo>
...
...
@@ -619,10 +619,10 @@ representation.</para>
Convert the audio spectrum vector of each channel back into time
domain PCM audio via an inverse Modified Discrete Cosine Transform
(MDCT). A detailed description of the MDCT is available in the paper
<ulink
url=
"http://www.iocon.com/resource/docs/ps/eusipco_corrected.ps"
>
_
The
<citetitle
pubwork=
"article"
>
<ulink
url=
"http://www.iocon.com/resource/docs/ps/eusipco_corrected.ps"
>
The
use of multirate filter banks for coding of high quality digital
audio
_
</ulink>
, by T. Sporer, K. Brandenburg and B. Edler. The window
audio
</ulink>
</citetitle>
, by T. Sporer, K. Brandenburg and B. Edler. The window
function used for the MDCT is the window determined earlier.
</para>
</section>
...
...
@@ -704,7 +704,7 @@ center, front right, rear left, rear right, LFE</simpara>
<para>
Applications using Vorbis for dedicated purposes may define channel
mapping as seen fit. Future channel mappings (such as three and four
channel
<ulink
url=
"http://www.ambisonic.net"
>
Ambisonics
</ulink>
) will
channel
<ulink
url=
"http://www.ambisonic.net
/
"
>
Ambisonics
</ulink>
) will
make use of channel mappings other than mapping 0.
</para>
</section>
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment