libavcodec/mdct.c File Reference

MDCT/IMDCT transforms. More...

#include "dsputil.h"

Go to the source code of this file.

Defines

#define BESSEL_I0_ITER   50
#define CMUL(pre, pim, are, aim, bre, bim)

Functions

av_cold void ff_kbd_window_init (float *window, float alpha, int n)
 Generate a Kaiser-Bessel Derived Window.
av_cold void ff_sine_window_init (float *window, int n)
 Generate a sine window.
av_cold int ff_mdct_init (MDCTContext *s, int nbits, int inverse)
 init MDCT or IMDCT computation.
void ff_imdct_half_c (MDCTContext *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_imdct_calc_c (MDCTContext *s, FFTSample *output, const FFTSample *input)
 Compute inverse MDCT of size N = 2^nbits.
void ff_mdct_calc (MDCTContext *s, FFTSample *out, const FFTSample *input)
 Compute MDCT of size N = 2^nbits.
av_cold void ff_mdct_end (MDCTContext *s)

Variables

float ff_sine_128 [128]
float ff_sine_256 [256]
float ff_sine_512 [512]
float ff_sine_1024 [1024]
float ff_sine_2048 [2048]
float ff_sine_4096 [4096]
float * ff_sine_windows [6]


Detailed Description

MDCT/IMDCT transforms.

Definition in file mdct.c.


Define Documentation

#define BESSEL_I0_ITER   50

Definition at line 29 of file mdct.c.

Referenced by ff_kbd_window_init().

#define CMUL ( pre,
pim,
are,
aim,
bre,
bim   ) 

Value:

{\
    FFTSample _are = (are);\
    FFTSample _aim = (aim);\
    FFTSample _bre = (bre);\
    FFTSample _bim = (bim);\
    (pre) = _are * _bre - _aim * _bim;\
    (pim) = _are * _bim + _aim * _bre;\
}

Definition at line 103 of file mdct.c.


Function Documentation

void ff_imdct_calc_c ( MDCTContext 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 162 of file mdct.c.

Referenced by ff_fft_init().

void ff_imdct_half_c ( MDCTContext 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 119 of file mdct.c.

Referenced by ff_fft_init(), and ff_imdct_calc_c().

av_cold void ff_kbd_window_init ( float *  window,
float  alpha,
int  n 
)

Generate a Kaiser-Bessel Derived Window.

Parameters:
window pointer to half window
alpha determines window shape
n size of half window

Definition at line 30 of file mdct.c.

Referenced by aac_decode_init(), aac_encode_init(), and ac3_decode_init().

void ff_mdct_calc ( MDCTContext s,
FFTSample out,
const FFTSample input 
)

Compute MDCT of size N = 2^nbits.

Parameters:
input N samples
out N/2 samples

Definition at line 182 of file mdct.c.

Referenced by apply_mdct(), apply_window_and_mdct(), and main().

av_cold void ff_mdct_end ( MDCTContext s  ) 

av_cold int ff_mdct_init ( MDCTContext s,
int  nbits,
int  inverse 
)

av_cold void ff_sine_window_init ( float *  window,
int  n 
)

Generate a sine window.

Parameters:
window pointer to half window
n size of half window

Definition at line 62 of file mdct.c.

Referenced by aac_decode_init(), aac_encode_init(), decode_init(), encode_init(), ff_wma_init(), imc_decode_init(), and init_cook_mlt().


Variable Documentation

float ff_sine_1024[1024]

Definition at line 54 of file mdct.c.

Referenced by aac_decode_init(), aac_encode_init(), and imdct_and_windowing().

float ff_sine_128[128]

float ff_sine_2048[2048]

Definition at line 55 of file mdct.c.

float ff_sine_256[256]

Definition at line 52 of file mdct.c.

float ff_sine_4096[4096]

Definition at line 56 of file mdct.c.

float ff_sine_512[512]

Definition at line 53 of file mdct.c.

float* ff_sine_windows[6]

Initial value:

Definition at line 57 of file mdct.c.

Referenced by ff_wma_init().


Generated on Fri Oct 26 02:35:43 2012 for FFmpeg by  doxygen 1.5.8