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
2200cf1a
Commit
2200cf1a
authored
Sep 06, 2019
by
James Almer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
x86/vf_v360: make remap{1,2}_8bit_line_avx2 work on x86_32
Signed-off-by:
James Almer
<
jamrial@gmail.com
>
parent
cb8c3530
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
11 additions
and
4 deletions
+11
-4
vf_v360.c
libavfilter/vf_v360.c
+1
-1
vf_v360.asm
libavfilter/x86/vf_v360.asm
+9
-2
vf_v360_init.c
libavfilter/x86/vf_v360_init.c
+1
-1
No files found.
libavfilter/vf_v360.c
View file @
2200cf1a
...
...
@@ -285,7 +285,7 @@ void ff_v360_init(V360Context *s, int depth)
break
;
}
if
(
ARCH_X86
_64
)
if
(
ARCH_X86
)
ff_v360_init_x86
(
s
,
depth
);
}
...
...
libavfilter/x86/vf_v360.asm
View file @
2200cf1a
...
...
@@ -18,10 +18,11 @@
;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
;******************************************************************************
%if
HAVE_AVX2_EXTERNAL
&&
ARCH_X86_64
%include
"libavutil/x86/x86util.asm"
%if
HAVE_AVX2_EXTERNAL
SECTION_RODATA
pb_mask
:
db
0
,
4
,
8
,
12
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
...
...
@@ -62,8 +63,11 @@ cglobal remap1_8bit_line, 6, 7, 6, dst, width, src, in_linesize, u, v, x
INIT_YMM
avx2
cglobal
remap2_8bit_line
,
7
,
8
,
8
,
dst
,
width
,
src
,
in_linesize
,
u
,
v
,
ker
,
x
movsxdifnidn
widthq
,
widthd
xor
xq
,
xq
movd
xm0
,
in_linesized
%if
ARCH_X86_32
DEFINE_ARGS
dst
,
width
,
src
,
x
,
u
,
v
,
ker
%endif
xor
xq
,
xq
pcmpeqw
m7
,
m7
vpbroadcastd
m0
,
xm0
vpbroadcastd
m6
,
[
pd_255
]
...
...
@@ -92,6 +96,8 @@ cglobal remap2_8bit_line, 7, 8, 8, dst, width, src, in_linesize, u, v, ker, x
jl
.
loop
RET
%if
ARCH_X86_64
INIT_YMM
avx2
cglobal
remap4_8bit_line
,
7
,
9
,
11
,
dst
,
width
,
src
,
in_linesize
,
u
,
v
,
ker
,
x
,
y
movsxdifnidn
widthq
,
widthd
...
...
@@ -140,3 +146,4 @@ cglobal remap4_8bit_line, 7, 9, 11, dst, width, src, in_linesize, u, v, ker, x,
RET
%endif
%endif
libavfilter/x86/vf_v360_init.c
View file @
2200cf1a
...
...
@@ -34,7 +34,6 @@ void ff_remap4_8bit_line_avx2(uint8_t *dst, int width, const uint8_t *src, ptrdi
av_cold
void
ff_v360_init_x86
(
V360Context
*
s
,
int
depth
)
{
#if ARCH_X86_64
int
cpu_flags
=
av_get_cpu_flags
();
if
(
EXTERNAL_AVX2_FAST
(
cpu_flags
)
&&
s
->
interp
==
NEAREST
&&
depth
<=
8
)
...
...
@@ -43,6 +42,7 @@ av_cold void ff_v360_init_x86(V360Context *s, int depth)
if
(
EXTERNAL_AVX2_FAST
(
cpu_flags
)
&&
s
->
interp
==
BILINEAR
&&
depth
<=
8
)
s
->
remap_line
=
ff_remap2_8bit_line_avx2
;
#if ARCH_X86_64
if
(
EXTERNAL_AVX2_FAST
(
cpu_flags
)
&&
(
s
->
interp
==
BICUBIC
||
s
->
interp
==
LANCZOS
)
&&
depth
<=
8
)
s
->
remap_line
=
ff_remap4_8bit_line_avx2
;
...
...
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