[theora] OGGZ Seeking in Theora
Stefan Weber
s_weber at blyth.ch
Mon Jun 21 02:58:57 PDT 2010
Dear all
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?
Kind regards,
Stefan
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
>> now.
>> 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
>> oggz_tell_units().
>>
>> Seeking works, but not to keyframes :( Am I getting wrong some units or
>> something?
>>
> This line:
>
> | int noOfFramesSinceKeyframe = granule>>shift;
>
> calculates the position of the previous keyframe, not the offset since. See:
>
> http://wiki.xiph.org/GranulePosAndSeeking
>
> 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.
>
> Conrad.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/theora/attachments/20100621/c8127f4c/attachment.htm
More information about the theora
mailing list