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
3b0df525
Commit
3b0df525
authored
Aug 03, 2006
by
Luca Barbato
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
vorbis_inverse_coupling_altivec
Originally committed as revision 5914 to
svn://svn.ffmpeg.org/ffmpeg/trunk
parent
90530cec
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
0 deletions
+23
-0
dsputil_altivec.c
libavcodec/ppc/dsputil_altivec.c
+23
-0
No files found.
libavcodec/ppc/dsputil_altivec.c
View file @
3b0df525
...
@@ -1698,6 +1698,29 @@ int has_altivec(void)
...
@@ -1698,6 +1698,29 @@ int has_altivec(void)
#endif
/* __AMIGAOS4__ */
#endif
/* __AMIGAOS4__ */
}
}
static
void
vorbis_inverse_coupling_altivec
(
float
*
mag
,
float
*
ang
,
int
blocksize
)
{
int
i
;
vector
float
m
,
a
;
vector
bool
int
t0
,
t1
;
const
vector
unsigned
int
v_31
=
//XXX
vec_add
(
vec_add
(
vec_splat_u32
(
15
),
vec_splat_u32
(
15
)),
vec_splat_u32
(
1
));
for
(
i
=
0
;
i
<
blocksize
;
i
+=
4
)
{
m
=
vec_ld
(
0
,
mag
+
i
);
a
=
vec_ld
(
0
,
ang
+
i
);
t0
=
vec_cmple
(
m
,
(
vector
float
)
vec_splat_u32
(
0
));
t1
=
vec_cmple
(
a
,
(
vector
float
)
vec_splat_u32
(
0
));
a
=
vec_xor
(
a
,
vec_sl
((
vector
unsigned
int
)
t0
,
v_31
));
// (a ^ sign(m))
t0
=
vec_and
(
a
,
t1
);
t1
=
vec_andc
(
a
,
t1
);
a
=
vec_add
(
m
,
t0
);
m
=
vec_sub
(
m
,
t1
);
vec_ste
(
a
,
0
,
ang
+
i
);
vec_ste
(
m
,
0
,
mag
+
i
);
}
}
/* next one assumes that ((line_size % 8) == 0) */
/* next one assumes that ((line_size % 8) == 0) */
void
avg_pixels8_xy2_altivec
(
uint8_t
*
block
,
const
uint8_t
*
pixels
,
int
line_size
,
int
h
)
void
avg_pixels8_xy2_altivec
(
uint8_t
*
block
,
const
uint8_t
*
pixels
,
int
line_size
,
int
h
)
{
{
...
...
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