[Matroska-devel] S_DVBSUB

Steve Lhomme slhomme at matroska.org
Tue Feb 22 09:21:22 CET 2011

On Mon, Feb 21, 2011 at 10:51 PM, Dan Haddix <dan6992 at hotmail.com> wrote:
> You can't just strip the page ID. It's part of a header which also contains
> information such as the color pallet and region, which are vital for proper
> display of the bitmap data. Resetting the page ID to 1 basically makes all
> the packets in a given track appear to the decoder as if they are part of
> the common stream which in turn means they will be displayed. This is how
> DVB subtitle streams which do not have sub-streams are stored in TS, with
> all packets set to page ID 1. So all we're doing here is saying that MKV
> does not support sub-streams in a single track and forcing the muxer to
> separate the sub-streams into distinct tracks. (or use TrackOperation to
> make them appear as if they are all part of a distinct track) Basically
> we're eliminating the need for the equivalent of a PMT in MKV, but leaving
> the DVB subtitle packets intact so that they wont require special processing
> by the playing application to decode them.
> I really think this is the best way to handle it. If we start stripping
> headers to save a few bits we're just going to make it harder for the
> demuxer/player to decode the subtitles. I think we should just stick with
> the packet format outlined by the specification so that we can make
> implementation of the format as simple as possible for everyone.

If it's the first 4 bytes it could be done. Otherwise header stripping
can just kick in in advanced muxers as well. So OK, let's just go with
keeping these data in the Blocks.

Does it mean we don't need any Codec Private (as Andreas asked) ?

Steve Lhomme
Matroska association Chairman

More information about the Matroska-devel mailing list