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
c88e60af
Commit
c88e60af
authored
Jul 05, 2012
by
Michael Niedermayer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
swr/x86: 10l, missed some SSE2 instructions in code marked as SSE.
Signed-off-by:
Michael Niedermayer
<
michaelni@gmx.at
>
parent
03481028
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
20 additions
and
25 deletions
+20
-25
audio_convert.asm
libswresample/x86/audio_convert.asm
+1
-2
swresample_x86.c
libswresample/x86/swresample_x86.c
+19
-23
No files found.
libswresample/x86/audio_convert.asm
View file @
c88e60af
...
...
@@ -377,7 +377,7 @@ CONV int16, int32, a, 1, 2, INT32_TO_INT16_N, NOP_N
PACK_6CH
float
,
float
,
u
,
2
,
2
,
NOP_N
,
NOP_N
PACK_6CH
float
,
float
,
a
,
2
,
2
,
NOP_N
,
NOP_N
INIT_XMM
sse
INIT_XMM
sse
2
CONV
int32
,
int16
,
u
,
2
,
1
,
INT16_TO_INT32_N
,
NOP_N
CONV
int32
,
int16
,
a
,
2
,
1
,
INT16_TO_INT32_N
,
NOP_N
CONV
int16
,
int32
,
u
,
1
,
2
,
INT32_TO_INT16_N
,
NOP_N
...
...
@@ -401,7 +401,6 @@ UNPACK_2CH int32, int16, a, 2, 1, INT16_TO_INT32_N, NOP_N
UNPACK_2CH
int16
,
int32
,
u
,
1
,
2
,
INT32_TO_INT16_N
,
NOP_N
UNPACK_2CH
int16
,
int32
,
a
,
1
,
2
,
INT32_TO_INT16_N
,
NOP_N
INIT_XMM
sse2
CONV
float
,
int32
,
u
,
2
,
2
,
INT32_TO_FLOAT_N
,
INT32_TO_FLOAT_INIT
CONV
float
,
int32
,
a
,
2
,
2
,
INT32_TO_FLOAT_N
,
INT32_TO_FLOAT_INIT
CONV
int32
,
float
,
u
,
2
,
2
,
FLOAT_TO_INT32_N
,
FLOAT_TO_INT32_INIT
...
...
libswresample/x86/swresample_x86.c
View file @
c88e60af
...
...
@@ -49,7 +49,7 @@ void swri_audio_convert_init_x86(struct AudioConvert *ac,
}
MULTI_CAPS_FUNC
(
AV_CPU_FLAG_MMX
,
mmx
)
MULTI_CAPS_FUNC
(
AV_CPU_FLAG_SSE
,
sse
)
MULTI_CAPS_FUNC
(
AV_CPU_FLAG_SSE
2
,
sse2
)
if
(
mm_flags
&
AV_CPU_FLAG_MMX
)
{
if
(
channels
==
6
)
{
...
...
@@ -58,28 +58,6 @@ MULTI_CAPS_FUNC(AV_CPU_FLAG_SSE, sse)
}
}
if
(
mm_flags
&
AV_CPU_FLAG_SSE
)
{
if
(
channels
==
2
)
{
if
(
out_fmt
==
AV_SAMPLE_FMT_FLT
&&
in_fmt
==
AV_SAMPLE_FMT_FLTP
||
out_fmt
==
AV_SAMPLE_FMT_S32
&&
in_fmt
==
AV_SAMPLE_FMT_S32P
)
ac
->
simd_f
=
ff_pack_2ch_int32_to_int32_a_sse
;
if
(
out_fmt
==
AV_SAMPLE_FMT_S16
&&
in_fmt
==
AV_SAMPLE_FMT_S16P
)
ac
->
simd_f
=
ff_pack_2ch_int16_to_int16_a_sse
;
if
(
out_fmt
==
AV_SAMPLE_FMT_S32
&&
in_fmt
==
AV_SAMPLE_FMT_S16P
)
ac
->
simd_f
=
ff_pack_2ch_int16_to_int32_a_sse
;
if
(
out_fmt
==
AV_SAMPLE_FMT_S16
&&
in_fmt
==
AV_SAMPLE_FMT_S32P
)
ac
->
simd_f
=
ff_pack_2ch_int32_to_int16_a_sse
;
if
(
out_fmt
==
AV_SAMPLE_FMT_FLTP
&&
in_fmt
==
AV_SAMPLE_FMT_FLT
||
out_fmt
==
AV_SAMPLE_FMT_S32P
&&
in_fmt
==
AV_SAMPLE_FMT_S32
)
ac
->
simd_f
=
ff_unpack_2ch_int32_to_int32_a_sse
;
if
(
out_fmt
==
AV_SAMPLE_FMT_S16P
&&
in_fmt
==
AV_SAMPLE_FMT_S16
)
ac
->
simd_f
=
ff_unpack_2ch_int16_to_int16_a_sse
;
if
(
out_fmt
==
AV_SAMPLE_FMT_S32P
&&
in_fmt
==
AV_SAMPLE_FMT_S16
)
ac
->
simd_f
=
ff_unpack_2ch_int16_to_int32_a_sse
;
if
(
out_fmt
==
AV_SAMPLE_FMT_S16P
&&
in_fmt
==
AV_SAMPLE_FMT_S32
)
ac
->
simd_f
=
ff_unpack_2ch_int32_to_int16_a_sse
;
}
}
if
(
mm_flags
&
AV_CPU_FLAG_SSE2
)
{
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_sse2
;
...
...
@@ -91,6 +69,24 @@ MULTI_CAPS_FUNC(AV_CPU_FLAG_SSE, sse)
ac
->
simd_f
=
ff_float_to_int16_a_sse2
;
if
(
channels
==
2
)
{
if
(
out_fmt
==
AV_SAMPLE_FMT_FLT
&&
in_fmt
==
AV_SAMPLE_FMT_FLTP
||
out_fmt
==
AV_SAMPLE_FMT_S32
&&
in_fmt
==
AV_SAMPLE_FMT_S32P
)
ac
->
simd_f
=
ff_pack_2ch_int32_to_int32_a_sse2
;
if
(
out_fmt
==
AV_SAMPLE_FMT_S16
&&
in_fmt
==
AV_SAMPLE_FMT_S16P
)
ac
->
simd_f
=
ff_pack_2ch_int16_to_int16_a_sse2
;
if
(
out_fmt
==
AV_SAMPLE_FMT_S32
&&
in_fmt
==
AV_SAMPLE_FMT_S16P
)
ac
->
simd_f
=
ff_pack_2ch_int16_to_int32_a_sse2
;
if
(
out_fmt
==
AV_SAMPLE_FMT_S16
&&
in_fmt
==
AV_SAMPLE_FMT_S32P
)
ac
->
simd_f
=
ff_pack_2ch_int32_to_int16_a_sse2
;
if
(
out_fmt
==
AV_SAMPLE_FMT_FLTP
&&
in_fmt
==
AV_SAMPLE_FMT_FLT
||
out_fmt
==
AV_SAMPLE_FMT_S32P
&&
in_fmt
==
AV_SAMPLE_FMT_S32
)
ac
->
simd_f
=
ff_unpack_2ch_int32_to_int32_a_sse2
;
if
(
out_fmt
==
AV_SAMPLE_FMT_S16P
&&
in_fmt
==
AV_SAMPLE_FMT_S16
)
ac
->
simd_f
=
ff_unpack_2ch_int16_to_int16_a_sse2
;
if
(
out_fmt
==
AV_SAMPLE_FMT_S32P
&&
in_fmt
==
AV_SAMPLE_FMT_S16
)
ac
->
simd_f
=
ff_unpack_2ch_int16_to_int32_a_sse2
;
if
(
out_fmt
==
AV_SAMPLE_FMT_S16P
&&
in_fmt
==
AV_SAMPLE_FMT_S32
)
ac
->
simd_f
=
ff_unpack_2ch_int32_to_int16_a_sse2
;
if
(
out_fmt
==
AV_SAMPLE_FMT_FLT
&&
in_fmt
==
AV_SAMPLE_FMT_S32P
)
ac
->
simd_f
=
ff_pack_2ch_int32_to_float_a_sse2
;
if
(
out_fmt
==
AV_SAMPLE_FMT_S32
&&
in_fmt
==
AV_SAMPLE_FMT_FLTP
)
...
...
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