libavcodec/i386/flacdsp_mmx.c File Reference

#include "dsputil_mmx.h"

Go to the source code of this file.

Defines

#define WELCH(MOVPD)

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   ) 

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 (%4,%0), %%xmm2   \n\t"\
        "cvtpi2pd (%5,%1), %%xmm3   \n\t"\
        "mulpd    %%xmm0,  %%xmm2   \n\t"\
        "mulpd    %%xmm1,  %%xmm3   \n\t"\
        "movapd   %%xmm2, (%2,%0,2) \n\t"\
        MOVPD"    %%xmm3, (%3,%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"(w_data+len-2-n2),\
         "r"(data+n2), "r"(data+len-2-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 24 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 dsputil_init_mmx().


Generated on Thu Apr 2 07:15:41 2009 for ffmpeg by  doxygen 1.5.6