diff --git a/libavcodec/rdft.c b/libavcodec/rdft.c index 54cf14aa21..19652537f8 100644 --- a/libavcodec/rdft.c +++ b/libavcodec/rdft.c @@ -99,8 +99,6 @@ static void rdft_calc_c(RDFTContext *s, FFTSample *data) av_cold int ff_rdft_init(RDFTContext *s, int nbits, enum RDFTransformType trans) { int n = 1 << nbits; - int i; - const double theta = (trans == DFT_R2C || trans == DFT_C2R ? -1 : 1)*2*M_PI/n; s->nbits = nbits; s->inverse = trans == IDFT_C2R || trans == DFT_C2R; @@ -116,8 +114,11 @@ av_cold int ff_rdft_init(RDFTContext *s, int nbits, enum RDFTransformType trans) s->tcos = ff_cos_tabs[nbits]; s->tsin = ff_sin_tabs[nbits]+(trans == DFT_R2C || trans == DFT_C2R)*(n>>2); #if !CONFIG_HARDCODED_TABLES - for (i = 0; i < (n>>2); i++) { - s->tsin[i] = sin(i*theta); + { + int i; + const double theta = (trans == DFT_R2C || trans == DFT_C2R ? -1 : 1) * 2 * M_PI / n; + for (i = 0; i < (n >> 2); i++) + s->tsin[i] = sin(i * theta); } #endif s->rdft_calc = rdft_calc_c;