ffmpeg | branch: master | James Almer <jamr...@gmail.com> | Mon Dec 4 15:04:43 2017 -0300| [cc2ba526d4140829e9b3a8d5919b8cfe449972c3] | committer: James Almer
x86/vf_threshold: make threshold8 functions work on x86_32 Signed-off-by: James Almer <jamr...@gmail.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cc2ba526d4140829e9b3a8d5919b8cfe449972c3 --- libavfilter/x86/vf_threshold.asm | 15 +++++++++++---- libavfilter/x86/vf_threshold_init.c | 14 ++++++-------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/libavfilter/x86/vf_threshold.asm b/libavfilter/x86/vf_threshold.asm index 5e595fa13f..56a6c242d8 100644 --- a/libavfilter/x86/vf_threshold.asm +++ b/libavfilter/x86/vf_threshold.asm @@ -22,8 +22,6 @@ %include "libavutil/x86/x86util.asm" -%if ARCH_X86_64 - SECTION_RODATA pb_128: times 16 db 128 @@ -31,9 +29,20 @@ pb_128: times 16 db 128 SECTION .text %macro THRESHOLD_8 0 +%if ARCH_X86_64 cglobal threshold8, 10, 13, 5, in, threshold, min, max, out, ilinesize, tlinesize, flinesize, slinesize, olinesize, w, h, x mov wd, dword wm mov hd, dword hm +%else +cglobal threshold8, 5, 7, 5, in, threshold, min, max, out, w, x + mov wd, r10m +%define ilinesizeq r5mp +%define tlinesizeq r6mp +%define flinesizeq r7mp +%define slinesizeq r8mp +%define olinesizeq r9mp +%define hd r11mp +%endif VBROADCASTI128 m4, [pb_128] add inq, wq add thresholdq, wq @@ -74,5 +83,3 @@ THRESHOLD_8 INIT_YMM avx2 THRESHOLD_8 %endif - -%endif diff --git a/libavfilter/x86/vf_threshold_init.c b/libavfilter/x86/vf_threshold_init.c index f448cb4b39..db0559533d 100644 --- a/libavfilter/x86/vf_threshold_init.c +++ b/libavfilter/x86/vf_threshold_init.c @@ -42,14 +42,12 @@ av_cold void ff_threshold_init_x86(ThresholdContext *s) { int cpu_flags = av_get_cpu_flags(); - if (ARCH_X86_64) { - if (s->depth == 8) { - if (EXTERNAL_SSE4(cpu_flags)) { - s->threshold = ff_threshold8_sse4; - } - if (EXTERNAL_AVX2_FAST(cpu_flags)) { - s->threshold = ff_threshold8_avx2; - } + if (s->depth == 8) { + if (EXTERNAL_SSE4(cpu_flags)) { + s->threshold = ff_threshold8_sse4; + } + if (EXTERNAL_AVX2_FAST(cpu_flags)) { + s->threshold = ff_threshold8_avx2; } } } _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog