• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3  *
4  *  Use of this source code is governed by a BSD-style license
5  *  that can be found in the LICENSE file in the root of the source
6  *  tree. An additional intellectual property rights grant can be found
7  *  in the file PATENTS.  All contributing project authors may
8  *  be found in the AUTHORS file in the root of the source tree.
9  */
10 
11 
12 #ifndef DCT_X86_H
13 #define DCT_X86_H
14 
15 
16 /* Note:
17  *
18  * This platform is commonly built for runtime CPU detection. If you modify
19  * any of the function mappings present in this file, be sure to also update
20  * them in the function pointer initialization code
21  */
22 #if HAVE_MMX
23 extern prototype_fdct(vp8_short_fdct4x4_mmx);
24 extern prototype_fdct(vp8_short_fdct8x4_mmx);
25 
26 #if !CONFIG_RUNTIME_CPU_DETECT
27 #if 0
28 #undef  vp8_fdct_short4x4
29 #define vp8_fdct_short4x4 vp8_short_fdct4x4_mmx
30 
31 #undef  vp8_fdct_short8x4
32 #define vp8_fdct_short8x4 vp8_short_fdct8x4_mmx
33 #endif
34 
35 #endif
36 #endif
37 
38 
39 #if HAVE_SSE2
40 extern prototype_fdct(vp8_short_fdct8x4_wmt);
41 extern prototype_fdct(vp8_short_walsh4x4_sse2);
42 
43 extern prototype_fdct(vp8_short_fdct4x4_sse2);
44 
45 #if !CONFIG_RUNTIME_CPU_DETECT
46 #if 1
47 /* short SSE2 DCT currently disabled, does not match the MMX version */
48 #undef  vp8_fdct_short4x4
49 #define vp8_fdct_short4x4 vp8_short_fdct4x4_sse2
50 
51 #undef  vp8_fdct_short8x4
52 #define vp8_fdct_short8x4 vp8_short_fdct8x4_sse2
53 #endif
54 
55 #undef  vp8_fdct_fast4x4
56 #define vp8_fdct_fast4x4 vp8_short_fdct4x4_sse2
57 
58 #undef  vp8_fdct_fast8x4
59 #define vp8_fdct_fast8x4 vp8_short_fdct8x4_sse2
60 
61 #undef vp8_fdct_walsh_short4x4
62 #define vp8_fdct_walsh_short4x4  vp8_short_walsh4x4_sse2
63 
64 #endif
65 
66 
67 #endif
68 
69 #endif
70