FFmpeg
Macros | Functions
fft-internal.h File Reference
#include "libavutil/mathematics.h"
#include "fft.h"

Go to the source code of this file.

Macros

#define FIX15(v)   (v)
 
#define sqrthalf   (float)M_SQRT1_2
 
#define BF(x, y, a, b)
 
#define CMUL(dre, dim, are, aim, bre, bim)
 
#define ff_imdct_calc_c   FFT_NAME(ff_imdct_calc_c)
 
#define ff_imdct_half_c   FFT_NAME(ff_imdct_half_c)
 
#define ff_mdct_calc_c   FFT_NAME(ff_mdct_calc_c)
 

Functions

void ff_imdct_calc_c (FFTContext *s, FFTSample *output, const FFTSample *input)
 Compute inverse MDCT of size N = 2^nbits. More...
 
void ff_imdct_half_c (FFTContext *s, FFTSample *output, const FFTSample *input)
 Compute the middle half of the inverse MDCT of size N = 2^nbits, thus excluding the parts that can be derived by symmetry. More...
 
void ff_mdct_calc_c (FFTContext *s, FFTSample *output, const FFTSample *input)
 Compute MDCT of size N = 2^nbits. More...
 

Macro Definition Documentation

◆ FIX15

#define FIX15 (   v)    (v)

Definition at line 27 of file fft-internal.h.

◆ sqrthalf

#define sqrthalf   (float)M_SQRT1_2

Definition at line 28 of file fft-internal.h.

◆ BF

#define BF (   x,
  y,
  a,
  b 
)
Value:
do { \
x = a - b; \
y = a + b; \
} while (0)

Definition at line 30 of file fft-internal.h.

◆ CMUL

#define CMUL (   dre,
  dim,
  are,
  aim,
  bre,
  bim 
)
Value:
do { \
(dre) = (are) * (bre) - (aim) * (bim); \
(dim) = (are) * (bim) + (aim) * (bre); \
} while (0)

Definition at line 35 of file fft-internal.h.

◆ ff_imdct_calc_c

#define ff_imdct_calc_c   FFT_NAME(ff_imdct_calc_c)

Definition at line 54 of file fft-internal.h.

◆ ff_imdct_half_c

#define ff_imdct_half_c   FFT_NAME(ff_imdct_half_c)

Definition at line 55 of file fft-internal.h.

◆ ff_mdct_calc_c

#define ff_mdct_calc_c   FFT_NAME(ff_mdct_calc_c)

Definition at line 56 of file fft-internal.h.

Function Documentation

◆ ff_imdct_calc_c()

void ff_imdct_calc_c ( FFTContext s,
FFTSample output,
const FFTSample input 
)

Compute inverse MDCT of size N = 2^nbits.

Parameters
outputN samples
inputN/2 samples

Definition at line 143 of file mdct_template.c.

◆ ff_imdct_half_c()

void ff_imdct_half_c ( FFTContext s,
FFTSample output,
const FFTSample input 
)

Compute the middle half of the inverse MDCT of size N = 2^nbits, thus excluding the parts that can be derived by symmetry.

Parameters
outputN/2 samples
inputN/2 samples

Definition at line 101 of file mdct_template.c.

Referenced by ff_imdct_calc_c().

◆ ff_mdct_calc_c()

void ff_mdct_calc_c ( FFTContext s,
FFTSample out,
const FFTSample input 
)

Compute MDCT of size N = 2^nbits.

Parameters
inputN samples
outN/2 samples

Definition at line 163 of file mdct_template.c.

b
#define b
Definition: input.c:41
a
The reader does not expect b to be semantically here and if the code is changed by maybe adding a a division or other the signedness will almost certainly be mistaken To avoid this confusion a new type was SUINT is the C unsigned type but it holds a signed int to use the same example SUINT a
Definition: undefined.txt:41
dim
int dim
Definition: vorbis_enc_data.h:425