• 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 LOOPFILTER_X86_H
13 #define LOOPFILTER_X86_H
14 
15 /* Note:
16  *
17  * This platform is commonly built for runtime CPU detection. If you modify
18  * any of the function mappings present in this file, be sure to also update
19  * them in the function pointer initialization code
20  */
21 
22 #if HAVE_MMX
23 extern prototype_loopfilter_block(vp8_loop_filter_mbv_mmx);
24 extern prototype_loopfilter_block(vp8_loop_filter_bv_mmx);
25 extern prototype_loopfilter_block(vp8_loop_filter_mbh_mmx);
26 extern prototype_loopfilter_block(vp8_loop_filter_bh_mmx);
27 extern prototype_loopfilter_block(vp8_loop_filter_mbvs_mmx);
28 extern prototype_loopfilter_block(vp8_loop_filter_bvs_mmx);
29 extern prototype_loopfilter_block(vp8_loop_filter_mbhs_mmx);
30 extern prototype_loopfilter_block(vp8_loop_filter_bhs_mmx);
31 
32 
33 #if !CONFIG_RUNTIME_CPU_DETECT
34 #undef  vp8_lf_normal_mb_v
35 #define vp8_lf_normal_mb_v vp8_loop_filter_mbv_mmx
36 
37 #undef  vp8_lf_normal_b_v
38 #define vp8_lf_normal_b_v vp8_loop_filter_bv_mmx
39 
40 #undef  vp8_lf_normal_mb_h
41 #define vp8_lf_normal_mb_h vp8_loop_filter_mbh_mmx
42 
43 #undef  vp8_lf_normal_b_h
44 #define vp8_lf_normal_b_h vp8_loop_filter_bh_mmx
45 
46 #undef  vp8_lf_simple_mb_v
47 #define vp8_lf_simple_mb_v vp8_loop_filter_mbvs_mmx
48 
49 #undef  vp8_lf_simple_b_v
50 #define vp8_lf_simple_b_v vp8_loop_filter_bvs_mmx
51 
52 #undef  vp8_lf_simple_mb_h
53 #define vp8_lf_simple_mb_h vp8_loop_filter_mbhs_mmx
54 
55 #undef  vp8_lf_simple_b_h
56 #define vp8_lf_simple_b_h vp8_loop_filter_bhs_mmx
57 #endif
58 #endif
59 
60 
61 #if HAVE_SSE2
62 extern prototype_loopfilter_block(vp8_loop_filter_mbv_sse2);
63 extern prototype_loopfilter_block(vp8_loop_filter_bv_sse2);
64 extern prototype_loopfilter_block(vp8_loop_filter_mbh_sse2);
65 extern prototype_loopfilter_block(vp8_loop_filter_bh_sse2);
66 extern prototype_loopfilter_block(vp8_loop_filter_mbvs_sse2);
67 extern prototype_loopfilter_block(vp8_loop_filter_bvs_sse2);
68 extern prototype_loopfilter_block(vp8_loop_filter_mbhs_sse2);
69 extern prototype_loopfilter_block(vp8_loop_filter_bhs_sse2);
70 
71 
72 #if !CONFIG_RUNTIME_CPU_DETECT
73 #undef  vp8_lf_normal_mb_v
74 #define vp8_lf_normal_mb_v vp8_loop_filter_mbv_sse2
75 
76 #undef  vp8_lf_normal_b_v
77 #define vp8_lf_normal_b_v vp8_loop_filter_bv_sse2
78 
79 #undef  vp8_lf_normal_mb_h
80 #define vp8_lf_normal_mb_h vp8_loop_filter_mbh_sse2
81 
82 #undef  vp8_lf_normal_b_h
83 #define vp8_lf_normal_b_h vp8_loop_filter_bh_sse2
84 
85 #undef  vp8_lf_simple_mb_v
86 #define vp8_lf_simple_mb_v vp8_loop_filter_mbvs_sse2
87 
88 #undef  vp8_lf_simple_b_v
89 #define vp8_lf_simple_b_v vp8_loop_filter_bvs_sse2
90 
91 #undef  vp8_lf_simple_mb_h
92 #define vp8_lf_simple_mb_h vp8_loop_filter_mbhs_sse2
93 
94 #undef  vp8_lf_simple_b_h
95 #define vp8_lf_simple_b_h vp8_loop_filter_bhs_sse2
96 #endif
97 #endif
98 
99 
100 #endif
101