mpegaudiodec_mmx.c File Reference

Go to the source code of this file.

Macros

#define MACS(rt, ra, rb)   rt+=(ra)*(rb)
#define MLSS(rt, ra, rb)   rt-=(ra)*(rb)
#define SUM8(op, sum, w, p)
#define MULT(a, b)
#define SUMS(suma, sumb, sumc, sumd, out1, out2)

Functions

void ff_imdct36_float_sse (float *out, float *buf, float *in, float *win)
void ff_imdct36_float_sse2 (float *out, float *buf, float *in, float *win)
void ff_imdct36_float_sse3 (float *out, float *buf, float *in, float *win)
void ff_imdct36_float_ssse3 (float *out, float *buf, float *in, float *win)
void ff_imdct36_float_avx (float *out, float *buf, float *in, float *win)
void ff_four_imdct36_float_sse (float *out, float *buf, float *in, float *win, float *tmpbuf)
void ff_four_imdct36_float_avx (float *out, float *buf, float *in, float *win, float *tmpbuf)
static void apply_window (const float *buf, const float *win1, const float *win2, float *sum1, float *sum2, int len)
static void apply_window_mp3 (float *in, float *win, int *unused, float *out, int incr)
void ff_mpadsp_init_mmx (MPADSPContext *s)

Variables

static float mdct_win_sse [2][4][4 *40]

Macro Definition Documentation

#define MACS (   rt,
  ra,
  rb 
)    rt+=(ra)*(rb)

Definition at line 39 of file mpegaudiodec_mmx.c.

Referenced by apply_window_mp3().

#define MLSS (   rt,
  ra,
  rb 
)    rt-=(ra)*(rb)

Definition at line 40 of file mpegaudiodec_mmx.c.

Referenced by apply_window_mp3().

#define MULT (   a,
  b 
)
Value:
"movaps " #a "(%1,%0), %%xmm1 \n\t" \
"movaps " #a "(%3,%0), %%xmm2 \n\t" \
"mulps %%xmm2, %%xmm1 \n\t" \
"subps %%xmm1, %%xmm0 \n\t" \
"mulps " #b "(%2,%0), %%xmm2 \n\t" \
"subps %%xmm2, %%xmm4 \n\t" \
#define SUM8 (   op,
  sum,
  w,
 
)
Value:
{ \
op(sum, (w)[0 * 64], (p)[0 * 64]); \
op(sum, (w)[1 * 64], (p)[1 * 64]); \
op(sum, (w)[2 * 64], (p)[2 * 64]); \
op(sum, (w)[3 * 64], (p)[3 * 64]); \
op(sum, (w)[4 * 64], (p)[4 * 64]); \
op(sum, (w)[5 * 64], (p)[5 * 64]); \
op(sum, (w)[6 * 64], (p)[6 * 64]); \
op(sum, (w)[7 * 64], (p)[7 * 64]); \
}

Definition at line 42 of file mpegaudiodec_mmx.c.

Referenced by apply_window_mp3().

#define SUMS (   suma,
  sumb,
  sumc,
  sumd,
  out1,
  out2 
)
Value:
"movups " #sumd "(%4), %%xmm0 \n\t" \
"shufps $0x1b, %%xmm0, %%xmm0 \n\t" \
"subps " #suma "(%1), %%xmm0 \n\t" \
"movaps %%xmm0," #out1 "(%0) \n\t" \
\
"movups " #sumc "(%3), %%xmm0 \n\t" \
"shufps $0x1b, %%xmm0, %%xmm0 \n\t" \
"addps " #sumb "(%2), %%xmm0 \n\t" \
"movaps %%xmm0," #out2 "(%0) \n\t"

Referenced by apply_window_mp3().

Function Documentation

static void apply_window ( const float *  buf,
const float *  win1,
const float *  win2,
float *  sum1,
float *  sum2,
int  len 
)
static

Definition at line 54 of file mpegaudiodec_mmx.c.

Referenced by apply_window_mp3().

static void apply_window_mp3 ( float *  in,
float *  win,
int *  unused,
float *  out,
int  incr 
)
static

Definition at line 98 of file mpegaudiodec_mmx.c.

Referenced by ff_mpadsp_init_mmx().

void ff_four_imdct36_float_avx ( float *  out,
float *  buf,
float *  in,
float *  win,
float *  tmpbuf 
)
void ff_four_imdct36_float_sse ( float *  out,
float *  buf,
float *  in,
float *  win,
float *  tmpbuf 
)
void ff_imdct36_float_avx ( float *  out,
float *  buf,
float *  in,
float *  win 
)
void ff_imdct36_float_sse ( float *  out,
float *  buf,
float *  in,
float *  win 
)
void ff_imdct36_float_sse2 ( float *  out,
float *  buf,
float *  in,
float *  win 
)
void ff_imdct36_float_sse3 ( float *  out,
float *  buf,
float *  in,
float *  win 
)
void ff_imdct36_float_ssse3 ( float *  out,
float *  buf,
float *  in,
float *  win 
)
void ff_mpadsp_init_mmx ( MPADSPContext s)

Definition at line 203 of file mpegaudiodec_mmx.c.

Referenced by ff_mpadsp_init().

Variable Documentation

float mdct_win_sse[2][4][4 *40]
static

Definition at line 37 of file mpegaudiodec_mmx.c.

Referenced by ff_mpadsp_init_mmx().