[ogg-dev] Seeking to granules in discontinuous streams

ogg.k.ogg.k at googlemail.com ogg.k.ogg.k at googlemail.com
Fri Feb 15 02:43:05 PST 2008

> Leaving aside what the hypothetical seek algorithm would or wouldn't
> do, I believe that would work. It's still different from existing
> schemes though.

Yes, it is different technically.

However, I was trying to find something sufficiently close to the system
of granuleshift, which you seem to want to become the "standard" way
of mapping time to granules, despite Ogg leaving this to each codec.

What I outlined is a superset of that system, with the granuleshift as
in Theora/CMML, and a second granuleshift in the other direction, to
mask out the lower bits, if any. If that second granuleshift is zero, it
resolves back to the theora/CMML system, I think. I have implemented
it, so I may be missing something that doesn't work though.

It means it is slightly more complex, yes, but allows a codec to decide
whether it wants less precision on the backlink in exchange for more
granulespace bits. Theora does not need this, as it only needs 8 bits
(I think) max between keyframes, so there is no granulespace shortage.

Now, if your point is just that it's different, then fair enough, but I tried to
make it as close as possible to the granuleshift system, and it is backward
compatible with it.

More information about the ogg-dev mailing list