FFmpeg
|
#include <stdlib.h>
#include <string.h>
#include "libavutil/mathematics.h"
#include "libavutil/thread.h"
#include "fft.h"
#include "fft-internal.h"
Go to the source code of this file.
Data Structures | |
struct | CosTabsInitOnce |
Macros | |
#define | INIT_FF_COS_TABS_FUNC(index, size) |
#define | PROCESS_FFT_PERM_SWAP_LSBS(num) |
#define | PROCESS_FFT_PERM_DEFAULT(num) |
#define | SPLIT_RADIX_PERMUTATION(num) |
#define | BUTTERFLIES(a0, a1, a2, a3) |
#define | BUTTERFLIES_BIG(a0, a1, a2, a3) |
#define | TRANSFORM(a0, a1, a2, a3, wre, wim) |
#define | TRANSFORM_ZERO(a0, a1, a2, a3) |
#define | PASS(name) |
#define | BUTTERFLIES BUTTERFLIES_BIG |
#define | DECL_FFT(n, n2, n4) |
#define | pass pass_big |
Functions | |
COSTABLE (16) | |
COSTABLE (32) | |
COSTABLE (64) | |
COSTABLE (128) | |
COSTABLE (256) | |
COSTABLE (512) | |
COSTABLE (1024) | |
COSTABLE (2048) | |
COSTABLE (4096) | |
COSTABLE (8192) | |
COSTABLE (16384) | |
COSTABLE (32768) | |
COSTABLE (65536) | |
COSTABLE (131072) | |
static av_cold void | init_ff_cos_tabs (int index) |
av_cold void | ff_init_ff_cos_tabs (int index) |
Initialize the cosine table in ff_cos_tabs[index]. More... | |
COSTABLE_CONST FFTSample *const | FFT_NAME (ff_cos_tabs)[] |
static void | fft_permute_c (FFTContext *s, FFTComplex *z) |
static void | fft_calc_c (FFTContext *s, FFTComplex *z) |
static int | split_radix_permutation (int i, int n, int inverse) |
static int | is_second_half_of_fft32 (int i, int n) |
static av_cold void | fft_perm_avx (FFTContext *s) |
av_cold int | ff_fft_init (FFTContext *s, int nbits, int inverse) |
Set up a complex FFT. More... | |
av_cold void | ff_fft_end (FFTContext *s) |
static void | fft4 (FFTComplex *z) |
static void | fft8 (FFTComplex *z) |
static void | fft16 (FFTComplex *z) |
Variables | |
static CosTabsInitOnce | cos_tabs_init_once [] |
static const int | avx_tab [] |
static void(*const | fft_dispatch [])(FFTComplex *) |
FFT/IFFT transforms.
Definition in file fft_template.c.
Definition at line 74 of file fft_template.c.
#define PROCESS_FFT_PERM_SWAP_LSBS | ( | num | ) |
#define PROCESS_FFT_PERM_DEFAULT | ( | num | ) |
#define SPLIT_RADIX_PERMUTATION | ( | num | ) |
#define PASS | ( | name | ) |
Definition at line 517 of file fft_template.c.
#define BUTTERFLIES BUTTERFLIES_BIG |
Definition at line 541 of file fft_template.c.
#define DECL_FFT | ( | n, | |
n2, | |||
n4 | |||
) |
Definition at line 545 of file fft_template.c.
#define pass pass_big |
Definition at line 608 of file fft_template.c.
COSTABLE | ( | 16 | ) |
COSTABLE | ( | 32 | ) |
COSTABLE | ( | 64 | ) |
COSTABLE | ( | 128 | ) |
COSTABLE | ( | 256 | ) |
COSTABLE | ( | 512 | ) |
COSTABLE | ( | 1024 | ) |
COSTABLE | ( | 2048 | ) |
COSTABLE | ( | 4096 | ) |
COSTABLE | ( | 8192 | ) |
COSTABLE | ( | 16384 | ) |
COSTABLE | ( | 32768 | ) |
COSTABLE | ( | 65536 | ) |
COSTABLE | ( | 131072 | ) |
Definition at line 57 of file fft_template.c.
Initialize the cosine table in ff_cos_tabs[index].
index | index in ff_cos_tabs array of the table to initialize |
Definition at line 116 of file fft_template.c.
Referenced by ff_fft_init().
COSTABLE_CONST FFTSample* const FFT_NAME | ( | ff_cos_tabs | ) |
Referenced by fft16(), and init_ff_cos_tabs().
|
static |
Definition at line 298 of file fft_template.c.
Referenced by ff_fft_init().
|
static |
Definition at line 624 of file fft_template.c.
Referenced by ff_fft_init().
Definition at line 144 of file fft_template.c.
Referenced by fft_perm_avx().
Definition at line 160 of file fft_template.c.
Referenced by fft_perm_avx().
|
static |
Definition at line 172 of file fft_template.c.
Referenced by ff_fft_init().
av_cold int ff_fft_init | ( | FFTContext * | s, |
int | nbits, | ||
int | inverse | ||
) |
Set up a complex FFT.
nbits | log2 of the length of the input array |
inverse | if 0 perform the forward transform, if 1 perform the inverse |
Definition at line 194 of file fft_template.c.
av_cold void ff_fft_end | ( | FFTContext * | s | ) |
Definition at line 313 of file fft_template.c.
|
static |
Definition at line 554 of file fft_template.c.
|
static |
Definition at line 568 of file fft_template.c.
Referenced by fft16().
|
static |
Definition at line 584 of file fft_template.c.
|
static |
Definition at line 95 of file fft_template.c.
Referenced by ff_init_ff_cos_tabs().
|
static |
Definition at line 156 of file fft_template.c.
Referenced by fft_perm_avx().
|
static |
Definition at line 619 of file fft_template.c.
Referenced by fft_calc_c().