FFmpeg
|
#include "config.h"
#include "libavutil/common.h"
#include "libavcodec/dsputil.h"
#include "dsputil_altivec.h"
Go to the source code of this file.
Macros | |
#define | vs16(v) ((vector signed short)(v)) |
#define | vs32(v) ((vector signed int)(v)) |
#define | vu8(v) ((vector unsigned char)(v)) |
#define | vu16(v) ((vector unsigned short)(v)) |
#define | vu32(v) ((vector unsigned int)(v)) |
#define | C1 0.98078525066375732421875000 /* cos(1*PI/16) */ |
#define | C2 0.92387950420379638671875000 /* cos(2*PI/16) */ |
#define | C3 0.83146959543228149414062500 /* cos(3*PI/16) */ |
#define | C4 0.70710676908493041992187500 /* cos(4*PI/16) */ |
#define | C5 0.55557024478912353515625000 /* cos(5*PI/16) */ |
#define | C6 0.38268342614173889160156250 /* cos(6*PI/16) */ |
#define | C7 0.19509032368659973144531250 /* cos(7*PI/16) */ |
#define | SQRT_2 1.41421353816986083984375000 /* sqrt(2) */ |
#define | W0 -(2 * C2) |
#define | W1 (2 * C6) |
#define | W2 (SQRT_2 * C6) |
#define | W3 (SQRT_2 * C3) |
#define | W4 (SQRT_2 * (-C1 + C3 + C5 - C7)) |
#define | W5 (SQRT_2 * ( C1 + C3 - C5 + C7)) |
#define | W6 (SQRT_2 * ( C1 + C3 + C5 - C7)) |
#define | W7 (SQRT_2 * ( C1 + C3 - C5 - C7)) |
#define | W8 (SQRT_2 * ( C7 - C3)) |
#define | W9 (SQRT_2 * (-C1 - C3)) |
#define | WA (SQRT_2 * (-C3 - C5)) |
#define | WB (SQRT_2 * ( C5 - C3)) |
#define | LD_W0 vec_splat(cnsts0, 0) |
#define | LD_W1 vec_splat(cnsts0, 1) |
#define | LD_W2 vec_splat(cnsts0, 2) |
#define | LD_W3 vec_splat(cnsts0, 3) |
#define | LD_W4 vec_splat(cnsts1, 0) |
#define | LD_W5 vec_splat(cnsts1, 1) |
#define | LD_W6 vec_splat(cnsts1, 2) |
#define | LD_W7 vec_splat(cnsts1, 3) |
#define | LD_W8 vec_splat(cnsts2, 0) |
#define | LD_W9 vec_splat(cnsts2, 1) |
#define | LD_WA vec_splat(cnsts2, 2) |
#define | LD_WB vec_splat(cnsts2, 3) |
#define | FDCTROW(b0, b1, b2, b3, b4, b5, b6, b7) |
#define | FDCTCOL(b0, b1, b2, b3, b4, b5, b6, b7) |
#define | MERGE_S16(hl, a, b) vec_merge##hl(vs16(a), vs16(b)) |
#define | CTF0(n) |
#define | CTFX(x, b) |
#define | CTS(n) |
Functions | |
void | ff_fdct_altivec (int16_t *block) |
Variables | |
static vector float | fdctconsts [3] |
#define vs16 | ( | v | ) | ((vector signed short)(v)) |
Definition at line 29 of file fdct_altivec.c.
Referenced by ff_fdct_altivec().
#define vs32 | ( | v | ) | ((vector signed int)(v)) |
Definition at line 30 of file fdct_altivec.c.
#define vu8 | ( | v | ) | ((vector unsigned char)(v)) |
Definition at line 31 of file fdct_altivec.c.
#define vu16 | ( | v | ) | ((vector unsigned short)(v)) |
Definition at line 32 of file fdct_altivec.c.
#define vu32 | ( | v | ) | ((vector unsigned int)(v)) |
Definition at line 33 of file fdct_altivec.c.
Referenced by ff_fdct_altivec().
#define C1 0.98078525066375732421875000 /* cos(1*PI/16) */ |
Definition at line 36 of file fdct_altivec.c.
#define C2 0.92387950420379638671875000 /* cos(2*PI/16) */ |
Definition at line 37 of file fdct_altivec.c.
#define C3 0.83146959543228149414062500 /* cos(3*PI/16) */ |
Definition at line 38 of file fdct_altivec.c.
#define C4 0.70710676908493041992187500 /* cos(4*PI/16) */ |
Definition at line 39 of file fdct_altivec.c.
#define C5 0.55557024478912353515625000 /* cos(5*PI/16) */ |
Definition at line 40 of file fdct_altivec.c.
#define C6 0.38268342614173889160156250 /* cos(6*PI/16) */ |
Definition at line 41 of file fdct_altivec.c.
#define C7 0.19509032368659973144531250 /* cos(7*PI/16) */ |
Definition at line 42 of file fdct_altivec.c.
#define SQRT_2 1.41421353816986083984375000 /* sqrt(2) */ |
Definition at line 43 of file fdct_altivec.c.
#define W0 -(2 * C2) |
Definition at line 46 of file fdct_altivec.c.
#define W1 (2 * C6) |
Definition at line 47 of file fdct_altivec.c.
Definition at line 48 of file fdct_altivec.c.
Definition at line 49 of file fdct_altivec.c.
Definition at line 54 of file fdct_altivec.c.
Definition at line 55 of file fdct_altivec.c.
Definition at line 56 of file fdct_altivec.c.
Definition at line 57 of file fdct_altivec.c.
#define LD_W0 vec_splat(cnsts0, 0) |
Definition at line 66 of file fdct_altivec.c.
Referenced by ff_fdct_altivec().
#define LD_W1 vec_splat(cnsts0, 1) |
Definition at line 67 of file fdct_altivec.c.
Referenced by ff_fdct_altivec().
#define LD_W2 vec_splat(cnsts0, 2) |
Definition at line 68 of file fdct_altivec.c.
Referenced by ff_fdct_altivec().
#define LD_W3 vec_splat(cnsts0, 3) |
Definition at line 69 of file fdct_altivec.c.
Referenced by ff_fdct_altivec().
#define LD_W4 vec_splat(cnsts1, 0) |
Definition at line 70 of file fdct_altivec.c.
Referenced by ff_fdct_altivec().
#define LD_W5 vec_splat(cnsts1, 1) |
Definition at line 71 of file fdct_altivec.c.
Referenced by ff_fdct_altivec().
#define LD_W6 vec_splat(cnsts1, 2) |
Definition at line 72 of file fdct_altivec.c.
Referenced by ff_fdct_altivec().
#define LD_W7 vec_splat(cnsts1, 3) |
Definition at line 73 of file fdct_altivec.c.
Referenced by ff_fdct_altivec().
#define LD_W8 vec_splat(cnsts2, 0) |
Definition at line 74 of file fdct_altivec.c.
Referenced by ff_fdct_altivec().
#define LD_W9 vec_splat(cnsts2, 1) |
Definition at line 75 of file fdct_altivec.c.
Referenced by ff_fdct_altivec().
#define LD_WA vec_splat(cnsts2, 2) |
Definition at line 76 of file fdct_altivec.c.
Referenced by ff_fdct_altivec().
#define LD_WB vec_splat(cnsts2, 3) |
Definition at line 77 of file fdct_altivec.c.
Referenced by ff_fdct_altivec().
#define FDCTROW | ( | b0, | |
b1, | |||
b2, | |||
b3, | |||
b4, | |||
b5, | |||
b6, | |||
b7 | |||
) |
Definition at line 80 of file fdct_altivec.c.
#define FDCTCOL | ( | b0, | |
b1, | |||
b2, | |||
b3, | |||
b4, | |||
b5, | |||
b6, | |||
b7 | |||
) |
Definition at line 137 of file fdct_altivec.c.
Referenced by ff_fdct_altivec().
#define CTF0 | ( | n | ) |
#define CTFX | ( | x, | |
b | |||
) |
#define CTS | ( | n | ) |
void ff_fdct_altivec | ( | int16_t * | block | ) |
Definition at line 198 of file fdct_altivec.c.