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.
 DECLARE_ALIGNED (16, float, ff_sine_128[128])
 DECLARE_ALIGNED (16, float, ff_sine_256[256])
 DECLARE_ALIGNED (16, float, ff_sine_512[512])
 DECLARE_ALIGNED (16, float, ff_sine_1024[1024])
 DECLARE_ALIGNED (16, float, ff_sine_2048[2048])
 DECLARE_ALIGNED (16, float, ff_sine_4096[4096])
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_c (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_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

DECLARE_ALIGNED ( 16  ,
float  ,
ff_sine_4096  [4096] 
)
DECLARE_ALIGNED ( 16  ,
float  ,
ff_sine_2048  [2048] 
)
DECLARE_ALIGNED ( 16  ,
float  ,
ff_sine_1024  [1024] 
)
DECLARE_ALIGNED ( 16  ,
float  ,
ff_sine_512  [512] 
)
DECLARE_ALIGNED ( 16  ,
float  ,
ff_sine_256  [256] 
)
DECLARE_ALIGNED ( 16  ,
float  ,
ff_sine_128  [128] 
)
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_c ( 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 ff_fft_init().

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_windows[6]
Initial value:

Definition at line 57 of file mdct.c.

Referenced by ff_wma_init().

Generated on Wed Dec 21 18:42:31 2011 for ffmpeg by  doxygen 1.6.3