Mercurial > mplayer.hg
view mmx_defs.h @ 10956:fdcd0d571912
support for selecting which plane to use for metrics in the pullup
core (one of the chroma planes could be used for much lower cpu load
at the expense of some accuracy) and turning off verbose mode.
author | rfelker |
---|---|
date | Sun, 28 Sep 2003 03:37:42 +0000 |
parents | e9bd97d5c5cc |
children |
line wrap: on
line source
/* This file contains most common definitions to make MMX stuff easy portable between different kinds of mmx clones Written By Nick Kurshev <nickols_k@mail.ru> */ #ifndef MMXDEFS_INCLUDED #define MMXDEFS_INCLUDED #include "config.h" #undef HAVE_MMX1 #if defined(HAVE_MMX) && !defined(HAVE_MMX2) && !defined(HAVE_3DNOW) && !defined(HAVE_SSE) #define HAVE_MMX1 #endif #undef HAVE_K6_2PLUS #if !defined( HAVE_MMX2 ) && defined( HAVE_3DNOW ) #define HAVE_K6_2PLUS #endif #ifdef HAVE_SSE2 #define MMREG_SIZE 16 #else #define MMREG_SIZE 8 #endif #ifdef HAVE_3DNOW #define PREFETCH "prefetch" #define PREFETCHW "prefetchw" #define PAVGB "pavgusb" #elif defined ( HAVE_MMX2 ) #define PREFETCH "prefetchnta" #define PREFETCHW "prefetcht0" #define PAVGB "pavgb" #else #define PREFETCH "/nop" #define PREFETCHW "/nop" #endif #ifdef HAVE_3DNOW /* On K6 femms is faster of emms. On K7 femms is directly mapped on emms. */ #define EMMS "femms" #else #define EMMS "emms" #endif #ifdef HAVE_MMX2 #define MOVNTQ "movntq" #define SFENCE "sfence" #else #define MOVNTQ "movq" #define SFENCE "/nop" #endif #endif