#include "libavutil/x86_cpu.h"
#include "dsputil_mmx.h"
Go to the source code of this file.
Defines | |
#define | WELCH(MOVPD, offset) |
Functions | |
static void | apply_welch_window_sse2 (const int32_t *data, int len, double *w_data) |
void | ff_flac_compute_autocorr_sse2 (const int32_t *data, int len, int lag, double *autoc) |
#define WELCH | ( | MOVPD, | |||
offset | ) |
Value:
__asm__ volatile(\ "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"\ :"+&r"(i), "+&r"(j)\ :"r"(w_data+n2), "r"(data+n2)\ );
Referenced by apply_welch_window_sse2().
static void apply_welch_window_sse2 | ( | const int32_t * | data, | |
int | len, | |||
double * | w_data | |||
) | [static] |
void ff_flac_compute_autocorr_sse2 | ( | const int32_t * | data, | |
int | len, | |||
int | lag, | |||
double * | autoc | |||
) |