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:
parent
254eb5b6fa
commit
72cebae0d9
@ -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) {
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user