x86: Add and use more convenience macros to check CPU extension availability
This commit is contained in:
		@@ -26,6 +26,19 @@
 | 
			
		||||
#define AV_CPU_FLAG_AMD3DNOW    AV_CPU_FLAG_3DNOW
 | 
			
		||||
#define AV_CPU_FLAG_AMD3DNOWEXT AV_CPU_FLAG_3DNOWEXT
 | 
			
		||||
 | 
			
		||||
#define X86_AMD3DNOW(flags)         CPUEXT(flags, AMD3DNOW)
 | 
			
		||||
#define X86_AMD3DNOWEXT(flags)      CPUEXT(flags, AMD3DNOWEXT)
 | 
			
		||||
#define X86_MMX(flags)              CPUEXT(flags, MMX)
 | 
			
		||||
#define X86_MMXEXT(flags)           CPUEXT(flags, MMXEXT)
 | 
			
		||||
#define X86_SSE(flags)              CPUEXT(flags, SSE)
 | 
			
		||||
#define X86_SSE2(flags)             CPUEXT(flags, SSE2)
 | 
			
		||||
#define X86_SSE3(flags)             CPUEXT(flags, SSE3)
 | 
			
		||||
#define X86_SSSE3(flags)            CPUEXT(flags, SSSE3)
 | 
			
		||||
#define X86_SSE4(flags)             CPUEXT(flags, SSE4)
 | 
			
		||||
#define X86_SSE42(flags)            CPUEXT(flags, SSE42)
 | 
			
		||||
#define X86_AVX(flags)              CPUEXT(flags, AVX)
 | 
			
		||||
#define X86_FMA4(flags)             CPUEXT(flags, FMA4)
 | 
			
		||||
 | 
			
		||||
#define EXTERNAL_AMD3DNOW(flags)    CPUEXT_SUFFIX(flags, _EXTERNAL, AMD3DNOW)
 | 
			
		||||
#define EXTERNAL_AMD3DNOWEXT(flags) CPUEXT_SUFFIX(flags, _EXTERNAL, AMD3DNOWEXT)
 | 
			
		||||
#define EXTERNAL_MMX(flags)         CPUEXT_SUFFIX(flags, _EXTERNAL, MMX)
 | 
			
		||||
 
 | 
			
		||||
@@ -1120,9 +1120,8 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter,
 | 
			
		||||
        } else
 | 
			
		||||
#endif /* HAVE_MMXEXT_INLINE */
 | 
			
		||||
        {
 | 
			
		||||
            const int filterAlign =
 | 
			
		||||
                (HAVE_MMX && cpu_flags & AV_CPU_FLAG_MMX) ? 4 :
 | 
			
		||||
                PPC_ALTIVEC(cpu_flags)                    ? 8 : 1;
 | 
			
		||||
            const int filterAlign = X86_MMX(cpu_flags)     ? 4 :
 | 
			
		||||
                                    PPC_ALTIVEC(cpu_flags) ? 8 : 1;
 | 
			
		||||
 | 
			
		||||
            if (initFilter(&c->hLumFilter, &c->hLumFilterPos,
 | 
			
		||||
                           &c->hLumFilterSize, c->lumXInc,
 | 
			
		||||
@@ -1143,9 +1142,8 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter,
 | 
			
		||||
 | 
			
		||||
    /* precalculate vertical scaler filter coefficients */
 | 
			
		||||
    {
 | 
			
		||||
        const int filterAlign =
 | 
			
		||||
            (HAVE_MMX && cpu_flags & AV_CPU_FLAG_MMX) ? 2 :
 | 
			
		||||
            PPC_ALTIVEC(cpu_flags)                    ? 8 : 1;
 | 
			
		||||
        const int filterAlign = X86_MMX(cpu_flags)     ? 2 :
 | 
			
		||||
                                PPC_ALTIVEC(cpu_flags) ? 8 : 1;
 | 
			
		||||
 | 
			
		||||
        if (initFilter(&c->vLumFilter, &c->vLumFilterPos, &c->vLumFilterSize,
 | 
			
		||||
                       c->lumYInc, srcH, dstH, filterAlign, (1 << 12),
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user