[mad-dev] How to unroll the imdct??

Grigory Abuladze Grigory Abuladze <Ryhor@tut.by>
Tue, 25 Nov 2003 11:26:05 +0900

Hello forks

Monday, November 24, 2003, 8:06:51 PM, you wrote:
ft> The IMDCT function in MAD seems not easy to understand.

ft> Rob Leslie says that it is custom unrolled and factorized
ft> implementation. But I still don't know how ...

ft> Would you please tell me about the IMDCT algorithm in MAD or
ft> any reference documents? Thank you very much!!

I have just finished (almost) ... mmm ... porting MAD to 55xx series of TI DSP.
So I think I now all about IMDCT in mp3 decoding process :) I hope :)).
I am not sure I can explain to you MAD specific implementation of this
part of decoder, but I can explain what action is implied in each step
of this part of decoding process.

If You want we may discuss function by function. Maybe later I will
prepare document which will describe all optimizations I have used -
but I am afraid part of them are DSP specific.

And I have to say that MAD style maybe very good - I have not gone
deep in understanding MAD implementation of math - because I have
different aim and any way DSP specific implementation is faster in
several times

for example IMDCT & overlapping require only ~(900-1000) tacts of DSP.
Synthesis for one channel for 36 samples in 32 subbands take ~100 000 tacts.

Best regards,
 Grigory                            mailto:Ryhor@tut.by