summaryrefslogtreecommitdiff
path: root/libavfilter/x86
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2019-09-06 11:11:45 -0300
committerJames Almer <jamrial@gmail.com>2019-09-06 11:11:45 -0300
commit2200cf1acaf0c4d74f563ca7f0e56c62082d9b79 (patch)
treed0bcb5758c93ccfe179073ad967110b78539abe9 /libavfilter/x86
parentcb8c353032abd28dd977802e6d623e2d2854bebe (diff)
x86/vf_v360: make remap{1,2}_8bit_line_avx2 work on x86_32
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavfilter/x86')
-rw-r--r--libavfilter/x86/vf_v360.asm11
-rw-r--r--libavfilter/x86/vf_v360_init.c2
2 files changed, 10 insertions, 3 deletions
diff --git a/libavfilter/x86/vf_v360.asm b/libavfilter/x86/vf_v360.asm
index c8b5aa7e2e..f49702b603 100644
--- a/libavfilter/x86/vf_v360.asm
+++ b/libavfilter/x86/vf_v360.asm
@@ -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
diff --git a/libavfilter/x86/vf_v360_init.c b/libavfilter/x86/vf_v360_init.c
index 5dfd0d1a42..8c1a10c705 100644
--- a/libavfilter/x86/vf_v360_init.c
+++ b/libavfilter/x86/vf_v360_init.c
@@ -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;