libavcodec/fft-internal.h File Reference

#include "libavutil/intmath.h"
#include "mathops.h"

Go to the source code of this file.

Defines

#define SCALE_FLOAT(a, bits)   lrint((a) * (double)(1 << (bits)))
#define FIX15(a)   av_clip(SCALE_FLOAT(a, 15), -32767, 32767)
#define sqrthalf   ((int16_t)((1<<15)*M_SQRT1_2))
#define BF(x, y, a, b)
#define CMULS(dre, dim, are, aim, bre, bim, sh)
#define CMUL(dre, dim, are, aim, bre, bim)   CMULS(dre, dim, are, aim, bre, bim, 15)
#define CMULL(dre, dim, are, aim, bre, bim)   CMULS(dre, dim, are, aim, bre, bim, 0)
#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_mdct_calcw_c (FFTContext *s, FFTDouble *output, const FFTSample *input)
void ff_imdct_calc_c (FFTContext *s, FFTSample *output, const FFTSample *input)
 Compute inverse MDCT of size N = 2^nbits.
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.
void ff_mdct_calc_c (FFTContext *s, FFTSample *output, const FFTSample *input)
 Compute MDCT of size N = 2^nbits.


Define Documentation

#define BF ( x,
y,
a,
 ) 

Value:

do {                     \
        x = (a - b) >> 1;                       \
        y = (a + b) >> 1;                       \
    } while (0)

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

#define CMUL ( dre,
dim,
are,
aim,
bre,
bim   )     CMULS(dre, dim, are, aim, bre, bim, 15)

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

Referenced by ff_imdct_half_c(), ff_mdct_calc_c(), and ff_mdct_calcw_c().

#define CMULL ( dre,
dim,
are,
aim,
bre,
bim   )     CMULS(dre, dim, are, aim, bre, bim, 0)

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

Referenced by ff_mdct_calcw_c().

#define CMULS ( dre,
dim,
are,
aim,
bre,
bim,
sh   ) 

Value:

do {            \
        (dre) = (MUL16(are, bre) - MUL16(aim, bim)) >> sh;      \
        (dim) = (MUL16(are, bim) + MUL16(aim, bre)) >> sh;      \
    } while (0)

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

#define ff_imdct_calc_c   FFT_NAME(ff_imdct_calc_c)

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

Referenced by ff_fft_init().

#define ff_imdct_half_c   FFT_NAME(ff_imdct_half_c)

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

Referenced by ff_fft_init(), and ff_imdct_calc_c().

#define ff_mdct_calc_c   FFT_NAME(ff_mdct_calc_c)

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

Referenced by ff_fft_init().

#define FIX15 (  )     av_clip(SCALE_FLOAT(a, 15), -32767, 32767)

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

Referenced by ff_init_ff_cos_tabs(), and ff_mdct_init().

#define SCALE_FLOAT ( a,
bits   )     lrint((a) * (double)(1 << (bits)))

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

#define sqrthalf   ((int16_t)((1<<15)*M_SQRT1_2))

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

Referenced by fft16(), and fft8().


Function Documentation

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

Compute inverse MDCT of size N = 2^nbits.

Parameters:
output N samples
input N/2 samples

Definition at line 137 of file mdct.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:
output N/2 samples
input N/2 samples

Definition at line 95 of file mdct.c.

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

Compute MDCT of size N = 2^nbits.

Parameters:
input N samples
out N/2 samples

Definition at line 157 of file mdct.c.

void ff_mdct_calcw_c ( FFTContext s,
FFTDouble output,
const FFTSample input 
)

Definition at line 23 of file mdct_fixed.c.

Referenced by ff_fft_init().


Generated on Fri Oct 26 02:50:05 2012 for FFmpeg by  doxygen 1.5.8