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
5688fd77
Commit
5688fd77
authored
Jul 08, 2017
by
James Almer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
x86/vf_limiter: make limiter functions work on x86_32
Signed-off-by:
James Almer
<
jamrial@gmail.com
>
parent
6f205a42
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
14 additions
and
18 deletions
+14
-18
vf_limiter.asm
libavfilter/x86/vf_limiter.asm
+12
-16
vf_limiter_init.c
libavfilter/x86/vf_limiter_init.c
+2
-2
No files found.
libavfilter/x86/vf_limiter.asm
View file @
5688fd77
...
...
@@ -20,23 +20,21 @@
%include
"libavutil/x86/x86util.asm"
%if
ARCH_X86_64
SECTION_RODATA
pb_0
:
times
16
db
0
SECTION
.
text
INIT_XMM
sse2
cglobal
limiter_8bit
,
8
,
9
,
3
,
src
,
dst
,
slinesize
,
dlinesize
,
w
,
h
,
min
,
max
,
x
cglobal
limiter_8bit
,
6
,
7
,
3
,
src
,
dst
,
slinesize
,
dlinesize
,
w
,
h
,
x
movsxdifnidn
wq
,
wd
add
srcq
,
wq
add
dstq
,
wq
neg
wq
SPLATB_REG
m1
,
min
,
[
pb_0
]
SPLATB_REG
m2
,
max
,
[
pb_0
]
movd
m1
,
r6m
punpcklbw
m1
,
m1
SPLATW
m1
,
m1
movd
m2
,
r7m
punpcklbw
m2
,
m2
SPLATW
m2
,
m2
.
nextrow
:
mov
xq
,
wq
...
...
@@ -51,18 +49,18 @@ cglobal limiter_8bit, 8, 9, 3, src, dst, slinesize, dlinesize, w, h, min, max, x
add
dstq
,
dlinesizeq
sub
hd
,
1
jg
.
nextrow
ret
RET
INIT_XMM
sse4
cglobal
limiter_16bit
,
8
,
9
,
3
,
src
,
dst
,
slinesize
,
dlinesize
,
w
,
h
,
min
,
max
,
x
cglobal
limiter_16bit
,
6
,
7
,
3
,
src
,
dst
,
slinesize
,
dlinesize
,
w
,
h
,
x
shl
wd
,
1
add
srcq
,
wq
add
dstq
,
wq
neg
wq
movd
m1
,
mind
movd
m1
,
r6m
SPLATW
m1
,
m1
movd
m2
,
maxd
movd
m2
,
r7m
SPLATW
m2
,
m2
.
nextrow
:
mov
xq
,
wq
...
...
@@ -79,6 +77,4 @@ cglobal limiter_16bit, 8, 9, 3, src, dst, slinesize, dlinesize, w, h, min, max,
add
dstq
,
dlinesizeq
sub
hd
,
1
jg
.
nextrow
ret
%endif
RET
libavfilter/x86/vf_limiter_init.c
View file @
5688fd77
...
...
@@ -31,12 +31,12 @@ void ff_limiter_init_x86(LimiterDSPContext *dsp, int bpp)
{
int
cpu_flags
=
av_get_cpu_flags
();
if
(
ARCH_X86_64
&&
EXTERNAL_SSE2
(
cpu_flags
))
{
if
(
EXTERNAL_SSE2
(
cpu_flags
))
{
if
(
bpp
<=
8
)
{
dsp
->
limiter
=
ff_limiter_8bit_sse2
;
}
}
if
(
ARCH_X86_64
&&
EXTERNAL_SSE4
(
cpu_flags
))
{
if
(
EXTERNAL_SSE4
(
cpu_flags
))
{
if
(
bpp
>
8
)
{
dsp
->
limiter
=
ff_limiter_16bit_sse4
;
}
...
...
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