From e30ab38e94252398e4390e12e1a883d24cc5afa5 Mon Sep 17 00:00:00 2001 From: Vitor Sessak Date: Sun, 21 Mar 2010 11:31:11 +0000 Subject: [PATCH] Call DCT by function pointer. Needed for any future ASM implementation and allows further cleanup. Originally committed as revision 22617 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/dct.c | 4 +++- libavcodec/fft.h | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/libavcodec/dct.c b/libavcodec/dct.c index fbcfeeb105..7cc383379b 100644 --- a/libavcodec/dct.c +++ b/libavcodec/dct.c @@ -105,7 +105,7 @@ static void ff_dct_calc_c(DCTContext *ctx, FFTSample *data) 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 @@ av_cold int ff_dct_init(DCTContext *s, int nbits, int inverse) 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; } diff --git a/libavcodec/fft.h b/libavcodec/fft.h index 17eb380731..df7ded99a8 100644 --- a/libavcodec/fft.h +++ b/libavcodec/fft.h @@ -220,6 +220,7 @@ struct DCTContext { RDFTContext rdft; const float *costab; FFTSample *csc2; + void (*dct_calc)(struct DCTContext *s, FFTSample *data); }; /**