ffmpeg | branch: master | James Almer <jamr...@gmail.com> | Fri Sep 6 11:11:45 2019 -0300| [2200cf1acaf0c4d74f563ca7f0e56c62082d9b79] | committer: James Almer
x86/vf_v360: make remap{1,2}_8bit_line_avx2 work on x86_32 Signed-off-by: James Almer <jamr...@gmail.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2200cf1acaf0c4d74f563ca7f0e56c62082d9b79 --- libavfilter/vf_v360.c | 2 +- libavfilter/x86/vf_v360.asm | 11 +++++++++-- libavfilter/x86/vf_v360_init.c | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/libavfilter/vf_v360.c b/libavfilter/vf_v360.c index ed00dd09b4..c90f16bfa7 100644 --- a/libavfilter/vf_v360.c +++ b/libavfilter/vf_v360.c @@ -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); } 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; _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".