comparison ppc/fft_altivec.c @ 1879:dd63cb7e5080 libavcodec

fft_*() renamed into ff_fft_*() patch by (Gildas Bazin <gbazin at altern dot org>)
author michael
date Sat, 13 Mar 2004 21:43:24 +0000
parents e8ff4783f188
children ef2149182f1c
comparison
equal deleted inserted replaced
1878:838c18d1e7fc 1879:dd63cb7e5080
48 pim = (MUL16(are, bim) + MUL16(bre, aim));\ 48 pim = (MUL16(are, bim) + MUL16(bre, aim));\
49 } 49 }
50 50
51 51
52 /** 52 /**
53 * Do a complex FFT with the parameters defined in fft_init(). The 53 * Do a complex FFT with the parameters defined in ff_fft_init(). The
54 * input data must be permuted before with s->revtab table. No 54 * input data must be permuted before with s->revtab table. No
55 * 1.0/sqrt(n) normalization is done. 55 * 1.0/sqrt(n) normalization is done.
56 * AltiVec-enabled 56 * AltiVec-enabled
57 * This code assumes that the 'z' pointer is 16 bytes-aligned 57 * This code assumes that the 'z' pointer is 16 bytes-aligned
58 * It also assumes all FFTComplex are 8 bytes-aligned pair of float 58 * It also assumes all FFTComplex are 8 bytes-aligned pair of float
59 * The code is exactly the same as the SSE version, except 59 * The code is exactly the same as the SSE version, except
60 * that successive MUL + ADD/SUB have been merged into 60 * that successive MUL + ADD/SUB have been merged into
61 * fused multiply-add ('vec_madd' in altivec) 61 * fused multiply-add ('vec_madd' in altivec)
62 */ 62 */
63 void fft_calc_altivec(FFTContext *s, FFTComplex *z) 63 void ff_fft_calc_altivec(FFTContext *s, FFTComplex *z)
64 { 64 {
65 POWERPC_PERF_DECLARE(altivec_fft_num, s->nbits >= 6); 65 POWERPC_PERF_DECLARE(altivec_fft_num, s->nbits >= 6);
66 #ifdef ALTIVEC_USE_REFERENCE_C_CODE 66 #ifdef ALTIVEC_USE_REFERENCE_C_CODE
67 int ln = s->nbits; 67 int ln = s->nbits;
68 int j, np, np2; 68 int j, np, np2;