Commit f0a35623 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit '79aec43c'

* commit '79aec43c':
  x86: Add and use more convenience macros to check CPU extension availability
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 01a82f1d 79aec43c
...@@ -26,6 +26,19 @@ ...@@ -26,6 +26,19 @@
#define AV_CPU_FLAG_AMD3DNOW AV_CPU_FLAG_3DNOW #define AV_CPU_FLAG_AMD3DNOW AV_CPU_FLAG_3DNOW
#define AV_CPU_FLAG_AMD3DNOWEXT AV_CPU_FLAG_3DNOWEXT #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_AMD3DNOW(flags) CPUEXT_SUFFIX(flags, _EXTERNAL, AMD3DNOW)
#define EXTERNAL_AMD3DNOWEXT(flags) CPUEXT_SUFFIX(flags, _EXTERNAL, AMD3DNOWEXT) #define EXTERNAL_AMD3DNOWEXT(flags) CPUEXT_SUFFIX(flags, _EXTERNAL, AMD3DNOWEXT)
#define EXTERNAL_MMX(flags) CPUEXT_SUFFIX(flags, _EXTERNAL, MMX) #define EXTERNAL_MMX(flags) CPUEXT_SUFFIX(flags, _EXTERNAL, MMX)
......
...@@ -1411,9 +1411,8 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter, ...@@ -1411,9 +1411,8 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter,
} else } else
#endif /* HAVE_MMXEXT_INLINE */ #endif /* HAVE_MMXEXT_INLINE */
{ {
const int filterAlign = const int filterAlign = X86_MMX(cpu_flags) ? 4 :
(HAVE_MMX && cpu_flags & AV_CPU_FLAG_MMX) ? 4 : PPC_ALTIVEC(cpu_flags) ? 8 : 1;
PPC_ALTIVEC(cpu_flags) ? 8 : 1;
if (initFilter(&c->hLumFilter, &c->hLumFilterPos, if (initFilter(&c->hLumFilter, &c->hLumFilterPos,
&c->hLumFilterSize, c->lumXInc, &c->hLumFilterSize, c->lumXInc,
...@@ -1438,9 +1437,8 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter, ...@@ -1438,9 +1437,8 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter,
/* precalculate vertical scaler filter coefficients */ /* precalculate vertical scaler filter coefficients */
{ {
const int filterAlign = const int filterAlign = X86_MMX(cpu_flags) ? 2 :
(HAVE_MMX && cpu_flags & AV_CPU_FLAG_MMX) ? 2 : PPC_ALTIVEC(cpu_flags) ? 8 : 1;
PPC_ALTIVEC(cpu_flags) ? 8 : 1;
if (initFilter(&c->vLumFilter, &c->vLumFilterPos, &c->vLumFilterSize, if (initFilter(&c->vLumFilter, &c->vLumFilterPos, &c->vLumFilterSize,
c->lumYInc, srcH, dstH, filterAlign, (1 << 12), c->lumYInc, srcH, dstH, filterAlign, (1 << 12),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment