changeset 11518:c4d18d452f82 libavcodec

Call DCT by function pointer. Needed for any future ASM implementation and allows further cleanup.
author vitor
date Sun, 21 Mar 2010 11:31:11 +0000
parents e3b680f6c106
children c091ab3b4135
files dct.c fft.h
diffstat 2 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/dct.c	Sun Mar 21 11:28:38 2010 +0000
+++ b/dct.c	Sun Mar 21 11:31:11 2010 +0000
@@ -105,7 +105,7 @@
 
 void ff_dct_calc(DCTContext *s, FFTSample *data)
 {
-    ff_dct_calc_c(s, data);
+    s->dct_calc(s, data);
 }
 
 av_cold int ff_dct_init(DCTContext *s, int nbits, int inverse)
@@ -130,6 +130,8 @@
     for (i = 0; i < n/2; i++)
         s->csc2[i] = 0.5 / sin((M_PI / (2*n) * (2*i + 1)));
 
+    s->dct_calc = ff_dct_calc_c;
+
     return 0;
 }
 
--- a/fft.h	Sun Mar 21 11:28:38 2010 +0000
+++ b/fft.h	Sun Mar 21 11:31:11 2010 +0000
@@ -220,6 +220,7 @@
     RDFTContext rdft;
     const float *costab;
     FFTSample *csc2;
+    void (*dct_calc)(struct DCTContext *s, FFTSample *data);
 };
 
 /**