1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-21 10:55:51 +02:00

ppc: avutil: Use the abriged vector types

This commit is contained in:
Luca Barbato 2015-05-10 04:37:50 +02:00
parent 254eb5b6fa
commit 72cebae0d9
2 changed files with 17 additions and 17 deletions

View File

@ -25,7 +25,7 @@ void ff_vector_fmul_altivec(float *dst, const float *src0, const float *src1,
int len)
{
int i;
vector float d0, d1, s, zero = (vector float)vec_splat_u32(0);
vec_f d0, d1, s, zero = (vec_f)vec_splat_u32(0);
for (i = 0; i < len - 7; i += 8) {
d0 = vec_ld( 0, src0 + i);
s = vec_ld( 0, src1 + i);
@ -40,15 +40,15 @@ void ff_vector_fmul_altivec(float *dst, const float *src0, const float *src1,
void ff_vector_fmul_window_altivec(float *dst, const float *src0,
const float *src1, const float *win, int len)
{
vector float zero, t0, t1, s0, s1, wi, wj;
const vector unsigned char reverse = vcprm(3, 2, 1, 0);
vec_f zero, t0, t1, s0, s1, wi, wj;
const vec_u8 reverse = vcprm(3, 2, 1, 0);
int i, j;
dst += len;
win += len;
src0 += len;
zero = (vector float)vec_splat_u32(0);
zero = (vec_f)vec_splat_u32(0);
for (i = -len * 4, j = len * 4 - 16; i < 0; i += 16, j -= 16) {
s0 = vec_ld(i, src0);
@ -75,9 +75,9 @@ void ff_vector_fmul_add_altivec(float *dst, const float *src0,
int len)
{
int i;
vector float d, s0, s1, s2, t0, t1, edges;
vector unsigned char align = vec_lvsr(0,dst),
mask = vec_lvsl(0, dst);
vec_f d, s0, s1, s2, t0, t1, edges;
vec_u8 align = vec_lvsr(0, dst);
vec_u8 mask = vec_lvsl(0, dst);
for (i = 0; i < len - 3; i += 4) {
t0 = vec_ld(0, dst + i);
@ -98,8 +98,8 @@ void ff_vector_fmul_reverse_altivec(float *dst, const float *src0,
const float *src1, int len)
{
int i;
vector float d, s0, s1, h0, l0,
s2, s3, zero = (vector float) vec_splat_u32(0);
vec_f d, s0, s1, h0, l0, s2, s3;
vec_f zero = (vec_f)vec_splat_u32(0);
src1 += len-4;
for(i = 0; i < len - 7; i += 8) {

View File

@ -47,14 +47,14 @@
#define WORD_s2 0x18,0x19,0x1a,0x1b
#define WORD_s3 0x1c,0x1d,0x1e,0x1f
#define vcprm(a,b,c,d) (const vector unsigned char){WORD_ ## a, WORD_ ## b, WORD_ ## c, WORD_ ## d}
#define vcprm(a,b,c,d) (const vec_u8){WORD_ ## a, WORD_ ## b, WORD_ ## c, WORD_ ## d}
// Transpose 8x8 matrix of 16-bit elements (in-place)
#define TRANSPOSE8(a,b,c,d,e,f,g,h) \
do { \
vector signed short A1, B1, C1, D1, E1, F1, G1, H1; \
vector signed short A2, B2, C2, D2, E2, F2, G2, H2; \
vec_s16 A1, B1, C1, D1, E1, F1, G1, H1; \
vec_s16 A2, B2, C2, D2, E2, F2, G2, H2; \
\
A1 = vec_mergeh (a, e); \
B1 = vec_mergel (a, e); \
@ -87,11 +87,11 @@ do { \
/** @brief loads unaligned vector @a *src with offset @a offset
and returns it */
static inline vector unsigned char unaligned_load(int offset, uint8_t *src)
static inline vec_u8 unaligned_load(int offset, uint8_t *src)
{
register vector unsigned char first = vec_ld(offset, src);
register vector unsigned char second = vec_ld(offset+15, src);
register vector unsigned char mask = vec_lvsl(offset, src);
register vec_u8 first = vec_ld(offset, src);
register vec_u8 second = vec_ld(offset + 15, src);
register vec_u8 mask = vec_lvsl(offset, src);
return vec_perm(first, second, mask);
}
@ -102,7 +102,7 @@ static inline vector unsigned char unaligned_load(int offset, uint8_t *src)
static inline vec_u8 load_with_perm_vec(int offset, uint8_t *src, vec_u8 perm_vec)
{
vec_u8 a = vec_ld(offset, src);
vec_u8 b = vec_ld(offset+15, src);
vec_u8 b = vec_ld(offset + 15, src);
return vec_perm(a, b, perm_vec);
}