-<HTML><HEAD><TITLE>xiph.org: OggSquish Vorbis documentation</TITLE>
+<HTML><HEAD><TITLE>xiph.org: Ogg Vorbis documentation</TITLE>
<BODY bgcolor="#ffffff" text="#202020" link="#006666" vlink="#000000">
-<nobr><a href="vorbis.html"><img src="white-ogg.gif" border=0><img
-src="vorbisword2.gif" border=0></a></nobr><p>
+<nobr><a href="vorbis.html"><img src="white-ogg.png" border=0><img
+src="vorbisword2.png" border=0></a></nobr><p>
<h1><font color=#000070>
-OggSquish logical bitstream framing
+Ogg logical bitstream framing
</font></h1>
<em>Last update to this document: July 15, 1999</em><br>
-<h2>OggSquish bitstreams</h2>
+<h2>Ogg bitstreams</h2>
Vorbis encodes short-time blocks of PCM data into raw packets of
bit-packed data. These raw packets may be used directly by transport
mechanisms that provide their own framing and packet-seperation
mechanisms (such as UDP datagrams). For stream based storage (such as
files) and transport (such as TCP streams or pipes), Vorbis uses the
-OggSquish bitstream format to provide framing/sync, sync recapture
+Ogg bitstream format to provide framing/sync, sync recapture
after error, landmarks during seeking, and enough information to
properly seperate data back into packets at the original packet
boundaries without relying on decoding to find packet boundaries.<p>
-<h2>Design constraints for OggSquish bitstreams</h2>
+<h2>Design constraints for Ogg bitstreams</h2>
<ol><li>True streaming; we must not need to seek to build a 100%
complete bitstream.
<h2>Logical and Physical Bitstreams</h2>
-A <em>logical</em> OggSquish bitstream is a contiguous stream of
+A <em>logical</em> Ogg bitstream is a contiguous stream of
sequential pages belonging only to the logical bitstream. A
-<em>physical</em> OggSquish bitstream is constructed from one or more
-than one logical OggSquish bitstream (the simplest physical bitstream
+<em>physical</em> Ogg bitstream is constructed from one or more
+than one logical Ogg bitstream (the simplest physical bitstream
is simply a single logical bitstream). We describe below the exact
-formatting of an OggSquish logical bitstream. Combining logical
+formatting of an Ogg logical bitstream. Combining logical
bitstreams into more complex physical bitstreams is described in the
-<a href="oggstream.html">OggSquish bitstream overview</a>. The exact
+<a href="oggstream.html">Ogg bitstream overview</a>. The exact
mapping of raw Vorbis packets into a valid Ogg Vorbis physical
bitstream is described in <a href="vorbis-stream.html">Vorbis
bitstream mapping</a>.
<h2>Bitstream structure</h2>
-An OggSquish stream is structured by dividing incoming packets into
+An Ogg stream is structured by dividing incoming packets into
segments of up to 255 bytes and then wrapping a group of contiguous
packet segments into a variable length page preceeded by a page
header. Both the header size and page size are variable; the page
Packets are not resticted to beginning and ending within a page,
although individual segments are, by definition, required to do so.
Packets are not restricted to a maximum size, although excessively
-large packets in the data stream are discouraged; the OggSquish
+large packets in the data stream are discouraged; the Ogg
bitstream specification strongly recommends nominal page size of
approximately 4-8kB (large packets are forseen as being useful for
initialization data at the beginning of a logical bitstream).<p>
<h4>PCM absolute position</h4>
- (This is packed in the same way the rest of OggSquish data is packed;
+ (This is packed in the same way the rest of Ogg data is packed;
LSb of LSB first. Note that the 'position' data specifies a 'sample'
number (eg, in a CD quality sample is four octets, 16 bits for left
and 16 bits for right; in video it would be the frame number). The
<h4>stream serial number</h4>
- OggSquish allows for seperate logical bitstreams to be mixed at page
+ Ogg allows for seperate logical bitstreams to be mixed at page
granularity in a physical bitstream. The most common case would be
sequential arrangement, but it is possible to interleave pages for
two seperate bitstreams to be decoded concurrently. The serial
<hr>
<a href="http://www.xiph.org/">
-<img src="white-xifish.gif" align=left border=0>
+<img src="white-xifish.png" align=left border=0>
</a>
<font size=-2 color=#505050>
-OggSquish is a <a href="http://www.xiph.org">Xiphophorus</a> effort to
+Ogg is a <a href="http://www.xiph.org">Xiphophorus</a> effort to
protect essential tenets of Internet multimedia from corporate
hostage-taking; Open Source is the net's greatest tool to keep
everyone honest. See <a href="http://www.xiph.org/about.html">About
Xiphophorus</a> for details.
<p>
-Ogg Vorbis is the first OggSquish audio CODEC. Anyone may
-freely use and distribute the OggSquish and Vorbis specification,
+Ogg Vorbis is the first Ogg audio CODEC. Anyone may
+freely use and distribute the Ogg and Vorbis specification,
whether in a private, public or corporate capacity. However,
Xiphophorus and the Ogg project (xiph.org) reserve the right to set
the Ogg/Vorbis specification and certify specification compliance.<p>
-Xiphophorus's Vorbis software CODEC implementation (libvorbis and the
-vorbis encode/decode/playback utility) are distributed under the GNU
-Public License. This does not restrict third parties from
-distributing independent implementations of Vorbis software under
-other licenses.<p>
+Xiphophorus's Vorbis software CODEC implementation is distributed
+under the Lessr/Library GNU Public License. This does not restrict
+third parties from distributing independent implementations of Vorbis
+software under other licenses.<p>
OggSquish, Vorbis, Xiphophorus and their logos are trademarks (tm) of
<a href="http://www.xiph.org/">Xiphophorus</a>. These pages are
-copyright (C) 1994-1999 Xiphophorus. All rights reserved.<p>
+copyright (C) 1994-2000 Xiphophorus. All rights reserved.<p>
</body>
-<HTML><HEAD><TITLE>xiph.org: OggSquish Vorbis documentation</TITLE>
+<HTML><HEAD><TITLE>xiph.org: Ogg Vorbis documentation</TITLE>
<BODY bgcolor="#ffffff" text="#202020" link="#006666" vlink="#000000">
-<nobr><a href="vorbis.html"><img src="white-ogg.gif" border=0><img
-src="vorbisword2.gif" border=0></a></nobr><p>
+<nobr><a href="vorbis.html"><img src="white-ogg.png" border=0><img
+src="vorbisword2.png" border=0></a></nobr><p>
<h1><font color=#000070>
-OggSquish logical and physical bitstream overview
+Ogg logical and physical bitstream overview
</font></h1>
<em>Last update to this document: July 18, 1999</em><br>
-<h2>OggSquish bitstreams</h2>
+<h2>Ogg bitstreams</h2>
-OggSquish codecs use octet vectors of raw, compressed data
+Ogg codecs use octet vectors of raw, compressed data
(<em>packets</em>). These compressed packets do not have any
high-level structure or boundary information; strung together, they
appear to be streams of random bytes with no landmarks.<p>
their own framing and packet-seperation mechanisms (such as UDP
datagrams). For stream based storage (such as files) and transport
(such as TCP streams or pipes), Vorbis and other future Ogg codecs use
-the OggSquish bitstream format to provide framing/sync, sync recapture
+the Ogg bitstream format to provide framing/sync, sync recapture
after error, landmarks during seeking, and enough information to
properly seperate data back into packets at the original packet
boundaries without relying on decoding to find packet boundaries.<p>
the appropriate logical decoding entitiy. The simplest physical
bitstream is a single, unmultiplexed logical bitstream. <p>
-<a href=framing.html>OggSquish Logical Bitstream Framing</a> discusses
-the page format of an OggSquish bitstream, the packet coding process
+<a href=framing.html>Ogg Logical Bitstream Framing</a> discusses
+the page format of an Ogg bitstream, the packet coding process
and logical bitstreams in detail. The remainder of this document
-specifies requirements for constructing finished, physical OggSquish
+specifies requirements for constructing finished, physical Ogg
bitstreams.<p>
<h2>Mapping Restrictions</h2>
Logical bitstreams may not be mapped/multiplexed into physical
bitstreams without restriction. Here we discuss design restrictions
-on OggSquish physical bitstreams in general, mostly to introduce
+on Ogg physical bitstreams in general, mostly to introduce
design rationale. Each 'media' format defines its own (generally more
restrictive) mapping. An '<a href="vorbis-stream.html">Ogg Vorbis
Audio Bitstream</a>', for example, has a <a
requirement given the variable size nature of pages.<p>
In addition to the header flag marking the first and last pages of a
-logical bitstream, the first page of an OggSquish bitstream obeys
+logical bitstream, the first page of an Ogg bitstream obeys
additional restrictions. Each individual media mapping specifies its
own implementation details regarding these restrictions.<p>
-The first page of a logical OggSquish bitstream consists of a single,
+The first page of a logical Ogg bitstream consists of a single,
small 'initial header' packet that includes sufficient information to
identify the exact CODEC type and media requirements of the logical
bitstream. The intent of this restriction is to simplify identifying
the bitstream type and content; for a given media type (or across all
-OggSquish media types) we can know that we only need a small, fixed
+Ogg media types) we can know that we only need a small, fixed
amount of data to uniquely identify the bitstream type.<p>
As an example, Ogg Vorbis places the name and revision of the Vorbis
The initial pages of each logical bitstream must appear first; the
media mapping specifies the order of the initial pages. For example,
-Ogg A/V will eventually specify an OggSquish video bitstream with
+Ogg A/V will eventually specify an Ogg video bitstream with
audio. The mapping may specify that the physical bitstream must begin
with the initial page of a logical video bitstream, followed by the
initial page of an audio stream. Unlike initial pages, terminal pages
for the logical bitstreams need not all occur contiguously (although a
specific media mapping may require this; it is not mandated by the
-generic OggSquish stream spec). Terminal pages may be 'nil' pages,
+generic Ogg stream spec). Terminal pages may be 'nil' pages,
that is, pages containing no content but simply a page header with
position information and the 'last page of bitstream' flag set in the
page header.<p>
Below, we present an example of a grouped and chained bitstream:<p>
-<img src=stream.gif><p>
+<img src=stream.png><p>
In this example, we see pages from five total logical bitstreams
multiplexed into a physical bitstream. Note the following
<hr>
<a href="http://www.xiph.org/">
-<img src="white-xifish.gif" align=left border=0>
+<img src="white-xifish.png" align=left border=0>
</a>
<font size=-2 color=#505050>
-OggSquish is a <a href="http://www.xiph.org">Xiphophorus</a> effort to
+Ogg is a <a href="http://www.xiph.org">Xiphophorus</a> effort to
protect essential tenets of Internet multimedia from corporate
hostage-taking; Open Source is the net's greatest tool to keep
everyone honest. See <a href="http://www.xiph.org/about.html">About
Xiphophorus</a> for details.
<p>
-Ogg Vorbis is the first OggSquish audio CODEC. Anyone may
-freely use and distribute the OggSquish and Vorbis specification,
+Ogg Vorbis is the first Ogg audio CODEC. Anyone may
+freely use and distribute the Ogg and Vorbis specification,
whether in a private, public or corporate capacity. However,
Xiphophorus and the Ogg project (xiph.org) reserve the right to set
the Ogg/Vorbis specification and certify specification compliance.<p>
-Xiphophorus's Vorbis software CODEC implementation (libvorbis and the
-vorbis encode/decode/playback utility) are distributed under the GNU
-Public License. This does not restrict third parties from
-distributing independent implementations of Vorbis software under
-other licenses.<p>
+Xiphophorus's Vorbis software CODEC implementation is distributed
+under the Lesser/Library GNU Public License. This does not restrict
+third parties from distributing independent implementations of Vorbis
+software under other licenses.<p>
OggSquish, Vorbis, Xiphophorus and their logos are trademarks (tm) of
<a href="http://www.xiph.org/">Xiphophorus</a>. These pages are
-copyright (C) 1994-1999 Xiphophorus. All rights reserved.<p>
+copyright (C) 1994-2000 Xiphophorus. All rights reserved.<p>
</body>
-<HTML><HEAD><TITLE>xiph.org: OggSquish Vorbis documentation</TITLE>
+<HTML><HEAD><TITLE>xiph.org: Ogg Vorbis documentation</TITLE>
<BODY bgcolor="#ffffff" text="#202020" link="#006666" vlink="#000000">
-<nobr><img src="white-ogg.gif"><img src="vorbisword2.gif"></nobr><p>
+<nobr><img src="white-ogg.png"><img src="vorbisword2.png"></nobr><p>
<h1><font color=#000070>
Libvorbis is Xiphophorus's portable Ogg Vorbis CODEC implemented as a
programmatic library. Libvorbis provides primitives to handle framing
-and manipulation of OggSquish bitstreams (used by the Vorbis for
+and manipulation of Ogg bitstreams (used by the Vorbis for
streaming), a full analysis (encoding) interface as well as packet
decoding and synthesis for playback. <p>
<h3>Framing</h3>
-An OggSquish bitstream is logically arranged into pages, but to decode
+An Ogg bitstream is logically arranged into pages, but to decode
the pages, we have to find them first. The raw bitstream is first fed
into an <tt>ogg_sync_state</tt> buffer using <tt>ogg_sync_buffer()</tt>
and <tt>ogg_sync_wrote()</tt>. After each block we submit to the sync
<h3>Reassembling data segments</h3>
-<h2>OggSquish Bitstream Manipulation Structures</h3>
+<h2>Ogg Bitstream Manipulation Structures</h3>
-Two of the OggSquish bitstream data structures are intended to be
+Two of the Ogg bitstream data structures are intended to be
transparent to the developer; the fields should be used directly.<p>
<h3>ogg_packet</h3>
not necessarily point into a single contiguous page vector, the page
body must immediately follow the header in the bitstream.<p>
-<h2>OggSquish Bitstream Manipulation Functions</h3>
+<h2>Ogg Bitstream Manipulation Functions</h3>
<h3>
int ogg_page_bos(ogg_page *og);
Returns the serial number of the given Ogg page. The serial number is
used as a handle to distinguish various logical bitstreams in a
-physical OggSquish bitstresm. Every logical bitstream within a
+physical Ogg bitstresm. Every logical bitstream within a
physical bitstream must use a unique (within the scope of the physical
bitstream) serial number, which is stamped on all bitstream pages.<p>
<hr>
<a href="http://www.xiph.org/">
-<img src="white-xifish.gif" align=left border=0>
+<img src="white-xifish.png" align=left border=0>
</a>
<font size=-2 color=#505050>
-OggSquish is a <a href="http://www.xiph.org">Xiphophorus</a> effort to
+Ogg is a <a href="http://www.xiph.org">Xiphophorus</a> effort to
protect essential tenets of Internet multimedia from corporate
hostage-taking; Open Source is the net's greatest tool to keep
everyone honest. See <a href="http://www.xiph.org/about.html">About
Xiphophorus</a> for details.
<p>
-Ogg Vorbis is the first OggSquish audio CODEC. Anyone may
-freely use and distribute the OggSquish and Vorbis specification,
+Ogg Vorbis is the first Ogg audio CODEC. Anyone may
+freely use and distribute the Ogg and Vorbis specification,
whether in a private, public or corporate capacity. However,
Xiphophorus and the Ogg project (xiph.org) reserve the right to set
the Ogg/Vorbis specification and certify specification compliance.<p>
-Xiphophorus's Vorbis software CODEC implementation (libvorbis and the
-vorbis encode/decode/playback utility) are distributed under the GNU
-Public License. This does not restrict third parties from
-distributing independent implementations of Vorbis software under
-other licenses.<p>
+Xiphophorus's Vorbis software CODEC implementation is distributed
+under the Lesser/Library GNU Public License. This does not restrict
+third parties from distributing independent implementations of Vorbis
+software under other licenses.<p>
OggSquish, Vorbis, Xiphophorus and their logos are trademarks (tm) of
<a href="http://www.xiph.org/">Xiphophorus</a>. These pages are
-copyright (C) 1994-1999 Xiphophorus. All rights reserved.<p>
+copyright (C) 1994-2000 Xiphophorus. All rights reserved.<p>
</body>
-<HTML><HEAD><TITLE>xiph.org: OggSquish Vorbis documentation</TITLE>
+<HTML><HEAD><TITLE>xiph.org: Ogg Vorbis documentation</TITLE>
<BODY bgcolor="#ffffff" text="#202020" link="#006666" vlink="#000000">
-<nobr><img src="white-ogg.gif"><img src="vorbisword2.gif"></nobr><p>
+<nobr><img src="white-ogg.png"><img src="vorbisword2.png"></nobr><p>
<h1><font color=#000070>
-OggSquish Vorbis encoding format documentation
+Ogg Vorbis encoding format documentation
</font></h1>
<em>Last update to this document: July 15, 1999</em><br>
<em>Last update to Vorbis documentation: July 21, 1999</em><p>
<table><tr><td>
-<img src=wait.gif>
+<img src=wait.png>
</td><td valign=center>
As of writing, not all the below document
links are live. They will be populated as we complete the
<li><a href="bitpack.html">The Vorbis bitpacker</a><p>
-<li><a href="oggstream.html">OggSquish bitstream overview</a>
-<li><a href="framing.html">OggSquish logical bitstream and framing spec</a>
-<li><a href="vorbis-stream.html">Vorbis packet->OggSquish bitstream
+<li><a href="oggstream.html">Ogg bitstream overview</a>
+<li><a href="framing.html">Ogg logical bitstream and framing spec</a>
+<li><a href="vorbis-stream.html">Vorbis packet->Ogg bitstream
mapping</a><p>
<li><a href="programming.html">Programming with libvorbis</a><p>
places Vorbis in the same class as audio representations including
MPEG-1 audio layer 3, MPEG-4 audio (AAC and TwinVQ), and PAC.<p>
-Vorbis is the first of a planned family of OggSquish multimedia coding
-formats being developed as part of Xiphophorus's OggSquish multimedia
+Vorbis is the first of a planned family of Ogg multimedia coding
+formats being developed as part of Xiphophorus's Ogg multimedia
project. See <a href="http://www.xiph.org/">http://www.xiph.org/</a>
for more information.
<ul>
-<li><a href="oggstream.html">OggSquish bitstream overview</a>: High-level
-description of OggSquish logical bitstreams, how logical bitstreams
+<li><a href="oggstream.html">Ogg bitstream overview</a>: High-level
+description of Ogg logical bitstreams, how logical bitstreams
(of mixed media types) can be combined into physical bitstreams, and
restrictions on logical-to-physical mapping. Note that this document is
not specific only to Ogg Vorbis.
-<li><a href="framing.html">OggSquish logical bitstream and framing
-spec</a>: Low level, complete specification of OggSquish logical
+<li><a href="framing.html">Ogg logical bitstream and framing
+spec</a>: Low level, complete specification of Ogg logical
bitstream pages. Note that this document is not specific only to Ogg
Vorbis.
<li><a href="vorbis-stream.html">Vorbis bitstream mapping</a>:
Specifically describes mapping Vorbis data into an
-OggSquish physical bitstream.
+Ogg physical bitstream.
</ul>
<hr>
<a href="http://www.xiph.org/">
-<img src="white-xifish.gif" align=left border=0>
+<img src="white-xifish.png" align=left border=0>
</a>
<font size=-2 color=#505050>
-OggSquish is a <a href="http://www.xiph.org">Xiphophorus</a> effort to
+Ogg is a <a href="http://www.xiph.org">Xiphophorus</a> effort to
protect essential tenets of Internet multimedia from corporate
hostage-taking; Open Source is the net's greatest tool to keep
everyone honest. See <a href="http://www.xiph.org/about.html">About
Xiphophorus</a> for details.
<p>
-Ogg Vorbis is the first OggSquish audio CODEC. Anyone may
-freely use and distribute the OggSquish and Vorbis specification,
+Ogg Vorbis is the first Ogg audio CODEC. Anyone may
+freely use and distribute the Ogg and Vorbis specification,
whether in a private, public or corporate capacity. However,
Xiphophorus and the Ogg project (xiph.org) reserve the right to set
the Ogg/Vorbis specification and certify specification compliance.<p>
-Xiphophorus's Vorbis software CODEC implementation (libvorbis and the
-vorbis encode/decode/playback utility) are distributed under the GNU
-Public License. This does not restrict third parties from
-distributing independent implementations of Vorbis software under
-other licenses.<p>
+Xiphophorus's Vorbis software CODEC implementation is distributed
+under the Lesser/Library GNU Public License. This does not restrict
+third parties from distributing independent implementations of Vorbis
+software under other licenses.<p>
OggSquish, Vorbis, Xiphophorus and their logos are trademarks (tm) of
<a href="http://www.xiph.org/">Xiphophorus</a>. These pages are
-copyright (C) 1994-1999 Xiphophorus. All rights reserved.<p>
+copyright (C) 1994-2000 Xiphophorus. All rights reserved.<p>
</body>