diff options
author | James Almer <jamrial@gmail.com> | 2017-12-04 15:04:43 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2017-12-04 15:46:09 -0300 |
commit | cc2ba526d4140829e9b3a8d5919b8cfe449972c3 (patch) | |
tree | f787f501b858abab8173e2408efd4a9deea4bd12 | |
parent | bfd7f07b650b0414683c2c2554870e4e74d5c083 (diff) | |
download | ffmpeg-cc2ba526d4140829e9b3a8d5919b8cfe449972c3.tar.gz |
x86/vf_threshold: make threshold8 functions work on x86_32
Signed-off-by: James Almer <jamrial@gmail.com>
-rw-r--r-- | libavfilter/x86/vf_threshold.asm | 15 | ||||
-rw-r--r-- | 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; } } } |