libavcodec/x86/vp3dsp_sse2.c File Reference

SSE2-optimized functions cribbed from the original VP3 source code. More...

#include "libavcodec/dsputil.h"
#include "dsputil_mmx.h"

Go to the source code of this file.

Defines

#define VP3_1D_IDCT_SSE2(ADD, SHIFT)
#define PUT_BLOCK(r0, r1, r2, r3, r4, r5, r6, r7)
#define NOP(xmm)
#define SHIFT4(xmm)   "psraw $4, "#xmm"\n\t"
#define ADD8(xmm)   "paddsw %2, "#xmm"\n\t"
#define I(x)   AV_STRINGIFY(16*x)"(%0)"
#define O(x)   I(x)
#define C(x)   AV_STRINGIFY(16*(x-1))"(%1)"

Functions

 DECLARE_ALIGNED_16 (const uint16_t, ff_vp3_idct_data[7 *8])
void ff_vp3_idct_sse2 (int16_t *input_data)
void ff_vp3_idct_put_sse2 (uint8_t *dest, int line_size, DCTELEM *block)
void ff_vp3_idct_add_sse2 (uint8_t *dest, int line_size, DCTELEM *block)


Detailed Description

SSE2-optimized functions cribbed from the original VP3 source code.

Definition in file vp3dsp_sse2.c.


Define Documentation

#define ADD8 ( xmm   )     "paddsw %2, "#xmm"\n\t"

Definition at line 156 of file vp3dsp_sse2.c.

Referenced by ff_vp3_idct_sse2().

#define C (  )     AV_STRINGIFY(16*(x-1))"(%1)"

#define I (  )     AV_STRINGIFY(16*x)"(%0)"

#define NOP ( xmm   ) 

Definition at line 154 of file vp3dsp_sse2.c.

Referenced by ff_vp3_idct_sse2().

#define O (  )     I(x)

#define PUT_BLOCK ( r0,
r1,
r2,
r3,
r4,
r5,
r6,
r7   ) 

Value:

"movdqa " #r0 ", " O(0) "\n\t" \
    "movdqa " #r1 ", " O(1) "\n\t" \
    "movdqa " #r2 ", " O(2) "\n\t" \
    "movdqa " #r3 ", " O(3) "\n\t" \
    "movdqa " #r4 ", " O(4) "\n\t" \
    "movdqa " #r5 ", " O(5) "\n\t" \
    "movdqa " #r6 ", " O(6) "\n\t" \
    "movdqa " #r7 ", " O(7) "\n\t"

Definition at line 144 of file vp3dsp_sse2.c.

Referenced by ff_vp3_idct_sse2().

#define SHIFT4 ( xmm   )     "psraw $4, "#xmm"\n\t"

Definition at line 155 of file vp3dsp_sse2.c.

Referenced by ff_vp3_idct_sse2().

#define VP3_1D_IDCT_SSE2 ( ADD,
SHIFT   ) 

Definition at line 41 of file vp3dsp_sse2.c.

Referenced by ff_vp3_idct_sse2().


Function Documentation

DECLARE_ALIGNED_16 ( const   uint16_t,
ff_vp3_idct_data  [7 *8] 
)

void ff_vp3_idct_add_sse2 ( uint8_t *  dest,
int  line_size,
DCTELEM block 
)

Definition at line 182 of file vp3dsp_sse2.c.

Referenced by dsputil_init_mmx().

void ff_vp3_idct_put_sse2 ( uint8_t *  dest,
int  line_size,
DCTELEM block 
)

Definition at line 176 of file vp3dsp_sse2.c.

Referenced by dsputil_init_mmx().

void ff_vp3_idct_sse2 ( int16_t *  input_data  ) 

Definition at line 158 of file vp3dsp_sse2.c.

Referenced by dsputil_init_mmx(), ff_vp3_idct_add_sse2(), and ff_vp3_idct_put_sse2().


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