libavcodec/x86/vp6dsp_sse2.c File Reference

#include "libavutil/x86_cpu.h"
#include "libavcodec/dsputil.h"
#include "dsputil_mmx.h"
#include "vp6dsp_sse2.h"

Go to the source code of this file.

Defines

#define DIAG4_SSE2(in1, in2, in3, in4)

Functions

void ff_vp6_filter_diag4_sse2 (uint8_t *dst, uint8_t *src, int stride, const int16_t *h_weights, const int16_t *v_weights)


Define Documentation

#define DIAG4_SSE2 ( in1,
in2,
in3,
in4   ) 

Value:

"movq  "#in1"(%0), %%xmm0            \n\t"                                \
    "movq  "#in2"(%0), %%xmm1            \n\t"                                \
    "punpcklbw %%xmm7, %%xmm0            \n\t"                                \
    "punpcklbw %%xmm7, %%xmm1            \n\t"                                \
    "pmullw    %%xmm4, %%xmm0            \n\t" /* src[x-8 ] * biweight [0] */ \
    "pmullw    %%xmm5, %%xmm1            \n\t" /* src[x   ] * biweight [1] */ \
    "paddw     %%xmm1, %%xmm0            \n\t"                                \
    "movq  "#in3"(%0), %%xmm1            \n\t"                                \
    "movq  "#in4"(%0), %%xmm2            \n\t"                                \
    "punpcklbw %%xmm7, %%xmm1            \n\t"                                \
    "punpcklbw %%xmm7, %%xmm2            \n\t"                                \
    "pmullw    %%xmm6, %%xmm1            \n\t" /* src[x+8 ] * biweight [2] */ \
    "pmullw    %%xmm3, %%xmm2            \n\t" /* src[x+16] * biweight [3] */ \
    "paddw     %%xmm2, %%xmm1            \n\t"                                \
    "paddsw     %%xmm1, %%xmm0           \n\t"                                \
    "paddsw "MANGLE(ff_pw_64)", %%xmm0   \n\t" /* Add 64 */                   \
    "psraw         $7, %%xmm0            \n\t"                                \
    "packuswb  %%xmm0, %%xmm0            \n\t"                                \
    "movq      %%xmm0,   (%1)            \n\t"                                \

Definition at line 29 of file vp6dsp_sse2.c.

Referenced by ff_vp6_filter_diag4_sse2().


Function Documentation

void ff_vp6_filter_diag4_sse2 ( uint8_t *  dst,
uint8_t *  src,
int  stride,
const int16_t *  h_weights,
const int16_t *  v_weights 
)

Definition at line 50 of file vp6dsp_sse2.c.

Referenced by dsputil_init_mmx().


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