mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
Fix runtime CPU detection in libswscale.
This commit is contained in:
parent
075933a068
commit
93c28a55fd
@ -199,7 +199,7 @@ DECLARE_ASM_CONST(8, uint64_t, blue_15mask) = 0x0000001f0000001fULL;
|
|||||||
|
|
||||||
void sws_rgb2rgb_init(int flags)
|
void sws_rgb2rgb_init(int flags)
|
||||||
{
|
{
|
||||||
#if HAVE_MMX2 || HAVE_AMD3DNOW || HAVE_MMX
|
#if HAVE_SSE2 || HAVE_MMX2 || HAVE_AMD3DNOW || HAVE_MMX
|
||||||
if (flags & SWS_CPU_CAPS_SSE2)
|
if (flags & SWS_CPU_CAPS_SSE2)
|
||||||
rgb2rgb_init_SSE2();
|
rgb2rgb_init_SSE2();
|
||||||
else if (flags & SWS_CPU_CAPS_MMX2)
|
else if (flags & SWS_CPU_CAPS_MMX2)
|
||||||
|
@ -62,7 +62,6 @@ untested special converters
|
|||||||
#include "rgb2rgb.h"
|
#include "rgb2rgb.h"
|
||||||
#include "libavutil/intreadwrite.h"
|
#include "libavutil/intreadwrite.h"
|
||||||
#include "libavutil/x86_cpu.h"
|
#include "libavutil/x86_cpu.h"
|
||||||
#include "libavutil/cpu.h"
|
|
||||||
#include "libavutil/avutil.h"
|
#include "libavutil/avutil.h"
|
||||||
#include "libavutil/mathematics.h"
|
#include "libavutil/mathematics.h"
|
||||||
#include "libavutil/bswap.h"
|
#include "libavutil/bswap.h"
|
||||||
@ -1314,12 +1313,6 @@ SwsFunc ff_getSwsFunc(SwsContext *c)
|
|||||||
#if CONFIG_RUNTIME_CPUDETECT
|
#if CONFIG_RUNTIME_CPUDETECT
|
||||||
int flags = c->flags;
|
int flags = c->flags;
|
||||||
|
|
||||||
int cpuflags = av_get_cpu_flags();
|
|
||||||
|
|
||||||
flags |= (cpuflags & AV_CPU_FLAG_MMX ? SWS_CPU_CAPS_MMX : 0);
|
|
||||||
flags |= (cpuflags & AV_CPU_FLAG_MMX2 ? SWS_CPU_CAPS_MMX2 : 0);
|
|
||||||
flags |= (cpuflags & AV_CPU_FLAG_3DNOW ? SWS_CPU_CAPS_3DNOW : 0);
|
|
||||||
|
|
||||||
#if ARCH_X86
|
#if ARCH_X86
|
||||||
// ordered per speed fastest first
|
// ordered per speed fastest first
|
||||||
if (flags & SWS_CPU_CAPS_MMX2) {
|
if (flags & SWS_CPU_CAPS_MMX2) {
|
||||||
|
@ -41,6 +41,7 @@
|
|||||||
#include "rgb2rgb.h"
|
#include "rgb2rgb.h"
|
||||||
#include "libavutil/intreadwrite.h"
|
#include "libavutil/intreadwrite.h"
|
||||||
#include "libavutil/x86_cpu.h"
|
#include "libavutil/x86_cpu.h"
|
||||||
|
#include "libavutil/cpu.h"
|
||||||
#include "libavutil/avutil.h"
|
#include "libavutil/avutil.h"
|
||||||
#include "libavutil/bswap.h"
|
#include "libavutil/bswap.h"
|
||||||
#include "libavutil/opt.h"
|
#include "libavutil/opt.h"
|
||||||
@ -742,6 +743,13 @@ static int update_flags_cpu(int flags)
|
|||||||
|SWS_CPU_CAPS_ALTIVEC
|
|SWS_CPU_CAPS_ALTIVEC
|
||||||
|SWS_CPU_CAPS_BFIN);
|
|SWS_CPU_CAPS_BFIN);
|
||||||
flags |= ff_hardcodedcpuflags();
|
flags |= ff_hardcodedcpuflags();
|
||||||
|
#else /* !CONFIG_RUNTIME_CPUDETECT */
|
||||||
|
int cpuflags = av_get_cpu_flags();
|
||||||
|
|
||||||
|
flags |= (cpuflags & AV_CPU_FLAG_SSE2 ? SWS_CPU_CAPS_SSE2 : 0);
|
||||||
|
flags |= (cpuflags & AV_CPU_FLAG_MMX ? SWS_CPU_CAPS_MMX : 0);
|
||||||
|
flags |= (cpuflags & AV_CPU_FLAG_MMX2 ? SWS_CPU_CAPS_MMX2 : 0);
|
||||||
|
flags |= (cpuflags & AV_CPU_FLAG_3DNOW ? SWS_CPU_CAPS_3DNOW : 0);
|
||||||
#endif /* CONFIG_RUNTIME_CPUDETECT */
|
#endif /* CONFIG_RUNTIME_CPUDETECT */
|
||||||
return flags;
|
return flags;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user