lpc_mmx.c File Reference
#include "libavutil/x86_cpu.h"
#include "libavutil/cpu.h"
#include "libavcodec/lpc.h"

Go to the source code of this file.

Macros

#define WELCH(MOVPD, offset)

Functions

static void lpc_apply_welch_window_sse2 (const int32_t *data, int len, double *w_data)
static void lpc_compute_autocorr_sse2 (const double *data, int len, int lag, double *autoc)
av_cold void ff_lpc_init_x86 (LPCContext *c)

Macro Definition Documentation

#define WELCH (   MOVPD,
  offset 
)
Value:
"1: \n\t"\
"movapd %%xmm7, %%xmm1 \n\t"\
"mulpd %%xmm1, %%xmm1 \n\t"\
"movapd %%xmm6, %%xmm0 \n\t"\
"subpd %%xmm1, %%xmm0 \n\t"\
"pshufd $0x4e, %%xmm0, %%xmm1 \n\t"\
"cvtpi2pd (%3,%0), %%xmm2 \n\t"\
"cvtpi2pd "#offset"*4(%3,%1), %%xmm3 \n\t"\
"mulpd %%xmm0, %%xmm2 \n\t"\
"mulpd %%xmm1, %%xmm3 \n\t"\
"movapd %%xmm2, (%2,%0,2) \n\t"\
MOVPD" %%xmm3, "#offset"*8(%2,%1,2) \n\t"\
"subpd %%xmm5, %%xmm7 \n\t"\
"sub $8, %1 \n\t"\
"add $8, %0 \n\t"\
"jl 1b \n\t"\

Referenced by lpc_apply_welch_window_sse2().

Function Documentation

av_cold void ff_lpc_init_x86 ( LPCContext c)

Definition at line 139 of file lpc_mmx.c.

Referenced by ff_lpc_init().

static void lpc_apply_welch_window_sse2 ( const int32_t *  data,
int  len,
double *  w_data 
)
static

Definition at line 26 of file lpc_mmx.c.

Referenced by ff_lpc_init_x86().

static void lpc_compute_autocorr_sse2 ( const double *  data,
int  len,
int  lag,
double *  autoc 
)
static

Definition at line 73 of file lpc_mmx.c.

Referenced by ff_lpc_init_x86().