Re: QDMC progress, updated
Benjamin Larsson <[email protected]>
| Newsgroups | gmane.comp.video.xine.codec.devel |
|---|---|
| Message-ID | <[email protected]> |
Sascha Sommer wrote: >>I once dug into Quicktime.qts and mapped out (what I think was) >>the call tree for the QDM* decoder (apparently, QDMC and QDM2 are handled >>by the same section of code). It was big; no, huge. Conceptually, it might >> >> > >Just curious, but do you remember the version of this Quicktime.qts? >Nowadays (QT5/6) the QDMC decoding function seems to be in >QickTimeInternetExtras.qtx while the QDM2 decoder can be found in >Quicktime.qts. > >Sascha > > Hmm, I was guessing that the codecs where the same but with slightly different bitstream. And I remembered checking the qt 3 dll. And in there I found a qdm2decompressor, abit strange when qdm2 was introduced in qt4. (http://www.oldversion.com for old quicktime versions.) My guess is that the original bitstream header wasn't designed for streaming, so they just redid the header. I don't have so many qdmc samples to analyse. But this is what I've found out so far about the qdmc1 header structure. (Analysing with 2 samples.) B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 BXX Q M C 01 Checksum 59 48 B2 90 DATA The checksum routine is the same as in qdm2 but with other bytes and swapped order. (Attached is a matlab routine for calculating the checksum). For every compressedpacket to include QMC is by me not needed. So if one would need to know the length of the whole packet by just looking at the header just remove the QMD and replace it with something useful(as it is in qdm2). If anybody has software for generating QDM1 files I would be intrested in that. /Benjamin
qdmchecksum.m
(application/octetstram, 317 B) - not displayed