annotate x86/cpuid.c @ 12197:fbf4d5b1b664 libavcodec

Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than regular MMX code. Examples of this are the Core1 CPU. Instead, set a new flag, FF_MM_SSE2/3SLOW, which can be checked for particular SSE2/3 functions that have been checked specifically on such CPUs and are actually faster than their MMX counterparts. In addition, use this flag to enable particular VP8 and LPC SSE2 functions that are faster than their MMX counterparts. Based on a patch by Loren Merritt <lorenm AT u washington edu>.
author rbultje
date Mon, 19 Jul 2010 22:38:23 +0000
parents 7f594601d5e9
children a5ddb39627fd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8430
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
1 /*
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
2 * CPU detection code, extracted from mmx.h
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
3 * (c)1997-99 by H. Dietz and R. Fisher
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
4 * Converted to C and improved by Fabrice Bellard.
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
5 *
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
6 * This file is part of FFmpeg.
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
7 *
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
8 * FFmpeg is free software; you can redistribute it and/or
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
9 * modify it under the terms of the GNU Lesser General Public
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
10 * License as published by the Free Software Foundation; either
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
11 * version 2.1 of the License, or (at your option) any later version.
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
12 *
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
13 * FFmpeg is distributed in the hope that it will be useful,
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
16 * Lesser General Public License for more details.
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
17 *
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
18 * You should have received a copy of the GNU Lesser General Public
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
19 * License along with FFmpeg; if not, write to the Free Software
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
21 */
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
22
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
23 #include <stdlib.h>
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
24 #include "libavutil/x86_cpu.h"
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
25 #include "libavcodec/dsputil.h"
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
26
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
27 #undef printf
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
28
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
29 /* ebx saving is necessary for PIC. gcc seems unable to see it alone */
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
30 #define cpuid(index,eax,ebx,ecx,edx)\
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
31 __asm__ volatile\
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
32 ("mov %%"REG_b", %%"REG_S"\n\t"\
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
33 "cpuid\n\t"\
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
34 "xchg %%"REG_b", %%"REG_S\
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
35 : "=a" (eax), "=S" (ebx),\
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
36 "=c" (ecx), "=d" (edx)\
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
37 : "0" (index));
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
38
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
39 /* Function to test if multimedia instructions are supported... */
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
40 int mm_support(void)
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
41 {
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
42 int rval = 0;
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
43 int eax, ebx, ecx, edx;
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
44 int max_std_level, max_ext_level, std_caps=0, ext_caps=0;
12197
fbf4d5b1b664 Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than
rbultje
parents: 9342
diff changeset
45 int family=0, model=0;
fbf4d5b1b664 Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than
rbultje
parents: 9342
diff changeset
46 union { int i[3]; char c[12]; } vendor;
9015
a50419dcda53 Remove CPUID availability check on AMD64 as it's architectural.
zuxy
parents: 8590
diff changeset
47
a50419dcda53 Remove CPUID availability check on AMD64 as it's architectural.
zuxy
parents: 8590
diff changeset
48 #if ARCH_X86_32
8430
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
49 x86_reg a, c;
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
50 __asm__ volatile (
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
51 /* See if CPUID instruction is supported ... */
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
52 /* ... Get copies of EFLAGS into eax and ecx */
9015
a50419dcda53 Remove CPUID availability check on AMD64 as it's architectural.
zuxy
parents: 8590
diff changeset
53 "pushfl\n\t"
8430
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
54 "pop %0\n\t"
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
55 "mov %0, %1\n\t"
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
56
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
57 /* ... Toggle the ID bit in one copy and store */
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
58 /* to the EFLAGS reg */
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
59 "xor $0x200000, %0\n\t"
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
60 "push %0\n\t"
9015
a50419dcda53 Remove CPUID availability check on AMD64 as it's architectural.
zuxy
parents: 8590
diff changeset
61 "popfl\n\t"
8430
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
62
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
63 /* ... Get the (hopefully modified) EFLAGS */
9015
a50419dcda53 Remove CPUID availability check on AMD64 as it's architectural.
zuxy
parents: 8590
diff changeset
64 "pushfl\n\t"
8430
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
65 "pop %0\n\t"
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
66 : "=a" (a), "=c" (c)
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
67 :
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
68 : "cc"
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
69 );
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
70
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
71 if (a == c)
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
72 return 0; /* CPUID not supported */
9015
a50419dcda53 Remove CPUID availability check on AMD64 as it's architectural.
zuxy
parents: 8590
diff changeset
73 #endif
8430
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
74
12197
fbf4d5b1b664 Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than
rbultje
parents: 9342
diff changeset
75 cpuid(0, max_std_level, vendor.i[0], vendor.i[2], vendor.i[1]);
8430
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
76
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
77 if(max_std_level >= 1){
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
78 cpuid(1, eax, ebx, ecx, std_caps);
12197
fbf4d5b1b664 Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than
rbultje
parents: 9342
diff changeset
79 family = ((eax>>8)&0xf) + ((eax>>20)&0xff);
fbf4d5b1b664 Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than
rbultje
parents: 9342
diff changeset
80 model = ((eax>>4)&0xf) + ((eax>>12)&0xf0);
8430
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
81 if (std_caps & (1<<23))
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
82 rval |= FF_MM_MMX;
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
83 if (std_caps & (1<<25))
9342
7f594601d5e9 Rename FF_MM_MMXEXT to FF_MM_MMX2, for both clarity and consistency
stefano
parents: 9329
diff changeset
84 rval |= FF_MM_MMX2
8590
7a463923ecd1 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
aurel
parents: 8552
diff changeset
85 #if HAVE_SSE
8430
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
86 | FF_MM_SSE;
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
87 if (std_caps & (1<<26))
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
88 rval |= FF_MM_SSE2;
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
89 if (ecx & 1)
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
90 rval |= FF_MM_SSE3;
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
91 if (ecx & 0x00000200 )
9329
263add3e2616 Add SSE4 detection support
conrad
parents: 9015
diff changeset
92 rval |= FF_MM_SSSE3;
263add3e2616 Add SSE4 detection support
conrad
parents: 9015
diff changeset
93 if (ecx & 0x00080000 )
263add3e2616 Add SSE4 detection support
conrad
parents: 9015
diff changeset
94 rval |= FF_MM_SSE4;
263add3e2616 Add SSE4 detection support
conrad
parents: 9015
diff changeset
95 if (ecx & 0x00100000 )
263add3e2616 Add SSE4 detection support
conrad
parents: 9015
diff changeset
96 rval |= FF_MM_SSE42;
8430
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
97 #endif
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
98 ;
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
99 }
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
100
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
101 cpuid(0x80000000, max_ext_level, ebx, ecx, edx);
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
102
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
103 if(max_ext_level >= 0x80000001){
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
104 cpuid(0x80000001, eax, ebx, ecx, ext_caps);
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
105 if (ext_caps & (1<<31))
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
106 rval |= FF_MM_3DNOW;
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
107 if (ext_caps & (1<<30))
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
108 rval |= FF_MM_3DNOWEXT;
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
109 if (ext_caps & (1<<23))
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
110 rval |= FF_MM_MMX;
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
111 if (ext_caps & (1<<22))
9342
7f594601d5e9 Rename FF_MM_MMXEXT to FF_MM_MMX2, for both clarity and consistency
stefano
parents: 9329
diff changeset
112 rval |= FF_MM_MMX2;
8430
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
113 }
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
114
12197
fbf4d5b1b664 Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than
rbultje
parents: 9342
diff changeset
115 if (!strncmp(vendor.c, "GenuineIntel", 12) &&
fbf4d5b1b664 Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than
rbultje
parents: 9342
diff changeset
116 family == 6 && (model == 9 || model == 13 || model == 14)) {
fbf4d5b1b664 Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than
rbultje
parents: 9342
diff changeset
117 /* 6/9 (pentium-m "banias"), 6/13 (pentium-m "dothan"), and 6/14 (core1 "yonah")
fbf4d5b1b664 Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than
rbultje
parents: 9342
diff changeset
118 * theoretically support sse2, but it's usually slower than mmx,
fbf4d5b1b664 Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than
rbultje
parents: 9342
diff changeset
119 * so let's just pretend they don't. */
fbf4d5b1b664 Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than
rbultje
parents: 9342
diff changeset
120 if (rval & FF_MM_SSE2) rval ^= FF_MM_SSE2SLOW|FF_MM_SSE2;
fbf4d5b1b664 Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than
rbultje
parents: 9342
diff changeset
121 if (rval & FF_MM_SSE3) rval ^= FF_MM_SSE3SLOW|FF_MM_SSE3;
fbf4d5b1b664 Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than
rbultje
parents: 9342
diff changeset
122 }
fbf4d5b1b664 Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than
rbultje
parents: 9342
diff changeset
123
8430
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
124 #if 0
12197
fbf4d5b1b664 Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than
rbultje
parents: 9342
diff changeset
125 av_log(NULL, AV_LOG_DEBUG, "%s%s%s%s%s%s%s%s%s%s%s%s\n",
8430
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
126 (rval&FF_MM_MMX) ? "MMX ":"",
9342
7f594601d5e9 Rename FF_MM_MMXEXT to FF_MM_MMX2, for both clarity and consistency
stefano
parents: 9329
diff changeset
127 (rval&FF_MM_MMX2) ? "MMX2 ":"",
8430
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
128 (rval&FF_MM_SSE) ? "SSE ":"",
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
129 (rval&FF_MM_SSE2) ? "SSE2 ":"",
12197
fbf4d5b1b664 Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than
rbultje
parents: 9342
diff changeset
130 (rval&FF_MM_SSE2SLOW) ? "SSE2(slow) ":"",
8430
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
131 (rval&FF_MM_SSE3) ? "SSE3 ":"",
12197
fbf4d5b1b664 Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than
rbultje
parents: 9342
diff changeset
132 (rval&FF_MM_SSE3SLOW) ? "SSE3(slow) ":"",
8430
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
133 (rval&FF_MM_SSSE3) ? "SSSE3 ":"",
9329
263add3e2616 Add SSE4 detection support
conrad
parents: 9015
diff changeset
134 (rval&FF_MM_SSE4) ? "SSE4.1 ":"",
263add3e2616 Add SSE4 detection support
conrad
parents: 9015
diff changeset
135 (rval&FF_MM_SSE42) ? "SSE4.2 ":"",
8430
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
136 (rval&FF_MM_3DNOW) ? "3DNow ":"",
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
137 (rval&FF_MM_3DNOWEXT) ? "3DNowExt ":"");
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
138 #endif
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
139 return rval;
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
140 }
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
141
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
142 #ifdef TEST
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
143 int main ( void )
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
144 {
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
145 int mm_flags;
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
146 mm_flags = mm_support();
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
147 printf("mm_support = 0x%08X\n",mm_flags);
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
148 return 0;
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
149 }
7768bdfd4f7b Rename libavcodec/i386/ --> libavcodec/x86/.
diego
parents:
diff changeset
150 #endif