[theora] Indexing Ogg files for faster seeking

Bernard Jungen bjung50169 at euphonynet.be
Sat Jan 23 19:16:18 PST 2010

On Sat, Jan 23, 2010 at 11:23:54AM +1300, Chris Pearce wrote:
> I am happy to accept suggestions for ways to compress the index better.

Easy. Reduce the checksum size, possibly to zero :-)

Seriously, I'm starting to wonder whether the full 32-bit checksum adds much
value to keypoints.

First, the need to rebuild/reload the whole index after modifications plus
the need for data stability while downloading speak against frequent data

Second, the test to see if there's a valid page at the seeked-to offset is
already a good rough verification IMO. What could then happen if we let the
decoder restart at a wrong page? Obviously, if the decoder is minimally
robust, bad decoded data will result, the decoder will stop, or skip to the
next keyframe, and in the first two cases the user will probably seek again
until the test for page start eventually fails.

Third, can we imagine a useful program that could modify data on-the-fly
without moving indexed pages nor changing the presentation times? Yes, for
instance a program that could overwrite specific segments with e.g. *cough*
ads. But the checksum test would reject them when seeking, although the
other related keypoint info are still valid.

When looking at compressed keypoints, checksums take a huge chunk of them
and it would be very useful to give them more thought IMO.

What do you all think?

GPG: D3ED A92F D243 FC07 1881 BE2E E68A A45D A54A DA90

More information about the theora mailing list