[matroska-devel] Re: New ideas for mode2 form2

avi h avihpit at yahoo.com
Tue Feb 11 23:38:54 CET 2003

--- Christian HJ Wiesner <christian at matroska.org> wrote:
> To : DeXT
> To : matroska-devel at freelists.org
> cc. Koepi
> cc : avih ( DeXT pls forward, i guess i have no valid email addy from avi )

got it ok ;)

> Hi DeXT,
> we havent heard from you for a while, so im dropping you this email, copied
> to matroska-devel, Koepi and avih .
> Our team member spyder is currently working hard on some technical docs
> explaining matroska for a technically interested user, not a developer
> capable of reading the specs. After he has finished that he told me he will
> get bored to death and needs a new tool to play with :D ! So, we are talking
> to you to find out what he could do.

great. he could carry on the backup support of xcd. shouldn't take more than a
day or two for a motivated programmer ;) no dshow or other propriatry knoledge
needed. just some common sense c++. i swear ;)

> You are maybe aware that libmatroska is in a usable state by now, and both
> Cyrius and myFUN are working hard to get the first alpha tools for Windows
> out of the door, of course we will test them in a very small alpha test
> circle first before making a public beta release. There are still some key
> features missing in the lib, like FileKax and MetaSeek/Cue, and this will
> take some more weeks probably, depending on robux4' motivation to code :D !
> While this is still going on i am trying to plan the next steps already, and
> you know that mode2 form2 support is very high on my list, as i consider it a
> key feature for matroska. Hopefully you will remember our conversation on IRC
> lately, when we told you that we came up with a nice idea of making matroska
> even better for mode2 form2 than our original plans were. This idea is
> basically to create an intelligent tool that will add several EDC and ECC
> elements to the matroska file, giving special protection to the most
> important elements of the file like
> - main header
> - indexes ( MetaSeek, seek entries, spread all over the file )
> - track headers
> - block headers
> etc.
> That way a file being 785 MB in size could be 'pumped up' to 795 MB ( or any
> other file size the user feels he can burn safely with his burner ), adding
> 10 MB of additional CRC checksums of all important parts listed above. Of
> course, this would increase overhead significantly, but give a lof of extra
> protection to the file, using the available disc space in the very best way.
> Matroska's structure, being EBML based, allows to do so easily without
> breaking file compatibility with a lot of devices, including hardware units (
> one day ;-) ). On playback, the matroska parser will simply ignore these
> extra elements normally, they could only become important once the file cant
> be played anymore. In this case a 'file repair' tool can be used to recreate
> the missing information, so the user can burn it again and enjoy it as a
> fully functional movie. Alternatively we could think of adding a special
> option to the matroskaparser, such that when you have a strong PC the
> existing CRCs can be used on playback also.

sounds fine so far.

> Now, my question to you was :
> - The resulting matroska file should be directly compatible with Mode2CD
> creator, as for you its a 'normal' file, with all the protection added to the
> file itself in special elements. My concerns now are, how would we handle
> matroska files with respect to the extra safety you will build in by writing
> the first 64 kb of every file into a separate mode2 form 1 track ? Is this
> necessary at all or could we drop that for matroska ? Would you recommend to
> do that in any case, to achieve extra safety ?

should pose no problem at all. only the DEFAULT protection scheme will protect
the 1st 64k of the file. but it should be a matter of hours to add support for
any file/protection scheme (for someone who KNOWS what's needed to get
protected). that what i was last working on, a general api and implementation
for adding protection in any combination.

> - Could you consider to add our code to your tool later, such that the
> 'conversion' from a normal matroska file to an 'extra safety' file could be
> done inside Mode2CD creator directly ?

when the xcd back api is ready (motivated programmer...) anyone could add it. i
see no problem in moving this code to the xcd sourceforge code.

 Note that you will need to add
> libmatroska to your tool to be able to do that, so this might have a serious
> impact on file size for distribution from your server. Alternatively we could
> make this ' mode2 burning preparation' process in our file repair tool (
> spyder's job :D ), so the user had to use 2 different tools to create a mode2
> matroska CD.
> Please tell me your opinion on that, and dont forget to copy the list also (
> reply-all button ;) )
> ChristianHJW

the general process of the backup:
two files are created:
file #1:<xyz>.dat the actual mode2form2 file (the complete file.. no ecc).
file #2:<xyz>.xch headers and backups for the file.

all the backup stuff goes into file#2, with the help of xvid api. some sort of
plugin (atm, only piece of code) should be added to tell which parts need
backup, and the xcdlib will build file#2 correctly.

just one point to take into account. according to the latest xcd spec, every
separate backup section will create an overhead of 24 bytes (iirc), so backing
up every other byte i.e. (not sequencial) will impose a HUGE overhead. i.e. for
100 separate backup sections the beackup overhead (regardless of the total
backed up bytes) will be 2.3K.

cheers ppl ;)

Do you Yahoo!?
Yahoo! Shopping - Send Flowers for Valentine's Day

More information about the Matroska-devel mailing list