[theora] OGGZ Seeking in Theora
s_weber at blyth.ch
Mon Jun 21 02:58:57 PDT 2010
Conrad, thank you for your inputs and your help so far. I will use and
test the seek-rewrite branch as soon as possible.
I figured out that the Keyframe position in the granulepos is the NUMBER
of the keyframe. When seeking with OGGZ, one has to supply the
TIME-position (milliseconds) of the desired frame. So I made a short
workaround by calculating the milliseconds position as follows:
/ms = (granulepos >> shift) * 1000 / noFPS;
Needless to say, this won't point me to the exact keyframe position.
Probably this rough calculation is not exact enough?
What is the best approach to calculate the TIME-position for
oggz-seeking out of a given frame number?
Am 08.06.2010 00:48, schrieb Conrad Parker:
> On 7 June 2010 20:02, Stefan Weber<s_weber at blyth.ch> wrote:
>> Hi Conrad
>> Thanks for your reply to my request. I was able to eliminate some questions
>> But I obviously still have some issues calculating the keyframe position.
>> This is what I do:
>> ogg_int64_t granule = oggz_tell_granulepos(oggz);
>> int shift = oggz_get_granuleshift(oggz, sn);
>> int noOfFramesSinceKeyframe = granule>>shift;
>> int keyFramePosition = oldPosition - noOfFramesSinceKeyframe;
>> oggz_seek_units(oggz, keyFramePosition, SEEK_SET);
>> oldPosition being the position where initially has been seeked to as from
>> Seeking works, but not to keyframes :( Am I getting wrong some units or
> This line:
> | int noOfFramesSinceKeyframe = granule>>shift;
> calculates the position of the previous keyframe, not the offset since. See:
> so you should be able to use that calculation directly for keyFramePosition.
>>> If you're working with this now anyway, please try the seek-rewrite
>>> branch, from the repo at github: http://github.com/kfish/liboggz
>> Whats different in this branch? Why would I use it?
> It has improvements in both efficiency and accuracy, but does not have
> as much real-world testing. If people test it and report good results
> then it will be released as the main version sooner.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the theora