World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
+ Граф связей класса FFT functions:

Файлы

файл  avfft.h
 

Классы

struct  FFTComplex
 

Определения типов

typedef float FFTSample
 
typedef struct FFTComplex FFTComplex
 
typedef struct FFTContext FFTContext
 
typedef struct RDFTContext RDFTContext
 
typedef struct DCTContext DCTContext
 

Перечисления

enum  RDFTransformType { DFT_R2C, IDFT_C2R, IDFT_R2C, DFT_C2R }
 
enum  DCTTransformType { DCT_II = 0, DCT_III, DCT_I, DST_I }
 

Функции

FFTContextav_fft_init (int nbits, int inverse)
 
void av_fft_permute (FFTContext *s, FFTComplex *z)
 
void av_fft_calc (FFTContext *s, FFTComplex *z)
 
void av_fft_end (FFTContext *s)
 
FFTContextav_mdct_init (int nbits, int inverse, double scale)
 
void av_imdct_calc (FFTContext *s, FFTSample *output, const FFTSample *input)
 
void av_imdct_half (FFTContext *s, FFTSample *output, const FFTSample *input)
 
void av_mdct_calc (FFTContext *s, FFTSample *output, const FFTSample *input)
 
void av_mdct_end (FFTContext *s)
 
RDFTContextav_rdft_init (int nbits, enum RDFTransformType trans)
 
void av_rdft_calc (RDFTContext *s, FFTSample *data)
 
void av_rdft_end (RDFTContext *s)
 
DCTContextav_dct_init (int nbits, enum DCTTransformType type)
 
void av_dct_calc (DCTContext *s, FFTSample *data)
 
void av_dct_end (DCTContext *s)
 

Подробное описание

Типы

◆ FFTSample

typedef float FFTSample

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavcodec/avfft.h>

См. определение в файле avfft.h строка 35

◆ FFTComplex

◆ FFTContext

typedef struct FFTContext FFTContext

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavcodec/avfft.h>

См. определение в файле avfft.h строка 41

◆ RDFTContext

typedef struct RDFTContext RDFTContext

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavcodec/avfft.h>

См. определение в файле avfft.h строка 78

◆ DCTContext

typedef struct DCTContext DCTContext

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavcodec/avfft.h>

См. определение в файле avfft.h строка 91

Перечисления

◆ RDFTransformType

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavcodec/avfft.h>

Элементы перечислений
DFT_R2C 
IDFT_C2R 
IDFT_R2C 
DFT_C2R 

См. определение в файле avfft.h строка 71

71  {
72  DFT_R2C,
73  IDFT_C2R,
74  IDFT_R2C,
75  DFT_C2R,
76 };

◆ DCTTransformType

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavcodec/avfft.h>

Элементы перечислений
DCT_II 
DCT_III 
DCT_I 
DST_I 

См. определение в файле avfft.h строка 93

93  {
94  DCT_II = 0,
95  DCT_III,
96  DCT_I,
97  DST_I,
98 };

Функции

◆ av_fft_init()

FFTContext* av_fft_init ( int  nbits,
int  inverse 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavcodec/avfft.h>

Set up a complex FFT.

Аргументы
nbitslog2 of the length of the input array
inverseif 0 perform the forward transform, if 1 perform the inverse

◆ av_fft_permute()

void av_fft_permute ( FFTContext s,
FFTComplex z 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavcodec/avfft.h>

Do the permutation needed BEFORE calling ff_fft_calc().

◆ av_fft_calc()

void av_fft_calc ( FFTContext s,
FFTComplex z 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavcodec/avfft.h>

Do a complex FFT with the parameters defined in av_fft_init(). The input data must be permuted before. No 1.0/sqrt(n) normalization is done.

◆ av_fft_end()

◆ av_mdct_init()

FFTContext* av_mdct_init ( int  nbits,
int  inverse,
double  scale 
)

◆ av_imdct_calc()

◆ av_imdct_half()

◆ av_mdct_calc()

◆ av_mdct_end()

◆ av_rdft_init()

RDFTContext* av_rdft_init ( int  nbits,
enum RDFTransformType  trans 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavcodec/avfft.h>

Set up a real FFT.

Аргументы
nbitslog2 of the length of the input array
transthe type of transform

◆ av_rdft_calc()

◆ av_rdft_end()

◆ av_dct_init()

DCTContext* av_dct_init ( int  nbits,
enum DCTTransformType  type 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavcodec/avfft.h>

Set up DCT.

Аргументы
nbitssize of the input array: (1 << nbits) for DCT-II, DCT-III and DST-I (1 << nbits) + 1 for DCT-I
typethe type of transform
Заметки
the first element of the input of DST-I is ignored

◆ av_dct_calc()

◆ av_dct_end()

DCT_I
@ DCT_I
Definition: avfft.h:96
DFT_C2R
@ DFT_C2R
Definition: avfft.h:75
DCT_III
@ DCT_III
Definition: avfft.h:95
IDFT_C2R
@ IDFT_C2R
Definition: avfft.h:73
IDFT_R2C
@ IDFT_R2C
Definition: avfft.h:74
DFT_R2C
@ DFT_R2C
Definition: avfft.h:72
DST_I
@ DST_I
Definition: avfft.h:97
DCT_II
@ DCT_II
Definition: avfft.h:94