Commit aafd6595 authored by Reimar Döffinger's avatar Reimar Döffinger

Do not initialize ff_cos_* tables again in rdft_init, they are already

initialized by ff_fft_init and using different code can result in slightly
different values, in addition it crashes when the tables are hardcoded.
On amd64 this slightly changes qdm2 output.

Originally committed as revision 20237 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 0fa0fa29
...@@ -840,7 +840,7 @@ typedef struct { ...@@ -840,7 +840,7 @@ typedef struct {
int sign_convention; int sign_convention;
/* pre/post rotation tables */ /* pre/post rotation tables */
FFTSample *tcos; const FFTSample *tcos;
FFTSample *tsin; FFTSample *tsin;
FFTContext fft; FFTContext fft;
} RDFTContext; } RDFTContext;
......
...@@ -64,7 +64,6 @@ av_cold int ff_rdft_init(RDFTContext *s, int nbits, enum RDFTransformType trans) ...@@ -64,7 +64,6 @@ av_cold int ff_rdft_init(RDFTContext *s, int nbits, enum RDFTransformType trans)
s->tcos = ff_cos_tabs[nbits-4]; s->tcos = ff_cos_tabs[nbits-4];
s->tsin = ff_sin_tabs[nbits-4]+(trans == RDFT || trans == IRIDFT)*(n>>2); s->tsin = ff_sin_tabs[nbits-4]+(trans == RDFT || trans == IRIDFT)*(n>>2);
for (i = 0; i < (n>>2); i++) { for (i = 0; i < (n>>2); i++) {
s->tcos[i] = cos(i*theta);
s->tsin[i] = sin(i*theta); s->tsin[i] = sin(i*theta);
} }
return 0; return 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment