FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
imdct15.c File Reference

Celt non-power of 2 iMDCT. More...

#include <float.h>
#include <math.h>
#include <stddef.h>
#include "config.h"
#include "libavutil/attributes.h"
#include "libavutil/common.h"
#include "imdct15.h"

Go to the source code of this file.

Macros

#define CMUL3(cre, cim, are, aim, bre, bim)
 
#define CMUL(c, a, b)   CMUL3((c).re, (c).im, (a).re, (a).im, (b).re, (b).im)
 

Functions

av_cold void ff_imdct15_uninit (IMDCT15Context **ps)
 Free an iMDCT. More...
 
static void imdct15_half (IMDCT15Context *s, float *dst, const float *src, ptrdiff_t stride, float scale)
 
static int init_pfa_reindex_tabs (IMDCT15Context *s)
 
av_cold int ff_imdct15_init (IMDCT15Context **ps, int N)
 Init an iMDCT of the length 2 * 15 * (2^N) More...
 
static void fft5 (const FFTComplex exptab[2], FFTComplex *out, const FFTComplex *in)
 
static void fft15 (const FFTComplex exptab[22], FFTComplex *out, const FFTComplex *in, size_t stride)
 

Detailed Description

Celt non-power of 2 iMDCT.

Definition in file imdct15.c.

Macro Definition Documentation

#define CMUL3 (   cre,
  cim,
  are,
  aim,
  bre,
  bim 
)
Value:
do { \
cre = are * bre - aim * bim; \
cim = are * bim + aim * bre; \
} while (0)

Definition at line 39 of file imdct15.c.

Referenced by imdct15_half().

#define CMUL (   c,
  a,
  b 
)    CMUL3((c).re, (c).im, (a).re, (a).im, (b).re, (b).im)

Definition at line 45 of file imdct15.c.

Referenced by fft15(), and imdct15_half().

Function Documentation

av_cold void ff_imdct15_uninit ( IMDCT15Context **  ps)

Free an iMDCT.

Definition at line 47 of file imdct15.c.

Referenced by aac_decode_close(), ff_celt_free(), and ff_imdct15_init().

static void imdct15_half ( IMDCT15Context s,
float *  dst,
const float *  src,
ptrdiff_t  stride,
float  scale 
)
static

Definition at line 244 of file imdct15.c.

Referenced by ff_imdct15_init().

static int init_pfa_reindex_tabs ( IMDCT15Context s)
inlinestatic

Definition at line 67 of file imdct15.c.

Referenced by ff_imdct15_init().

av_cold int ff_imdct15_init ( IMDCT15Context **  ps,
int  N 
)

Init an iMDCT of the length 2 * 15 * (2^N)

Definition at line 98 of file imdct15.c.

Referenced by aac_decode_init(), and ff_celt_init().

static void fft5 ( const FFTComplex  exptab[2],
FFTComplex out,
const FFTComplex in 
)
inlinestatic

Definition at line 168 of file imdct15.c.

Referenced by fft15().

static void fft15 ( const FFTComplex  exptab[22],
FFTComplex out,
const FFTComplex in,
size_t  stride 
)
inlinestatic

Definition at line 214 of file imdct15.c.

Referenced by imdct15_half().