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
c1fe2db3
Commit
c1fe2db3
authored
May 03, 2012
by
Michael Niedermayer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
swr: add ff_int32_to_float_a_avx
Signed-off-by:
Michael Niedermayer
<
michaelni@gmx.at
>
parent
29ed1900
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
3 deletions
+15
-3
audio_convert.asm
libswresample/x86/audio_convert.asm
+9
-3
swresample_x86.c
libswresample/x86/swresample_x86.c
+6
-0
No files found.
libswresample/x86/audio_convert.asm
View file @
c1fe2db3
...
...
@@ -22,7 +22,7 @@
%include
"libavutil/x86/x86util.asm"
SECTION_RODATA
align
32
flt2pm31
:
times
8
dd
4
.
6566129
e
-
10
flt2p31
:
times
8
dd
2147483648
.
0
flt2p15
:
times
8
dd
32768
.
0
...
...
@@ -87,8 +87,8 @@ int32_to_float_u_int %+ SUFFIX
cvtdq2ps
m0
,
m0
cvtdq2ps
m1
,
m1
%endif
mulps
m0
,
m2
mulps
m1
,
m2
mulps
m0
,
m
0
,
m
2
mulps
m1
,
m
1
,
m
2
mov%1
[
dstq
+
lenq
]
,
m0
mov%1
[
mmsize
+
dstq
+
lenq
]
,
m1
add
lenq
,
2
*
mmsize
...
...
@@ -243,3 +243,9 @@ FLOAT_TO_INT32 u
FLOAT_TO_INT32
a
FLOAT_TO_INT16
u
FLOAT_TO_INT16
a
%if
HAVE_AVX
INIT_YMM
avx
INT32_TO_FLOAT
u
INT32_TO_FLOAT
a
%endif
libswresample/x86/swresample_x86.c
View file @
c1fe2db3
...
...
@@ -33,6 +33,8 @@ void ff_int16_to_float_a_sse2(uint8_t **dst, const uint8_t **src, int len);
void
ff_float_to_int32_a_sse2
(
uint8_t
**
dst
,
const
uint8_t
**
src
,
int
len
);
void
ff_float_to_int16_a_sse2
(
uint8_t
**
dst
,
const
uint8_t
**
src
,
int
len
);
void
ff_int32_to_float_a_avx
(
uint8_t
**
dst
,
const
uint8_t
**
src
,
int
len
);
void
swri_audio_convert_init_x86
(
struct
AudioConvert
*
ac
,
enum
AVSampleFormat
out_fmt
,
enum
AVSampleFormat
in_fmt
,
...
...
@@ -64,4 +66,8 @@ MULTI_CAPS_FUNC(AV_CPU_FLAG_SSE, sse)
if
(
out_fmt
==
AV_SAMPLE_FMT_S16
&&
in_fmt
==
AV_SAMPLE_FMT_FLT
||
out_fmt
==
AV_SAMPLE_FMT_S16P
&&
in_fmt
==
AV_SAMPLE_FMT_FLTP
)
ac
->
simd_f
=
ff_float_to_int16_a_sse2
;
}
if
(
HAVE_AVX
&&
mm_flags
&
AV_CPU_FLAG_AVX
)
{
if
(
out_fmt
==
AV_SAMPLE_FMT_FLT
&&
in_fmt
==
AV_SAMPLE_FMT_S32
||
out_fmt
==
AV_SAMPLE_FMT_FLTP
&&
in_fmt
==
AV_SAMPLE_FMT_S32P
)
ac
->
simd_f
=
ff_int32_to_float_a_avx
;
}
}
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