fft_*() renamed into ff_fft_*() patch by (Gildas Bazin <gbazin at altern dot org>)

Originally committed as revision 2882 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Gildas Bazin 21 years ago committed by Michael Niedermayer
parent ebcd2f9689
commit 68951ecf0c
  1. 14
      libavcodec/dsputil.h
  2. 10
      libavcodec/fft-test.c
  3. 18
      libavcodec/fft.c
  4. 2
      libavcodec/i386/fft_sse.c
  5. 8
      libavcodec/mdct.c
  6. 2
      libavcodec/ppc/dsputil_ppc.c
  7. 4
      libavcodec/ppc/fft_altivec.c

@ -508,17 +508,17 @@ typedef struct FFTContext {
void (*fft_calc)(struct FFTContext *s, FFTComplex *z); void (*fft_calc)(struct FFTContext *s, FFTComplex *z);
} FFTContext; } FFTContext;
int fft_init(FFTContext *s, int nbits, int inverse); int ff_fft_init(FFTContext *s, int nbits, int inverse);
void fft_permute(FFTContext *s, FFTComplex *z); void ff_fft_permute(FFTContext *s, FFTComplex *z);
void fft_calc_c(FFTContext *s, FFTComplex *z); void ff_fft_calc_c(FFTContext *s, FFTComplex *z);
void fft_calc_sse(FFTContext *s, FFTComplex *z); void ff_fft_calc_sse(FFTContext *s, FFTComplex *z);
void fft_calc_altivec(FFTContext *s, FFTComplex *z); void ff_fft_calc_altivec(FFTContext *s, FFTComplex *z);
static inline void fft_calc(FFTContext *s, FFTComplex *z) static inline void ff_fft_calc(FFTContext *s, FFTComplex *z)
{ {
s->fft_calc(s, z); s->fft_calc(s, z);
} }
void fft_end(FFTContext *s); void ff_fft_end(FFTContext *s);
/* MDCT computation */ /* MDCT computation */

@ -198,7 +198,7 @@ int main(int argc, char **argv)
printf("IFFT"); printf("IFFT");
else else
printf("FFT"); printf("FFT");
fft_init(s, fft_nbits, do_inverse); ff_fft_init(s, fft_nbits, do_inverse);
fft_ref_init(fft_nbits, do_inverse); fft_ref_init(fft_nbits, do_inverse);
} }
printf(" %d test\n", fft_size); printf(" %d test\n", fft_size);
@ -227,8 +227,8 @@ int main(int argc, char **argv)
} }
} else { } else {
memcpy(tab, tab1, fft_size * sizeof(FFTComplex)); memcpy(tab, tab1, fft_size * sizeof(FFTComplex));
fft_permute(s, tab); ff_fft_permute(s, tab);
fft_calc(s, tab); ff_fft_calc(s, tab);
fft_ref(tab_ref, tab1, fft_nbits); fft_ref(tab_ref, tab1, fft_nbits);
check_diff((float *)tab_ref, (float *)tab, fft_size * 2); check_diff((float *)tab_ref, (float *)tab, fft_size * 2);
@ -254,7 +254,7 @@ int main(int argc, char **argv)
} }
} else { } else {
memcpy(tab, tab1, fft_size * sizeof(FFTComplex)); memcpy(tab, tab1, fft_size * sizeof(FFTComplex));
fft_calc(s, tab); ff_fft_calc(s, tab);
} }
} }
duration = gettime() - time_start; duration = gettime() - time_start;
@ -271,7 +271,7 @@ int main(int argc, char **argv)
if (do_mdct) { if (do_mdct) {
ff_mdct_end(m); ff_mdct_end(m);
} else { } else {
fft_end(s); ff_fft_end(s);
} }
return 0; return 0;
} }

