libavcodec/mdct.c File Reference

MDCT/IMDCT transforms. More...

#include <stdlib.h>
#include <string.h>
#include "libavutil/common.h"
#include "libavutil/mathematics.h"
#include "fft.h"
#include "mdct_tablegen.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 int ff_mdct_init (FFTContext *s, int nbits, int inverse, double scale)
 init MDCT or IMDCT computation.
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_imdct_calc_c (FFTContext *s, FFTSample *output, const FFTSample *input)
 Compute inverse MDCT of size N = 2^nbits.
void ff_mdct_calc_c (FFTContext *s, FFTSample *out, const FFTSample *input)
 Compute MDCT of size N = 2^nbits.
av_cold void ff_mdct_end (FFTContext *s)


Detailed Description

MDCT/IMDCT transforms.

Definition in file mdct.c.


Define Documentation

#define BESSEL_I0_ITER   50

Definition at line 34 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 108 of file mdct.c.


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 166 of file mdct.c.

Referenced by ff_fft_init().

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 124 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 35 of file mdct.c.

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

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 186 of file mdct.c.

Referenced by ff_fft_init().

av_cold void ff_mdct_end ( FFTContext s  ) 

av_cold int ff_mdct_init ( FFTContext s,
int  nbits,
int  inverse,
double  scale 
)


Generated on Fri Oct 26 02:36:52 2012 for FFmpeg by  doxygen 1.5.8