Signed-off-by: James Almer <jamrial@gmail.com>tags/n4.0
| @@ -22,8 +22,6 @@ | |||||
| %include "libavutil/x86/x86util.asm" | %include "libavutil/x86/x86util.asm" | ||||
| %if ARCH_X86_64 | |||||
| SECTION_RODATA | SECTION_RODATA | ||||
| pb_128: times 16 db 128 | pb_128: times 16 db 128 | ||||
| @@ -31,9 +29,20 @@ pb_128: times 16 db 128 | |||||
| SECTION .text | SECTION .text | ||||
| %macro THRESHOLD_8 0 | %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 | cglobal threshold8, 10, 13, 5, in, threshold, min, max, out, ilinesize, tlinesize, flinesize, slinesize, olinesize, w, h, x | ||||
| mov wd, dword wm | mov wd, dword wm | ||||
| mov hd, dword hm | 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] | VBROADCASTI128 m4, [pb_128] | ||||
| add inq, wq | add inq, wq | ||||
| add thresholdq, wq | add thresholdq, wq | ||||
| @@ -74,5 +83,3 @@ THRESHOLD_8 | |||||
| INIT_YMM avx2 | INIT_YMM avx2 | ||||
| THRESHOLD_8 | THRESHOLD_8 | ||||
| %endif | %endif | ||||
| %endif | |||||
| @@ -42,14 +42,12 @@ av_cold void ff_threshold_init_x86(ThresholdContext *s) | |||||
| { | { | ||||
| int cpu_flags = av_get_cpu_flags(); | 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; | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||