FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
mdct15.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 "avfft.h"
#include "mdct15.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_mdct15_uninit (MDCT15Context **ps)
 Frees a context. More...
 
static void mdct15 (MDCT15Context *s, float *dst, const float *src, ptrdiff_t stride)
 
static void imdct15_half (MDCT15Context *s, float *dst, const float *src, ptrdiff_t stride, float scale)
 
static int init_pfa_reindex_tabs (MDCT15Context *s)
 
av_cold int ff_mdct15_init (MDCT15Context **ps, int inverse, int N, double scale)
 Init an (i)MDCT 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 mdct15.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 40 of file mdct15.c.

Referenced by imdct15_half(), and mdct15().

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

Definition at line 46 of file mdct15.c.

Referenced by fft15(), and imdct15_half().

Function Documentation

av_cold void ff_mdct15_uninit ( MDCT15Context **  ps)

Frees a context.

Definition at line 48 of file mdct15.c.

Referenced by aac_decode_close(), ff_celt_free(), ff_mdct15_init(), and opus_encode_end().

static void mdct15 ( MDCT15Context s,
float *  dst,
const float *  src,
ptrdiff_t  stride 
)
static

Definition at line 256 of file mdct15.c.

Referenced by ff_mdct15_init().

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

Definition at line 300 of file mdct15.c.

Referenced by ff_mdct15_init().

static int init_pfa_reindex_tabs ( MDCT15Context s)
inlinestatic

Definition at line 70 of file mdct15.c.

Referenced by ff_mdct15_init().

av_cold int ff_mdct15_init ( MDCT15Context **  ps,
int  inverse,
int  N,
double  scale 
)

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

Definition at line 101 of file mdct15.c.

Referenced by aac_decode_init(), ff_celt_init(), and opus_encode_init().

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

Definition at line 181 of file mdct15.c.

Referenced by fft15().

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

Definition at line 227 of file mdct15.c.

Referenced by imdct15_half(), and mdct15().