@ -28,7 +28,7 @@
* The size of the FFT is 2^nbits. If inverse is TRUE, inverse FFT is * The size of the FFT is 2^nbits. If inverse is TRUE, inverse FFT is
* done * done
*/ */
int fft_init(FFTContext *s, int nbits, int inverse) int ff_fft_init(FFTContext *s, int nbits, int inverse)
{ {
int i, j, m, n; int i, j, m, n;
float alpha, c1, s1, s2; float alpha, c1, s1, s2;
@ -53,7 +53,7 @@ int fft_init(FFTContext *s, int nbits, int inverse)
s->exptab[i].re = c1; s->exptab[i].re = c1;
s->exptab[i].im = s1; s->exptab[i].im = s1;
} }
s->fft_calc = fft_calc_c; s->fft_calc = ff_fft_calc_c;
s->exptab1 = NULL; s->exptab1 = NULL;
/* compute constant table for HAVE_SSE version */ /* compute constant table for HAVE_SSE version */
@ -94,9 +94,9 @@ int fft_init(FFTContext *s, int nbits, int inverse)
} while (nblocks != 0); } while (nblocks != 0);
av_freep(&s->exptab); av_freep(&s->exptab);
#if defined(HAVE_MMX) #if defined(HAVE_MMX)
s->fft_calc = fft_calc_sse; s->fft_calc = ff_fft_calc_sse;
#else #else
s->fft_calc = fft_calc_altivec; s->fft_calc = ff_fft_calc_altivec;
#endif #endif
} }
} }
@ -142,11 +142,11 @@ int fft_init(FFTContext *s, int nbits, int inverse)
} }
/** /**
* Do a complex FFT with the parameters defined in fft_init(). The * Do a complex FFT with the parameters defined in ff_fft_init(). The
* input data must be permuted before with s->revtab table. No * input data must be permuted before with s->revtab table. No
* 1.0/sqrt(n) normalization is done. * 1.0/sqrt(n) normalization is done.
*/ */
void fft_calc_c(FFTContext *s, FFTComplex *z) void ff_fft_calc_c(FFTContext *s, FFTComplex *z)
{ {
int ln = s->nbits; int ln = s->nbits;
int j, np, np2; int j, np, np2;
@ -221,9 +221,9 @@ void fft_calc_c(FFTContext *s, FFTComplex *z)
} }
/** /**
* Do the permutation needed BEFORE calling fft_calc() * Do the permutation needed BEFORE calling ff_fft_calc()
*/ */
void fft_permute(FFTContext *s, FFTComplex *z) void ff_fft_permute(FFTContext *s, FFTComplex *z)
{ {
int j, k, np; int j, k, np;
FFTComplex tmp; FFTComplex tmp;
@ -241,7 +241,7 @@ void fft_permute(FFTContext *s, FFTComplex *z)
} }
} }
void fft_end(FFTContext *s) void ff_fft_end(FFTContext *s)
{ {
av_freep(&s->revtab); av_freep(&s->revtab);
av_freep(&s->exptab); av_freep(&s->exptab);

@ -42,7 +42,7 @@ static void print_v4sf(const char *str, __m128 a)
#endif #endif
/* XXX: handle reverse case */ /* XXX: handle reverse case */
void fft_calc_sse(FFTContext *s, FFTComplex *z) void ff_fft_calc_sse(FFTContext *s, FFTComplex *z)
{ {
int ln = s->nbits; int ln = s->nbits;
int j, np, np2; int j, np, np2;

@ -48,7 +48,7 @@ int ff_mdct_init(MDCTContext *s, int nbits, int inverse)
s->tcos[i] = -cos(alpha); s->tcos[i] = -cos(alpha);
s->tsin[i] = -sin(alpha); s->tsin[i] = -sin(alpha);
} }
if (fft_init(&s->fft, s->nbits - 2, inverse) < 0) if (ff_fft_init(&s->fft, s->nbits - 2, inverse) < 0)
goto fail; goto fail;
return 0; return 0;
fail: fail:
@ -98,7 +98,7 @@ void ff_imdct_calc(MDCTContext *s, FFTSample *output,
in1 += 2; in1 += 2;
in2 -= 2; in2 -= 2;
} }
fft_calc(&s->fft, z); ff_fft_calc(&s->fft, z);
/* post rotation + reordering */ /* post rotation + reordering */
/* XXX: optimize */ /* XXX: optimize */
@ -155,7 +155,7 @@ void ff_mdct_calc(MDCTContext *s, FFTSample *out,
CMUL(x[j].re, x[j].im, re, im, -tcos[n8 + i], tsin[n8 + i]); CMUL(x[j].re, x[j].im, re, im, -tcos[n8 + i], tsin[n8 + i]);
} }
fft_calc(&s->fft, x); ff_fft_calc(&s->fft, x);
/* post rotation */ /* post rotation */
for(i=0;i<n4;i++) { for(i=0;i<n4;i++) {
@ -171,5 +171,5 @@ void ff_mdct_end(MDCTContext *s)
{ {
av_freep(&s->tcos); av_freep(&s->tcos);
av_freep(&s->tsin); av_freep(&s->tsin);
fft_end(&s->fft); ff_fft_end(&s->fft);
} }

@ -46,7 +46,7 @@ int mm_support(void)
unsigned long long perfdata[POWERPC_NUM_PMC_ENABLED][powerpc_perf_total][powerpc_data_total]; unsigned long long perfdata[POWERPC_NUM_PMC_ENABLED][powerpc_perf_total][powerpc_data_total];
/* list below must match enum in dsputil_ppc.h */ /* list below must match enum in dsputil_ppc.h */
static unsigned char* perfname[] = { static unsigned char* perfname[] = {
"fft_calc_altivec", "ff_fft_calc_altivec",
"gmc1_altivec", "gmc1_altivec",
"dct_unquantize_h263_altivec", "dct_unquantize_h263_altivec",
"fdct_altivec", "fdct_altivec",

@ -50,7 +50,7 @@
/** /**
* Do a complex FFT with the parameters defined in fft_init(). The * Do a complex FFT with the parameters defined in ff_fft_init(). The
* input data must be permuted before with s->revtab table. No * input data must be permuted before with s->revtab table. No
* 1.0/sqrt(n) normalization is done. * 1.0/sqrt(n) normalization is done.
* AltiVec-enabled * AltiVec-enabled
@ -60,7 +60,7 @@
* that successive MUL + ADD/SUB have been merged into * that successive MUL + ADD/SUB have been merged into
* fused multiply-add ('vec_madd' in altivec) * fused multiply-add ('vec_madd' in altivec)
*/ */
void fft_calc_altivec(FFTContext *s, FFTComplex *z) void ff_fft_calc_altivec(FFTContext *s, FFTComplex *z)
{ {
POWERPC_PERF_DECLARE(altivec_fft_num, s->nbits >= 6); POWERPC_PERF_DECLARE(altivec_fft_num, s->nbits >= 6);
#ifdef ALTIVEC_USE_REFERENCE_C_CODE #ifdef ALTIVEC_USE_REFERENCE_C_CODE

Loading…
Cancel
Save