libFLAC/lpc.c: Fix signed integer overflow
[flac.git] / doc / html / ogg_mapping.html
index 80b8c80..e28ca3d 100644 (file)
@@ -1,11 +1,12 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c)  2004,2005  Josh Coalson -->
+<!-- Copyright (c) 2004-2009  Josh Coalson -->
+<!-- Copyright (c) 2011-2016  Xiph.Org Foundation -->
 <!-- Permission is granted to copy, distribute and/or modify this document -->
 <!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
 <!-- or any later version published by the Free Software Foundation; -->
 <!-- with no invariant sections. -->
 <!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
+<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
        <meta name="author" content="Josh Coalson" />
 <body>
 
 <div class="logo">
-       <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
+       <a href="index.html"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
 </div>
 
 <div class="above_nav"></div>
 
-<div class="separator2"></div>
-
 <div class="navbar">
        &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
        &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
-       &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
-       &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
-       &nbsp;<a href="features.html">features</a>&nbsp;&nbsp;|
-       &nbsp;<a href="goals.html">goals</a>&nbsp;&nbsp;|
-       &nbsp;<a href="format.html">format</a>&nbsp;&nbsp;|
-       &nbsp;<a href="id.html">id</a>&nbsp;&nbsp;|
-       &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
        &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
+       &nbsp;<a href="developers.html">developers</a>&nbsp;&nbsp;|
        &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
-       &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
-       &nbsp;<a href="developers.html">developers</a>&nbsp;
+       &nbsp;<a href="http://xiph.org/flac">more</a>
 </div>
 
-<div class="separator2"></div>
-
-<div class="langbar">
-       &nbsp;english&nbsp;&nbsp;|
-       &nbsp;<a href="ru/ogg_mapping.html">russian</a>&nbsp;
-</div>
-
-<div class="separator2"></div>
-
 <div class="below_nav"></div>
 
 <div class="box">
@@ -59,7 +42,7 @@
        </div>
        <div class="box_header"></div>
        <div class="box_body">
-               This page specifies the way in which compressed FLAC data is encapsulated in an Ogg transport layer.  It assumes basic knowledge of the <a href="format.html">FLAC format</a> and <a href="http://www.xiph.org/ogg/vorbis/doc/oggstream.html">Ogg structure</a> and <a href="http://www.xiph.org/ogg/vorbis/doc/framing.html">framing</a>.<br />
+               This page specifies the way in which compressed FLAC data is encapsulated in an Ogg transport layer.  It assumes basic knowledge of the <a href="format.html">FLAC format</a> and <a href="http://xiph.org/vorbis/doc/oggstream.html">Ogg structure</a> and <a href="http://xiph.org/vorbis/doc/framing.html">framing</a>.<br />
                <br />
                The original FLAC format includes a very thin transport system.  This system of compressed FLAC audio data mixed with a thin transport has come to be known as 'native FLAC'.  The transport consists of audio frame headers and footers which contain synchronization patterns, timecodes, and checksums (but notably not frame lengths), and a metadata system.  It is very lightweight and does not support more elaborate transport mechanisms such as multiple logical streams, but it has served its purpose well.<br />
                <br />
@@ -67,7 +50,7 @@
                <br />
                This presents a problem when trying to encapsulate FLAC in other true transport layers; the choice has to be made between redundancy and complexity.  In pursuit of correctness, a mapping could be created that removed from native FLAC the transport data, and merged the remaining frame header information into the audio packets.  The disadvantage is that current native FLAC decoder software could not be used to decode because of the tight coupling with the transport.  Either a separate decoding implementation would have to be created and maintained, or an Ogg FLAC decoder would have to synthesize native FLAC frames from Ogg FLAC packets and feed them to a native FLAC decoder.<br />
                <br />
-               The alternative is to treat native FLAC frames as Ogg packets and accept the transport redundancy.  It turns out that this is not much of a penalty; a maximum of 12 bytes per frame will be wasted.  Given the common case of stereo CD audio encoded with a blocksize of 4608 samples, a compressed frame will be 4-16 Kbytes.  The redundancy amounts to a fraction of a percent.<br />
+               The alternative is to treat native FLAC frames as Ogg packets and accept the transport redundancy.  It turns out that this is not much of a penalty; a maximum of 12 bytes per frame will be wasted.  Given the common case of stereo CD audio encoded with a blocksize of 4096 samples, a compressed frame will be 4-16 Kbytes.  The redundancy amounts to a fraction of a percent.<br />
                <br />
                In the interest of simplicity and expediency, the second method was chosen for the first official FLAC-&gt;Ogg mapping.  A mapping version is included in the first packet so that a less redundant mapping can be defined in the future.<br />
                <br />
                                FLAC packets may span page boundaries.
                        </li>
                        <li>
-                               The granule position of pages containing FLAC audio follows the same semantics as that for Ogg-encapsulated Vorbis as described <a href="http://www.xiph.org/ogg/vorbis/doc/vorbis-ogg.html">here</a>.
+                               The granule position of pages containing FLAC audio follows the same semantics as that for Ogg-encapsulated Vorbis as described <a href="http://xiph.org/vorbis/doc/Vorbis_I_spec.html#x1-126000A">here</a>.
                        </li>
                        <li>
                                Redundant fields in the STREAMINFO packet may be set to zero (indicating "unknown" in native FLAC), which also facilitates single-pass encoding.  These fields are: the minimum and maximum frame sizes, the total samples count, and the MD5 signature.  "Unknown" values for these fields will not prevent a compliant native FLAC or Ogg FLAC decoder from decoding the stream.
 
 
 <div class="copyright">
-       Copyright (c) 2004,2005  Josh Coalson
+       <!-- @@@ oh so hacky -->
+       <table>
+               <tr>
+                       <td align="left">
+                               Copyright (c) 2004-2009  Josh Coalson
+                               <br/>
+                               Copyright (c) 2011-2016  Xiph.Org Foundation
+                       </td>
+               </tr>
+       </table>
 </div>
 
 </body>