Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
72cebae0
Commit
72cebae0
authored
May 10, 2015
by
Luca Barbato
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ppc: avutil: Use the abriged vector types
parent
254eb5b6
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
17 deletions
+17
-17
float_dsp_altivec.c
libavutil/ppc/float_dsp_altivec.c
+9
-9
util_altivec.h
libavutil/ppc/util_altivec.h
+8
-8
No files found.
libavutil/ppc/float_dsp_altivec.c
View file @
72cebae0
...
...
@@ -25,7 +25,7 @@ void ff_vector_fmul_altivec(float *dst, const float *src0, const float *src1,
int
len
)
{
int
i
;
vec
tor
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
)
{
vec
tor
float
zero
,
t0
,
t1
,
s0
,
s1
,
wi
,
wj
;
const
vec
tor
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
=
(
vec
tor
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
;
vec
tor
float
d
,
s0
,
s1
,
s2
,
t0
,
t1
,
edges
;
vec
tor
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
;
vec
tor
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
)
{
...
...
libavutil/ppc/util_altivec.h
View file @
72cebae0
...
...
@@ -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 vec
tor 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 { \
vec
tor signed short
A1, B1, C1, D1, E1, F1, G1, H1; \
vec
tor 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
vec
tor
unsigned
char
unaligned_load
(
int
offset
,
uint8_t
*
src
)
static
inline
vec
_u8
unaligned_load
(
int
offset
,
uint8_t
*
src
)
{
register
vec
tor
unsigned
char
first
=
vec_ld
(
offset
,
src
);
register
vec
tor
unsigned
char
second
=
vec_ld
(
offset
+
15
,
src
);
register
vec
tor
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
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment