annotate mmx_defs.h @ 9076:92014b66ed3d

ability to disable the nonsense expand filter is a must! otherwise it's impossible to render subtitles earlier in the filter chain and then scale them down with a scale filter; huge subs will get rendered again on top!! (think dvd/vobsub where you can't just use smaller font size) if anyone has a better way to handle this, do it! (e.g. make it so that the first expand filter disabled osd for the rest of the filter chain)
author rfelker
date Fri, 24 Jan 2003 01:04:50 +0000
parents e9bd97d5c5cc
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2516
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
1 /*
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
2 This file contains most common definitions to make MMX stuff
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
3 easy portable between different kinds of mmx clones
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
4 Written By Nick Kurshev <nickols_k@mail.ru>
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
5 */
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
6
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
7 #ifndef MMXDEFS_INCLUDED
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
8 #define MMXDEFS_INCLUDED
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
9
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
10 #include "config.h"
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
11
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
12 #undef HAVE_MMX1
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
13 #if defined(HAVE_MMX) && !defined(HAVE_MMX2) && !defined(HAVE_3DNOW) && !defined(HAVE_SSE)
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
14 #define HAVE_MMX1
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
15 #endif
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
16
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
17 #undef HAVE_K6_2PLUS
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
18 #if !defined( HAVE_MMX2 ) && defined( HAVE_3DNOW )
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
19 #define HAVE_K6_2PLUS
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
20 #endif
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
21
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
22 #ifdef HAVE_SSE2
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
23 #define MMREG_SIZE 16
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
24 #else
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
25 #define MMREG_SIZE 8
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
26 #endif
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
27
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
28 #ifdef HAVE_3DNOW
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
29 #define PREFETCH "prefetch"
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
30 #define PREFETCHW "prefetchw"
2551
4c074b58b4b6 PAVGB support
nick
parents: 2516
diff changeset
31 #define PAVGB "pavgusb"
2516
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
32 #elif defined ( HAVE_MMX2 )
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
33 #define PREFETCH "prefetchnta"
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
34 #define PREFETCHW "prefetcht0"
2551
4c074b58b4b6 PAVGB support
nick
parents: 2516
diff changeset
35 #define PAVGB "pavgb"
2516
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
36 #else
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
37 #define PREFETCH "/nop"
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
38 #define PREFETCHW "/nop"
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
39 #endif
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
40
2551
4c074b58b4b6 PAVGB support
nick
parents: 2516
diff changeset
41 #ifdef HAVE_3DNOW
2516
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
42 /* On K6 femms is faster of emms. On K7 femms is directly mapped on emms. */
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
43 #define EMMS "femms"
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
44 #else
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
45 #define EMMS "emms"
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
46 #endif
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
47
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
48 #ifdef HAVE_MMX2
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
49 #define MOVNTQ "movntq"
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
50 #define SFENCE "sfence"
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
51 #else
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
52 #define MOVNTQ "movq"
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
53 #define SFENCE "/nop"
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
54 #endif
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
55
9ef4fa15b780 More elegant solution
nick
parents:
diff changeset
56
6335
e9bd97d5c5cc warning & newline fixes by Dominik Mierzejewski <dominik@rangers.eu.org>
arpi
parents: 2551
diff changeset
57 #endif