mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
fix runtime-cpu-detect bug in swscale
swscale doesnt ever actually do any runtime detection at all when runtime cpu detection is enabled, it simply passes whatever is passed to -sws_flags, which could be nothing at all making swscale default to the C implementation.
This commit is contained in:
parent
434f248723
commit
30c6fefd01
@ -62,6 +62,7 @@ untested special converters
|
||||
#include "rgb2rgb.h"
|
||||
#include "libavutil/intreadwrite.h"
|
||||
#include "libavutil/x86_cpu.h"
|
||||
#include "libavutil/cpu.h"
|
||||
#include "libavutil/avutil.h"
|
||||
#include "libavutil/mathematics.h"
|
||||
#include "libavutil/bswap.h"
|
||||
@ -1315,6 +1316,12 @@ SwsFunc ff_getSwsFunc(SwsContext *c)
|
||||
#if CONFIG_RUNTIME_CPUDETECT
|
||||
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
|
||||
// ordered per speed fastest first
|
||||
if (flags & SWS_CPU_CAPS_MMX2) {
|
||||
|
Loading…
Reference in New Issue
Block a user