[matroska-general] Re: How to choose EBML IDs ?
steve.lhomme at free.fr
Wed Jul 2 11:57:03 CEST 2003
> Hi everybody,
> I'm currently designing a binary format based on EBML, and was wondering
> there are some rules about how to choose class IDs. I know that less
> frequently used IDs should be longer, but are there any other rule ? How
> did you choose the IDs used in Matroska ?
Well the few rules worth :
- less used IDs : bigger size
- IDs used to resynchronise : 4 bytes (you may not need that)
- IDs not much used but in a sensitive place (where size is really
important) : smaller size
That's all the rules I've used.
Oh, and of course you have to meet the bit format for each stream :
1xxx xxxx - Class A IDs (2^7 -2 possible
values) (base 0x8X)
01xx xxxx xxxx xxxx - Class B IDs (2^14-2 possible
values) (base 0x4X 0xXX)
001x xxxx xxxx xxxx xxxx xxxx - Class C IDs (2^21-2 possible
values) (base 0x2X 0xXX 0xXX)
0001 xxxx xxxx xxxx xxxx xxxx xxxx xxxx - Class D IDs (2^28-2 possible
values) (base 0x1X 0xXX 0xXX 0xXX)
More information about the Matroska-general