x86/vf_threshold: make threshold8 functions work on x86_32
Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
		
							parent
							
								
									bfd7f07b65
								
							
						
					
					
						commit
						cc2ba526d4
					
				@ -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
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user