[FFmpeg-devel] [RFC/PATCH] Pass PRIVATE_STREAM_2 MPEG-PS packets to caller

Richard peper03 at yahoo.com
Sun Feb 24 21:50:22 CET 2013


On 24/02/13 21:06, Michael Niedermayer wrote:
> On Sun, Feb 24, 2013 at 08:31:35PM +0100, Richard wrote:
>> On 18/02/13 07:24, Richard wrote:
>>> Hi,
>>>
>>> In order to improve DVD playback, I need the DVD NAV packets in-sync
>>> with the other audio/video/subtitle packets.  The information is stored
>>> in 'PRIVATE_STREAM_2' MPEG-PS packets (startcode 0x1bf), which are
>>> currently filtered out.
>>>
>>> The attached patch adds a new codec ID 'AV_CODEC_ID_PRIVATE_STREAM_2' to
>>> identify these packets.
>>>
>>> The contents of these packets is clear for DVDs but looking at the
>>> existing code, it appears that Dreamcast videos (Sofdec) also use this
>>> startcode but for other purposes, so I'm not sure it's feasible to
>>> create any sort of decoder for these packets.  As it is, the patch
>>> simply returns the contents of the packet unchanged.  It is up to the
>>> calling application to process the contents.
>>>
>>> All comments welcome.
>>
>> Any comments on this?
>
> do you have an actual application that uses this ? that is has the
> output been tested somehow ?

Yes, I'm working on improving DVD playback in MythTV.  There is a wealth 
of information stored in these packets that lets the player code 
determine, for example, when there's a timecode discontinuity, or when 
the next block with video packets will come.  Particularly because of 
the timecodes discontinuities, it's important to get these packets 
*before* the discontinuities occur to be able to anticipate them.

The contents of these packets (in a DVD context) is describe on these 
two pages (just to give an idea of the sort of data available):

http://dvdnav.mplayerhq.hu/dvdinfo/pci_pkt.html
http://dvdnav.mplayerhq.hu/dvdinfo/dsi_pkt.html

Ideally, these packets would be delivered completely in-sync with the 
audio/video/subpicture packets, but that doesn't seem to be possible due 
to, as I mentioned, the buffering required for the 'normal' packets.  If 
there is a way, I'm all ears.

Richard.


More information about the ffmpeg-devel mailing list