[Ffmpeg-devel] Bug in pts computation in compute_pkt_fields() ?

Måns Rullgård mans
Tue Mar 20 14:56:21 CET 2007


Wolfram Gloger said:
> Hi,
>
>> >> I'm experiencing problems with the pts values of the audio packets given
>> >> by av_read_frame(). The stream I feed to ffmpeg is a DVB-T stream mpeg2
>> >> audio and video.
>> > That is probably raw mpeg-ts, right?
>>
>> What do you mean by "raw mpeg-ts"?
>
> Well, a raw mpeg transport stream, such as obtained on Linux with:
> cat /dev/dvb/adapter0/demux0

I don't understand your use of the qualifier "raw".  Either you have MPEG-TS,
or you have something else.  Reading the device file you mention should
return the MPEG-TS stream as transmitted by the broadcaster, possibly with
some PID filters applied.  There is nothing "raw" about it.  What would,
in your opinion, a non-raw MPEG-TS stream be?

>> MPEG-TS PTS is always 33 bits.  The PCR is 42 bits.  Nothing is 60 bits.
>
> Yes, sorry, it should be 33 for the substreams.  When I encountered
> the same problem as the OP it was somewhat lower, IIRC.
> I just scanned through mpegts.c and took the highest value from this
> line (1303):
>
>         av_set_pts_info(st, 60, 1, 27000000);
>
> So what's the 60 doing there?  Should it perhaps be 42?

Without a closer inspection of the code, that entire line looks dubious
to me.  The PCR is in 27MHz units, but it is discarded by the demuxer.
The PTS is in 90kHz units.

-- 
M?ns Rullg?rd
mans at mansr.com




More information about the ffmpeg-devel mailing list