[theora] Indexing Ogg files for faster seeking

Benjamin M. Schwartz bmschwar at fas.harvard.edu
Tue Jan 26 19:10:57 PST 2010


Chris Pearce wrote:
> I decided not to shift or offset the variable-byte encoded values, as
> the index needs to be easily verifiable.

I don't claim any expertise about the Ogg format.  Chris has orders of
magnitude more experience with it than I do.  Nonetheless, I'm surprised
by several aspects of the design.

0. in Ogg Index 3.3, it's perfectly possible for an index to be "verified"
and yet absolutely useless.  For example, an index that only contains the
location of the first three keyframes is considered a valid index as long
as those three locations are correct.  Also, any operation that
substantially extends the stream will render the index of little use
without technically invalidating it.

1. Using timestamps instead of granpos seems to break a fundamental
abstraction barrier in Ogg.  Ogg Dirac, for example, codes frames out of
order, so the presentation times are not monotonically increasing.

2. If the reserved space is insufficient, the indexer must currently drop
entire references.  A lossy scheme would degrade more gracefully, by
decreasing the precision of all seek points without dropping any (or by
dropping fewer).

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
Url : http://lists.xiph.org/pipermail/theora/attachments/20100126/fd2dabcc/attachment.pgp 


More information about the theora mailing list