summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2009-10-15 11:50:32 +0000
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>2009-10-15 11:50:32 +0000
commitaafd659518356d1ae3624830a36816f154d94d83 (patch)
treec27103156e8aa2406714a467ab97065d55239d3d /libavcodec
parent0fa0fa296a40a2e96464f6378c4ec8a0abaacc15 (diff)
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
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/dsputil.h2
-rw-r--r--libavcodec/rdft.c1
2 files changed, 1 insertions, 2 deletions
diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h
index 3656d1c3b5..50889bb1d1 100644
--- a/libavcodec/dsputil.h
+++ b/libavcodec/dsputil.h
@@ -840,7 +840,7 @@ typedef struct {
int sign_convention;
/* pre/post rotation tables */
- FFTSample *tcos;
+ const FFTSample *tcos;
FFTSample *tsin;
FFTContext fft;
} RDFTContext;
diff --git a/libavcodec/rdft.c b/libavcodec/rdft.c
index 0fe26ab01a..ed4e39aa08 100644
--- a/libavcodec/rdft.c
+++ b/libavcodec/rdft.c
@@ -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->tsin = ff_sin_tabs[nbits-4]+(trans == RDFT || trans == IRIDFT)*(n>>2);
for (i = 0; i < (n>>2); i++) {
- s->tcos[i] = cos(i*theta);
s->tsin[i] = sin(i*theta);
}
return 0;