Browse Source

x86/vf_threshold: make threshold8 functions work on x86_32

Signed-off-by: James Almer <jamrial@gmail.com>
tags/n4.0
James Almer 8 years ago
parent
commit
cc2ba526d4
2 changed files with 17 additions and 12 deletions
  1. +11
    -4
      libavfilter/x86/vf_threshold.asm
  2. +6
    -8
      libavfilter/x86/vf_threshold_init.c

+ 11
- 4
libavfilter/x86/vf_threshold.asm View File

@@ -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

+ 6
- 8
libavfilter/x86/vf_threshold_init.c View File

@@ -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;
} }
} }
} }

Loading…
Cancel
Save