#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) |
Definition in file vp3dsp_sse2.c.
#define ADD8 | ( | xmm | ) | "paddsw %2, "#xmm"\n\t" |
#define C | ( | x | ) | AV_STRINGIFY(16*(x-1))"(%1)" |
#define I | ( | x | ) | AV_STRINGIFY(16*x)"(%0)" |
#define NOP | ( | xmm | ) |
#define O | ( | x | ) | 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" |
#define VP3_1D_IDCT_SSE2 | ( | ADD, | |||
SHIFT | ) |
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 | |||
) |
void ff_vp3_idct_put_sse2 | ( | uint8_t * | dest, | |
int | line_size, | |||
DCTELEM * | block | |||
) |
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().