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
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