[Ffmpeg-cvslog] Re: r5468 - trunk/libavformat/mov.c
Tue Jun 20 00:14:10 CEST 2006
Michael Niedermayer wrote:
> On Fri, Jun 16, 2006 at 09:52:05PM +0200, Baptiste COUDURIER wrote:
>> Michael Niedermayer wrote:
>>>> I would need the original timestamp to rescale it to other streams time
>>>> base unit. I can still revert the scaling and scale it again but like I
>>>> said it is not accurate/correct.
>>> no, you rescale from one timebase to another, no AV_TIME_BASE should be
>>> involved, av_rescale_q() does exactly that ...
>> While I'm working on fixing seek in ni mov files, I was wondering If I
>> could rewrite the whole reading and seeking code using a sample table
>> built from header. It will take some memory but all other tables will be
>> freed after.
>> What do you think about that idea ?
> hmm you mean to convert the 500 tables in mov to a
> AVIndexEntry/av_add_index_entry/av_index_search_timestamp based table
> iam definitly in favor of that idea ...
Great to hear. Patched attached. Code can be disabled to restore old
demuxer. I still need to handle edit lists.
Test on all my samples, no regression and seek in non interleaved mov
works now. What do you think about it ?
It might be convenient to avoid pts computation. AVindexEntry would need
to store dts and pts. Is it a good idea ?
Also I notice that a correspondance between AVPacket and AVIndexEntry
might be usefull, for example to retrieve distance from keyframe and
know how many packets need to be decoded to get to the specific timestamp.
I also got a question. What should be the behaviour of the seek function
? If seeking is asked to be on a keyframe, sample returned might have a
timestamp significantly different from requested timestamp.
How seek must be done on other streams ? To the returned sample
timestamp ? Or to timestamp requested and let player correctly
decodes/waits until the requested timestamp ?
Baptiste COUDURIER GnuPG Key Id: 0x5C1ABAAA
SMARTJOG S.A. http://www.smartjog.com
Key fingerprint 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
Phone: +33 1 49966312
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
More information about the ffmpeg-cvslog