diff options
Diffstat (limited to 'Gui/wm/ws.c')
-rw-r--r-- | Gui/wm/ws.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Gui/wm/ws.c b/Gui/wm/ws.c index e6fef14c0e..3b021fed6b 100644 --- a/Gui/wm/ws.c +++ b/Gui/wm/ws.c @@ -22,6 +22,8 @@ #include "../../libvo/x11_common.h" #include "ws.h" #include "wsxdnd.h" +#include "../../cpudetect.h" +#include "../../postproc/swscale.h" #include "../../postproc/rgb2rgb.h" #include "../../mp_msg.h" #include "../../mplayer.h" @@ -81,6 +83,13 @@ inline int wsSearch( Window win ); // --- +static int get_sws_cpuflags() +{ + return (gCpuCaps.hasMMX ? SWS_CPU_CAPS_MMX : 0) | + (gCpuCaps.hasMMX2 ? SWS_CPU_CAPS_MMX2 : 0) | + (gCpuCaps.has3DNow ? SWS_CPU_CAPS_3DNOW : 0); +} + #define PACK_RGB16(r,g,b,pixel) pixel=(b>>3);\ pixel<<=6;\ pixel|=(g>>2);\ @@ -281,6 +290,7 @@ wsXDNDInitialize(); wsConvFunc=rgb32tobgr15; break; } + sws_rgb2rgb_init(get_sws_cpuflags()); XSetErrorHandler( wsErrorHandler ); } |