[matroska-general] Re: How to choose EBML IDs ?
steve.lhomme at free.fr
Thu Jul 3 16:27:58 CEST 2003
> >You may want to contact us about getting the latest EBML libraries to
> >yourself some trouble. I don't believe the Sourceforge CVS was ever
> >with the latest libraries.
> We are developping an EBML parser (based on the XML SAX interface) and an
> writer written in C, as we need to parse the format on platforms where C++
> badly supported.
You plan to open source it ? That would really be great for matroska in
hardware players :>
> BTW, while playing with EBML, I found out it would have been very nice for
> parsing if the class IDs could have carried information about their level.
> Maybe for a future version ?
Yes, it could be nice. You could reserve a few bits (3 or 4) of the ID to
store the level.
Unfortunately Matroska won't fall in this category :(
The use I can see of this is to know approximately where you are when there
is some data loss and you find unknown IDs. That could boost
"resynchronisation" on the next level you need. (could be worth in matroska
The downside of this is that even with 3 bits (up to 8 levels) you only have
4 bits (16 values) for Class A (1 octet) elements. 16 is not enough at least
for matroska and maybe for you too.
Adding another element is not planned [ID][size][level][data] or
[ID][level][size][data]. But maybe the data in the EBML head could indicate
that such a scheme is used or not (matroska could then make use of it,
optionally). If that's really a needed feature on your side, I can add it.
More information about the Matroska-general