[vorbis] MDCT input and output data blocks
Govind Kharbanda
govind.kharbanda at sli-institute.ac.uk
Wed Aug 21 09:13:26 PDT 2002
Hi,
I'm trying to determine how the frequency data that is passed to the
MDCT, and output time domain data obtained from the MDCT, is changed
when setting #define MDCT_INTEGERIZED
For instance, the trig array, for a size 256 window begins
1.000000
0.000000
0.998795
-0.049068
0.995185
-0.098017
if INTEGERIZED is set, then it begins
16384
0
16364
-803
16305
-1605
which is simply a left shift of TRIGBITS (14 in this case), or a
multiply by 16384 if you prefer to think of it like that. So far, so
good.
However if I display the data blocks (*in and *out) before and after
transformation:
mapping0.c: mdct_backward(b->transform[vb->W][0],pcm,pcm);
in floats:
'in' begins (before transformation)
-0.003689
-0.017678
-0.041495
-0.044482
-0.011444 (although it goes a bit odd later on, with long strings of
zeros and then long strings of -431602080.000000)
'out' begins (after transformation)
0.060559
0.046839
0.023448
-0.003603
-0.032965
But in fixed point, if I set INTEGERIZED I get
'in' begins (before transformation)
-1150172552
-1131359692
-1121323368
-1120521410
-1136950943
which clearly isn't the floating point version shifted left by TRIGBITS
and for completeness, 'out' begins (after transformation)
-23137
119197
-124861
43611
42769
which looks better, although note the signs don't agree with the float
version.
Should I perform a left shift of the data in mapping0.c BEFORE it calls
mdct_backward? (Is that not taken care of).
Source file was keoki_passiton.ogg obtained from the Vorbis.com web site
some time ago (I don't think it is there any more). I'm using Version
1.0 Win 32 distribution under Visual C++. The blocks shown above are
the first audio block in the file (size 256).
Cheers
Gov
--
Govind S Kharbanda Institute for System Level Integration
Hardware Perceptual Audio Decoding Alba Campus, Livingston, EH54 7EG
http://www.sli-institute.ac.uk/~gk/ Tel: 01506 469339
--- >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 'vorbis-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 Vorbis
mailing list