[libbluray-devel] PTS and DTS of Blu-Ray titles made of multiple files

Andrea3000 andrea3000 at email.it
Thu Nov 10 11:46:30 CET 2011


John Stebbins <stebbins at ...> writes:

> No, libbluray doesn't provide any offset for clips.  In general *any* 
> transport stream can have discontinuities.  There are PCRs and 
> discontinuity indicators in the TS header adaptation field to assist in 
> dealing with them.  If your code isn't already processing these and 
> calculating your own offsets for these conditions, then you  will not be 
> able to handle the normal run-of-the-mill transport stream.  If you 
> have the mechanism in place to handle these discontinuities, then it 
> should just be a matter of flagging a discontinuity at a clip boundary 
> and let the existing logic figure out proper offsets.
> 

Oh well. I have to confess that I'm really new to programming, expecially 
to video decoding/encoding stuff and I have still to learn a lot of things.
I didn't know of this PCR field inside TS header as well as that transport 
stream can naturally have discontinuites inside the same file. I'll try to 
figure it out by googling a bit.

For what is about my program, I use FFmpeg API to parse raw packet 
and from what I have googled so far, it seems that neither AVPacket 
structure nor AVFrame structure contain PCR field. It is contained into 
MpegTSContext structure but it seems to be only an internal structure 
because it is not available in ffmpeg headers.
It also seems that FFmpeg use PCR field internally to adjust PTS and DTS
of the stream and this may explain why I have never had problem with
TS, as I mainly play this type of format. But I'm really not sure of
this PTS/DTS adjustment. 

I will ask a specific question about PCR in FFmpeg mailing list and I will 
eventually modify FFmpeg source in order to output PCR.

Thank you very much for your help, if I make some steps forward I'll 
let you know.

Regards

Andrea






More information about the libbluray-devel mailing list