[xiph-commits] r17175 - trunk/ogg/doc

xiphmont at svn.xiph.org xiphmont at svn.xiph.org
Mon Apr 26 00:26:57 PDT 2010


Author: xiphmont
Date: 2010-04-26 00:26:57 -0700 (Mon, 26 Apr 2010)
New Revision: 17175

Modified:
   trunk/ogg/doc/ogg-multiplex.html
   trunk/ogg/doc/oggstream.html
Log:
Doc tweaks; clarify/make more consistent the Index reasoning.



Modified: trunk/ogg/doc/ogg-multiplex.html
===================================================================
--- trunk/ogg/doc/ogg-multiplex.html	2010-04-25 19:46:23 UTC (rev 17174)
+++ trunk/ogg/doc/ogg-multiplex.html	2010-04-26 07:26:57 UTC (rev 17175)
@@ -117,16 +117,17 @@
 
 <h3>Seeking</h3> 
 
-<p>Ogg is designed to use a bisection search to implement exact
-positional seeking rather than building an index; an index requires
-two-pass encoding and as such is not acceptable given the requirement
-for full-featured linear encoding.</p>
+<p>Ogg is designed to use an interpolated bisection search to
+implement exact positional seeking.  Interpolated bisection search is
+a spec-mandated mechanism.</p>
 
-<p><i>Even making an index optional then requires an
-application to support multiple methods (bisection search for a
-one-pass stream, indexing for a two-pass stream), which adds no
-additional functionality as bisection search delivers the same
-functionality for both stream types.</i></p>
+<p><i>An index may improve objective performance, but it seldom
+improves subjective performance outside of a few high-latency use
+cases and adds no additional functionality as bisection search
+delivers the same functionality for both one- and two-pass stream
+types.  For these reasons, use of indexes is discouraged, except in
+cases where an index provides demonstrable and noticable performance
+improvement.</i></p>
 
 <p>Seek operations are by absolute time; a direct bisection search must
 find the exact time position requested. Information in the Ogg

Modified: trunk/ogg/doc/oggstream.html
===================================================================
--- trunk/ogg/doc/oggstream.html	2010-04-25 19:46:23 UTC (rev 17174)
+++ trunk/ogg/doc/oggstream.html	2010-04-26 07:26:57 UTC (rev 17175)
@@ -206,15 +206,10 @@
 heuristic.
 
 <p>Seeking without use of an index is a major point of the Ogg
-design. There are several reasons why Ogg forgoes an index:
+design. There two primary reasons why Ogg transport forgoes an index:
 			  
-<ul>
+<ol>
 
-<li>It must be possible to create an Ogg stream in a single pass, and
-an index requires either two passes to create, or the index must be
-tacked onto the end of a live stream after the stream is finished.
-Both methods run afoul of other design constraints.
-
 <li>An index is only marginally useful in Ogg for the complexity
 added; it adds no new functionality and seldom improves performance
 noticeably.  Empirical testing shows that indexless interpolation
@@ -227,8 +222,19 @@
 beginning to end.  This has been the fate of other containers that
 specify optional indexing.
 
-</ul>
+</ol>
 
+<p>In addition, it must be possible to create an Ogg stream in a
+single pass. Although an optional index can simply be tacked on the
+end of the created stream, some software groups object to
+end-positioned indexes and claim to be unwilling to support indexes
+not located at the stream beginning.
+
+<p><i>All this said, it's become clear that an optional index is a
+demanded feature.  For this reason, the <a
+href="http://wiki.xiph.org/Ogg_Index">OggSkeleton now defines a
+proposed index.</a></i>
+
 <h3>Simple multiplexing</h3>
 
 <p>Ogg multiplexes streams by interleaving pages from multiple elementary streams into a



More information about the commits mailing list