#include <stdlib.h>#include <string.h>#include "../dsputil.h"#include "gcc_fixes.h"#include "dsputil_altivec.h"

Go to the source code of this file.
Defines | |
| #define | vector_s16_t vector signed short |
| #define | const_vector_s16_t const_vector signed short |
| #define | vector_u16_t vector unsigned short |
| #define | vector_s8_t vector signed char |
| #define | vector_u8_t vector unsigned char |
| #define | vector_s32_t vector signed int |
| #define | vector_u32_t vector unsigned int |
| #define | IDCT_HALF |
| #define | IDCT |
| #define | COPY(dest, src) |
| #define | ADD(dest, src, perm) |
Functions | |
| void | idct_put_altivec (uint8_t *dest, int stride, vector_s16_t *block) |
| void | idct_add_altivec (uint8_t *dest, int stride, vector_s16_t *block) |
Variables | |
| static const_vector_s16_t | constants [5] |
| #define ADD | ( | dest, | |||
| src, | |||||
| perm | ) |
Value:
/* *(uint64_t *)&tmp = *(uint64_t *)dest; */ \ tmp = vec_ld (0, dest); \ tmp2 = (vector_s16_t)vec_perm (tmp, (vector_u8_t)zero, perm); \ tmp3 = vec_adds (tmp2, src); \ tmp = vec_packsu (tmp3, tmp3); \ vec_ste ((vector_u32_t)tmp, 0, (unsigned int *)dest); \ vec_ste ((vector_u32_t)tmp, 4, (unsigned int *)dest);
| #define const_vector_s16_t const_vector signed short |
Definition at line 47 of file idct_altivec.c.
| #define COPY | ( | dest, | |||
| src | ) |
Value:
tmp = vec_packsu (src, src); \ vec_ste ((vector_u32_t)tmp, 0, (unsigned int *)dest); \ vec_ste ((vector_u32_t)tmp, 4, (unsigned int *)dest);
| #define IDCT |
Definition at line 90 of file idct_altivec.c.
| #define IDCT_HALF |
Definition at line 54 of file idct_altivec.c.
| #define vector_s16_t vector signed short |
| #define vector_s32_t vector signed int |
Definition at line 51 of file idct_altivec.c.
| #define vector_s8_t vector signed char |
Definition at line 49 of file idct_altivec.c.
| #define vector_u16_t vector unsigned short |
Definition at line 48 of file idct_altivec.c.
| #define vector_u32_t vector unsigned int |
Definition at line 52 of file idct_altivec.c.
| #define vector_u8_t vector unsigned char |
Definition at line 50 of file idct_altivec.c.
Referenced by idct_add_altivec(), and idct_put_altivec().
| void idct_add_altivec | ( | uint8_t * | dest, | |
| int | stride, | |||
| vector_s16_t * | block | |||
| ) |
Definition at line 201 of file idct_altivec.c.
References ADD, IDCT, line_size, POWERPC_PERF_DECLARE, POWERPC_PERF_START_COUNT, POWERPC_PERF_STOP_COUNT, simple_idct_add(), vector_s16_t, and vector_u8_t.

| void idct_put_altivec | ( | uint8_t * | dest, | |
| int | stride, | |||
| vector_s16_t * | block | |||
| ) |
Definition at line 167 of file idct_altivec.c.
References COPY, IDCT, line_size, POWERPC_PERF_DECLARE, POWERPC_PERF_START_COUNT, POWERPC_PERF_STOP_COUNT, simple_idct_put(), and vector_u8_t.

const_vector_s16_t constants[5] [static] |
Initial value:
{
(vector_s16_t) AVV(23170, 13573, 6518, 21895, -23170, -21895, 32, 31),
(vector_s16_t) AVV(16384, 22725, 21407, 19266, 16384, 19266, 21407, 22725),
(vector_s16_t) AVV(22725, 31521, 29692, 26722, 22725, 26722, 29692, 31521),
(vector_s16_t) AVV(21407, 29692, 27969, 25172, 21407, 25172, 27969, 29692),
(vector_s16_t) AVV(19266, 26722, 25172, 22654, 19266, 22654, 25172, 26722)
}
Definition at line 159 of file idct_altivec.c.
Referenced by MaskUnit::do_feather(), and BlurEngine::get_constants().
1.5.5