summaryrefslogtreecommitdiff
path: root/mdct.c
diff options
context:
space:
mode:
authorMonty <xiphmont@xiph.org>2002-10-16 09:17:39 +0000
committerMonty <xiphmont@xiph.org>2002-10-16 09:17:39 +0000
commitbbef83c423f7438bc8f4108107b06450b6731dd9 (patch)
tree54bb320e3703ba01a1d7852dc46dab649ee35a8f /mdct.c
parent372741a58e08b3dbdd796354de44a52323a6c927 (diff)
downloadtremor-bbef83c423f7438bc8f4108107b06450b6731dd9.tar.gz
Fix to Nicolas Pitre's interpolated MDCT for 4096 and 8192
git-svn-id: https://svn.xiph.org/trunk/Tremor@4014 0101bb08-14d6-0310-b084-bc0e0c8e3800
Diffstat (limited to 'mdct.c')
-rw-r--r--mdct.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/mdct.c b/mdct.c
index a30c181..e4472a7 100644
--- a/mdct.c
+++ b/mdct.c
@@ -13,7 +13,7 @@
function: normalized modified discrete cosine transform
power of two length transform only [64 <= n ]
- last mod: $Id: mdct.c,v 1.8 2002/10/16 09:07:00 xiphmont Exp $
+ last mod: $Id: mdct.c,v 1.9 2002/10/16 09:17:39 xiphmont Exp $
Original algorithm adapted long ago from _The use of multirate filter
banks for coding of high quality digital audio_, by T. Sporer,
@@ -425,16 +425,16 @@ void mdct_backward(int n, DATA_TYPE *in, DATA_TYPE *out){
t0 += (v0 = (*V++)>>1);
t1 += (v1 = (*V++)>>1);
- XPROD31( iX[0], -iX[1], t0, t1, &oX1[3], &oX2[0] ); T+=step;
+ XPROD31( iX[0], -iX[1], t0, t1, &oX1[3], &oX2[0] );
v0 += (t0 = (*T++)>>1);
v1 += (t1 = (*T++)>>1);
- XPROD31( iX[2], -iX[3], v0, v1, &oX1[2], &oX2[1] ); T+=step;
+ XPROD31( iX[2], -iX[3], v0, v1, &oX1[2], &oX2[1] );
t0 += (v0 = (*V++)>>1);
t1 += (v1 = (*V++)>>1);
- XPROD31( iX[4], -iX[5], t0, t1, &oX1[1], &oX2[2] ); T+=step;
+ XPROD31( iX[4], -iX[5], t0, t1, &oX1[1], &oX2[2] );
v0 += (t0 = (*T++)>>1);
v1 += (t1 = (*T++)>>1);
- XPROD31( iX[6], -iX[7], v0, v1, &oX1[0], &oX2[3] ); T+=step;
+ XPROD31( iX[6], -iX[7], v0, v1, &oX1[0], &oX2[3] );
oX2+=4;
iX+=8;
@@ -456,19 +456,19 @@ void mdct_backward(int n, DATA_TYPE *in, DATA_TYPE *out){
v1 = *V++;
t0 += (q0 = (v0-t0)>>2);
t1 += (q1 = (v1-t1)>>2);
- XPROD31( iX[0], -iX[1], t0, t1, &oX1[3], &oX2[0] ); T+=step;
+ XPROD31( iX[0], -iX[1], t0, t1, &oX1[3], &oX2[0] );
t0 = v0-q0;
t1 = v1-q1;
- XPROD31( iX[2], -iX[3], t0, t1, &oX1[2], &oX2[1] ); T+=step;
+ XPROD31( iX[2], -iX[3], t0, t1, &oX1[2], &oX2[1] );
t0 = *T++;
t1 = *T++;
v0 += (q0 = (t0-v0)>>2);
v1 += (q1 = (t1-v1)>>2);
- XPROD31( iX[4], -iX[5], v0, v1, &oX1[1], &oX2[2] ); T+=step;
+ XPROD31( iX[4], -iX[5], v0, v1, &oX1[1], &oX2[2] );
v0 = t0-q0;
v1 = t1-q1;
- XPROD31( iX[6], -iX[7], v0, v1, &oX1[0], &oX2[3] ); T+=step;
+ XPROD31( iX[6], -iX[7], v0, v1, &oX1[0], &oX2[3] );
oX2+=4;
iX+=8;