diff rdft.c @ 11512:1382cfff33bb libavcodec

Call rdft by function pointer Call the RDFT by a function pointer like other FFT related transforms. This makes instruction set optimized versions possible. Based on patch by Alex Converse.
author mru
date Sat, 20 Mar 2010 21:27:03 +0000
parents 6f1697664bf2
children 66da6ffd7ed5
line wrap: on
line diff
--- a/rdft.c	Sat Mar 20 16:51:36 2010 +0000
+++ b/rdft.c	Sat Mar 20 21:27:03 2010 +0000
@@ -50,6 +50,8 @@
     ff_sin_2048, ff_sin_4096, ff_sin_8192, ff_sin_16384, ff_sin_32768, ff_sin_65536,
 };
 
+static void ff_rdft_calc_c(RDFTContext* s, FFTSample* data);
+
 av_cold int ff_rdft_init(RDFTContext *s, int nbits, enum RDFTransformType trans)
 {
     int n = 1 << nbits;
@@ -74,6 +76,7 @@
         s->tsin[i] = sin(i*theta);
     }
 #endif
+    s->rdft_calc   = ff_rdft_calc_c;
     return 0;
 }
 
@@ -123,11 +126,6 @@
     }
 }
 
-void ff_rdft_calc(RDFTContext *s, FFTSample *data)
-{
-    ff_rdft_calc_c(s, data);
-}
-
 av_cold void ff_rdft_end(RDFTContext *s)
 {
     ff_fft_end(&s->fft);