[Matroska-devel] Re: Re: [Ffmpeg-devel] Adding matroska support toFFMPEG via libmatroska/libebml, in C++ ?

Steve Lhomme steve.lhomme at free.fr
Tue Oct 14 17:54:57 CEST 2003


Cyrius wrote:
>>Make the lace
>>sizes EBML style, and add a
>>bit flag for all laced frames being the same size.
>>Easy, eh?
> 
> Yeah easy ;). It's true that using the EBML style for
> encoding the size of a lace would require less space
> than the current system.
> But before doing anything like that some tests should
> be made to make sure there is no (or at least not too
> important) drawback on speed: is encoding/decoding an
> EBML encoded size faster or slower than the current
> system ?

Mmm, you're starting to convince me about that "lacing2" thing. It's 
true that compared to the original lacing, it would take less space, and 
serve the same goal. It's strange that Xiph didn't come up with this 
idea ! It would also allow lacing of bigger frames (and lacing would 
still be efficient). The size of each lace could even be differential to 
the preceeding. That means 100, 120, 110 is coded as : 100, 20, -10.

So I'm OK to create this new Block2. But it will require every known 
matroska reader to be updated at the same time (to avoid problems). So 
we should see what is in the wild and coordinate the update, so that 
it's transparent to the users. (new files will not play with older 
readers)... If we do add a Block2 we should also make sure some other 
things don't need to be added/changed at the same time.

About the speed, I think it's equal. As the old way takes more space, it 
may just take more iteration to compute+write it. So I think the new 
method would be faster (maybe not the differential one).




More information about the Matroska-devel mailing list