Re: QDMC progress, updated
Mike Melanson <[email protected]>
| Newsgroups | gmane.comp.video.xine.codec.devel |
|---|---|
| Message-ID | <[email protected]> |
On Tue, 16 Dec 2003, Benjamin Larsson wrote: > Guess I updated to soon, I finally have some information about what > technique is used inside QDMC. This image is a psd taken from a > wav->mu-law->wav file: > > http://tranquillity.campus.luth.se/~banan/qdmc/PICS/ulawpsd.jpg > > And if you compare the psd with the one in the pdf the similarity is > striking. > I'm not sure of the reduction this gives, I think its 2:1 (16->8 bits). Per my limited understanding of logarithmic PCM, this is true. > My current > guess for a decoder is this: > > calculate checksum -> ????? -> ifft -> mu-law -> wav Hmm...so you propose that the decoder converts linear PCM -> log PCM and then does the compression? I wish I knew enough about DSP to judge whether that made any sense. However, a small problem with your hypothetical flow: I know that at the end of the QDM* decoder, there is a standard "clamper" function, the one that converts an array of single-precision floats to signed 16-bit numbers. I don't have my notes right now, but it's an easy function to spot. > If one take a minute and remember the computing power that was availible > in 96-97, theise > kind of techniques makes good sense. And the knowledge of compression > wasn't as great as it is now. > That and the fact that LBpack (QDMC?) was most likely created by one > person indicates that the whole > format is not so complicated. (I hope) 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 be simple (if once understands the right theoretical background), but there are probably a lot of little details. There were also gargantuan functions that looked a lot like compiler-unrolled loops (lots of floating point ops, so possibly an iFFT). BTW, good detective work. -- -Mike Melanson ------------------------------------------------------- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click