[Ffmpeg-devel] Bug in pts computation in compute_pkt_fields() ?
Martin Wache
M.Wache
Tue Mar 20 19:30:13 CET 2007
Wolfram Gloger schrieb:
> Hi,
>
>> Sure, each pair of lines is one call to compute_pkt_fields(), the first
>> line is at the start of compute_pkt_fields(), the second at the end:
>> st->cur_dts 8000000000000000 pkt->pts 8000000000000000 pkt->dts
>> 8000000000000000 33
>> st->cur_dts 0 pkt->pts 0 pkt->dts 0
>>
>> st->cur_dts 0 pkt->pts 8000000000000000 pkt->dts 8000000000000000 33
>> st->cur_dts 870 pkt->pts 0 pkt->dts 0
>>
>> st->cur_dts 870 pkt->pts 113e0e706 pkt->dts 113e0e706 33
>> st->cur_dts ffffffff13e0ef76 pkt->pts ffffffff13e0e706 pkt->dts
>> ffffffff13e0e706
>
> Here is the problem IMO, cur_dts must never become negative..
> What about pkt->duration at this point?
>
Sorry, I must go in a few minutes, so I will check this later. But when
I remember correctly, the pts becomes negative after these lines:
if(st->cur_dts != AV_NOPTS_VALUE){
if(pkt->pts != AV_NOPTS_VALUE)
pkt->pts= lsb2full(pkt->pts, st->cur_dts,st->pts_wrap_bits);
and later on st->cur_dts is set to pkt->pts after the comment /*
presentation is not delayed : PTS and DTS are the same */.
Bye,
Martin
More information about the ffmpeg-devel
mailing list