[tremor] MDCT_lookup tables reduced by one third.

timmy brolin timmy at home.se
Mon Sep 9 17:13:30 PDT 2002



I reduced the MDCT lookup tables by one third by first separating the sine/cosine tables from the rest and then reducing the sine/cosine tables to only one quarter of a sinewave.
The PCM output is identical to that of the original version.

The code is not perfectly optimized, but it isn't that much worse than the original, I haven't done any performance comparisons. If someone does, then please post the results.
The only place I can think of where I might have added a few extra cycles is in "mdct_butterfly_generic", but I think it can be optimized quite a bit more.

I didn't care about keeping and modifying "mdct_butterfly_first" cuz I'am too lazy, feel free to put it back in there if you want it.
The only difference between 'generic' and 'first' is that 'trigint' is replaced by a constant '2'

I also removed the T argument from several functions, cuz it isn't necessary anymore, I did however add one global variable, "int step" (32bit is not necesary, it can be reduced to a 8bit char).
It can of course be changed into an argument.

Here is the patch, just replace mdct.c and mdct_lookup.h with theese:
http://194.47.15.142/~timmy/mdct.zip

Cheers!
Timmy Brolin

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'tremor-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Tremor mailing list