Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
ffmpeg
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
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
ffmpeg
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