libavcodec/x86/flacdsp_mmx.c File Reference

#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 Documentation

#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().


Function Documentation

static void apply_welch_window_sse2 ( const int32_t *  data,
int  len,
double *  w_data 
) [static]

Definition at line 25 of file flacdsp_mmx.c.

Referenced by ff_flac_compute_autocorr_sse2().

void ff_flac_compute_autocorr_sse2 ( const int32_t *  data,
int  len,
int  lag,
double *  autoc 
)

Definition at line 68 of file flacdsp_mmx.c.

Referenced by dsputilenc_init_mmx().


Generated on Fri Oct 26 02:35:45 2012 for FFmpeg by  doxygen 1.5.8