Hi, I am trying to ponder out what dct32 is actually doing. The comment in matrixing() reads:
x[i] = x'[i + 16] i = 0..15 x[i + 17] = -x'[31 - i] i = 0..15 x[i + 32] = -x'[16 - i] i = 0..15 x[i + 48] = -x'[i] i = 0..15 x[16] = 0
the hi and lo are only 16 entries, filter is 32. 'i + 32' and definately 'i + 48' go beyond these bounds.
Now, I understand matrix math, but the numbers just don't seem right here.
Hi, I am trying to ponder out what dct32 is actually doing. The comment in matrixing() reads:
x[i] = x'[i + 16] i = 0..15 x[i + 17] = -x'[31 - i] i = 0..15 x[i + 32] = -x'[16 - i] i = 0..15 x[i + 48] = -x'[i] i = 0..15 x[16] = 0
the hi and lo are only 16 entries, filter is 32. 'i + 32' and definately 'i + 48' go beyond these bounds.
Now, I understand matrix math, but the numbers just don't seem right here.
Yes, this will take some work to explain. I will go into better depth later, but the short answer is that the comment you see describes the relationship between the 32-point DCT and the desired output vector which is of length 64.
However, as you can see from the fact that all 64 values are obtained from these 32 (due to trig symmetry), the vector of 64 is not explicitly calculated. Instead, the 32 DCT output values are split into two vectors of length 16 (hi and lo) and used directly in the later calculations.
I'll describe this in more detail when I shouldn't instead be sleeping, if there is interest.
-rob
I'll describe this in more detail when I shouldn't instead be sleeping, if there is interest.
I would appreciate it, as well as pointers to good docs on mp[123] and fixed point math. This strikes me as interesting and a way to improve my math skills (-: You could even place this in a file in the tarball.
Well, you likely won't hear from me for about 3 weeks, I am going home for a while. I hope to have ported some of the mp3 players I use that currently fork mpg123. Sorry to have made this list noisy for the last few days.
I'll describe this in more detail when I shouldn't instead be sleeping, if there is interest.
I would appreciate it, as well as pointers to good docs on mp[123] and fixed point math. This strikes me as interesting and a way to improve my math skills (-: You could even place this in a file in the tarball.
A good MPEG audio resource with some decent technical info (including, I believe, copies of the standard although I don't know how legit these are):
As for fixed-point math, it's really simpler than you might think. I can't recommend any single resource, but try:
http://www.google.com/search?q=fixed-point+math
This seems to return a few good pointers.
Well, you likely won't hear from me for about 3 weeks, I am going home for a while. I hope to have ported some of the mp3 players I use that currently fork mpg123. Sorry to have made this list noisy for the last few days.
You're planning to port these players to use MAD? Excellent. I'll be waiting impatiently the next three weeks to hear about your progress.
In my next post I will go into the details of subband synthesis and dct32()...
-rob
You're planning to port these players to use MAD? Excellent. I'll be waiting impatiently the next three weeks to hear about your progress.
I am. I hate seeing a perfectly good front-end having to fork the real player. Unfortunately, the coding quality of some players leaves something to be desired. I did not take my laptop with me for the trip. Will get back into things soon. /me is typing this while listening to Staind mp3's with the new 1b version. All seems well.
Tired after a 15 hour drive (after having driven for the last three days to boot).