Mercurial > libavcodec.hg
comparison mdct.c @ 1879:dd63cb7e5080 libavcodec
fft_*() renamed into ff_fft_*() patch by (Gildas Bazin <gbazin at altern dot org>)
author | michael |
---|---|
date | Sat, 13 Mar 2004 21:43:24 +0000 |
parents | 1e39f273ecd6 |
children | ef2149182f1c |
comparison
equal
deleted
inserted
replaced
1878:838c18d1e7fc | 1879:dd63cb7e5080 |
---|---|
46 for(i=0;i<n4;i++) { | 46 for(i=0;i<n4;i++) { |
47 alpha = 2 * M_PI * (i + 1.0 / 8.0) / n; | 47 alpha = 2 * M_PI * (i + 1.0 / 8.0) / n; |
48 s->tcos[i] = -cos(alpha); | 48 s->tcos[i] = -cos(alpha); |
49 s->tsin[i] = -sin(alpha); | 49 s->tsin[i] = -sin(alpha); |
50 } | 50 } |
51 if (fft_init(&s->fft, s->nbits - 2, inverse) < 0) | 51 if (ff_fft_init(&s->fft, s->nbits - 2, inverse) < 0) |
52 goto fail; | 52 goto fail; |
53 return 0; | 53 return 0; |
54 fail: | 54 fail: |
55 av_freep(&s->tcos); | 55 av_freep(&s->tcos); |
56 av_freep(&s->tsin); | 56 av_freep(&s->tsin); |
96 j=revtab[k]; | 96 j=revtab[k]; |
97 CMUL(z[j].re, z[j].im, *in2, *in1, tcos[k], tsin[k]); | 97 CMUL(z[j].re, z[j].im, *in2, *in1, tcos[k], tsin[k]); |
98 in1 += 2; | 98 in1 += 2; |
99 in2 -= 2; | 99 in2 -= 2; |
100 } | 100 } |
101 fft_calc(&s->fft, z); | 101 ff_fft_calc(&s->fft, z); |
102 | 102 |
103 /* post rotation + reordering */ | 103 /* post rotation + reordering */ |
104 /* XXX: optimize */ | 104 /* XXX: optimize */ |
105 for(k = 0; k < n4; k++) { | 105 for(k = 0; k < n4; k++) { |
106 CMUL(z[k].re, z[k].im, z[k].re, z[k].im, tcos[k], tsin[k]); | 106 CMUL(z[k].re, z[k].im, z[k].re, z[k].im, tcos[k], tsin[k]); |
153 im = -(input[n2+2*i] + input[n-1-2*i]); | 153 im = -(input[n2+2*i] + input[n-1-2*i]); |
154 j = revtab[n8 + i]; | 154 j = revtab[n8 + i]; |
155 CMUL(x[j].re, x[j].im, re, im, -tcos[n8 + i], tsin[n8 + i]); | 155 CMUL(x[j].re, x[j].im, re, im, -tcos[n8 + i], tsin[n8 + i]); |
156 } | 156 } |
157 | 157 |
158 fft_calc(&s->fft, x); | 158 ff_fft_calc(&s->fft, x); |
159 | 159 |
160 /* post rotation */ | 160 /* post rotation */ |
161 for(i=0;i<n4;i++) { | 161 for(i=0;i<n4;i++) { |
162 re = x[i].re; | 162 re = x[i].re; |
163 im = x[i].im; | 163 im = x[i].im; |
169 | 169 |
170 void ff_mdct_end(MDCTContext *s) | 170 void ff_mdct_end(MDCTContext *s) |
171 { | 171 { |
172 av_freep(&s->tcos); | 172 av_freep(&s->tcos); |
173 av_freep(&s->tsin); | 173 av_freep(&s->tsin); |
174 fft_end(&s->fft); | 174 ff_fft_end(&s->fft); |
175 } | 175 } |