[Ffmpeg-cvslog] Re: r5468 - trunk/libavformat/mov.c

Baptiste Coudurier baptiste.coudurier
Tue Jun 20 00:14:10 CEST 2006


Michael Niedermayer wrote:
> Hi
> 
> On Fri, Jun 16, 2006 at 09:52:05PM +0200, Baptiste COUDURIER wrote:
>> Hi
>>
>> 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...
Name: mov_build_index.patch
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/attachments/20060620/c808339e/attachment.txt>



More information about the ffmpeg-cvslog mailing list