|
|
@ -53,6 +53,9 @@ COSTABLE_CONST FFTSample * const ff_cos_tabs[] = { |
|
|
|
ff_cos_2048, ff_cos_4096, ff_cos_8192, ff_cos_16384, ff_cos_32768, ff_cos_65536, |
|
|
|
ff_cos_2048, ff_cos_4096, ff_cos_8192, ff_cos_16384, ff_cos_32768, ff_cos_65536, |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static void ff_fft_permute_c(FFTContext *s, FFTComplex *z); |
|
|
|
|
|
|
|
static void ff_fft_calc_c(FFTContext *s, FFTComplex *z); |
|
|
|
|
|
|
|
|
|
|
|
static int split_radix_permutation(int i, int n, int inverse) |
|
|
|
static int split_radix_permutation(int i, int n, int inverse) |
|
|
|
{ |
|
|
|
{ |
|
|
|
int m; |
|
|
|
int m; |
|
|
@ -120,7 +123,7 @@ av_cold int ff_fft_init(FFTContext *s, int nbits, int inverse) |
|
|
|
return -1; |
|
|
|
return -1; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void ff_fft_permute_c(FFTContext *s, FFTComplex *z) |
|
|
|
static void ff_fft_permute_c(FFTContext *s, FFTComplex *z) |
|
|
|
{ |
|
|
|
{ |
|
|
|
int j, np; |
|
|
|
int j, np; |
|
|
|
const uint16_t *revtab = s->revtab; |
|
|
|
const uint16_t *revtab = s->revtab; |
|
|
@ -289,7 +292,7 @@ static void (* const fft_dispatch[])(FFTComplex*) = { |
|
|
|
fft2048, fft4096, fft8192, fft16384, fft32768, fft65536, |
|
|
|
fft2048, fft4096, fft8192, fft16384, fft32768, fft65536, |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
void ff_fft_calc_c(FFTContext *s, FFTComplex *z) |
|
|
|
static void ff_fft_calc_c(FFTContext *s, FFTComplex *z) |
|
|
|
{ |
|
|
|
{ |
|
|
|
fft_dispatch[s->nbits-2](z); |
|
|
|
fft_dispatch[s->nbits-2](z); |
|
|
|
} |
|
|
|
} |
|
|
|