2 * Copyright (c) 2010 The VP8 project authors. All Rights Reserved.
4 * Use of this source code is governed by a BSD-style license and patent
5 * grant that can be found in the LICENSE file in the root of the source
6 * tree. All contributing project authors may be found in the AUTHORS
7 * file in the root of the source tree.
11 #ifndef LOOPFILTER_X86_H
12 #define LOOPFILTER_X86_H
16 * This platform is commonly built for runtime CPU detection. If you modify
17 * any of the function mappings present in this file, be sure to also update
18 * them in the function pointer initialization code
22 extern prototype_loopfilter_block(vp8_loop_filter_mbv_mmx
);
23 extern prototype_loopfilter_block(vp8_loop_filter_bv_mmx
);
24 extern prototype_loopfilter_block(vp8_loop_filter_mbh_mmx
);
25 extern prototype_loopfilter_block(vp8_loop_filter_bh_mmx
);
26 extern prototype_loopfilter_block(vp8_loop_filter_mbvs_mmx
);
27 extern prototype_loopfilter_block(vp8_loop_filter_bvs_mmx
);
28 extern prototype_loopfilter_block(vp8_loop_filter_mbhs_mmx
);
29 extern prototype_loopfilter_block(vp8_loop_filter_bhs_mmx
);
32 #if !CONFIG_RUNTIME_CPU_DETECT
33 #undef vp8_lf_normal_mb_v
34 #define vp8_lf_normal_mb_v vp8_loop_filter_mbv_mmx
36 #undef vp8_lf_normal_b_v
37 #define vp8_lf_normal_b_v vp8_loop_filter_bv_mmx
39 #undef vp8_lf_normal_mb_h
40 #define vp8_lf_normal_mb_h vp8_loop_filter_mbh_mmx
42 #undef vp8_lf_normal_b_h
43 #define vp8_lf_normal_b_h vp8_loop_filter_bh_mmx
45 #undef vp8_lf_simple_mb_v
46 #define vp8_lf_simple_mb_v vp8_loop_filter_mbvs_mmx
48 #undef vp8_lf_simple_b_v
49 #define vp8_lf_simple_b_v vp8_loop_filter_bvs_mmx
51 #undef vp8_lf_simple_mb_h
52 #define vp8_lf_simple_mb_h vp8_loop_filter_mbhs_mmx
54 #undef vp8_lf_simple_b_h
55 #define vp8_lf_simple_b_h vp8_loop_filter_bhs_mmx
61 extern prototype_loopfilter_block(vp8_loop_filter_mbv_sse2
);
62 extern prototype_loopfilter_block(vp8_loop_filter_bv_sse2
);
63 extern prototype_loopfilter_block(vp8_loop_filter_mbh_sse2
);
64 extern prototype_loopfilter_block(vp8_loop_filter_bh_sse2
);
65 extern prototype_loopfilter_block(vp8_loop_filter_mbvs_sse2
);
66 extern prototype_loopfilter_block(vp8_loop_filter_bvs_sse2
);
67 extern prototype_loopfilter_block(vp8_loop_filter_mbhs_sse2
);
68 extern prototype_loopfilter_block(vp8_loop_filter_bhs_sse2
);
71 #if !CONFIG_RUNTIME_CPU_DETECT
72 #undef vp8_lf_normal_mb_v
73 #define vp8_lf_normal_mb_v vp8_loop_filter_mbv_sse2
75 #undef vp8_lf_normal_b_v
76 #define vp8_lf_normal_b_v vp8_loop_filter_bv_sse2
78 #undef vp8_lf_normal_mb_h
79 #define vp8_lf_normal_mb_h vp8_loop_filter_mbh_sse2
81 #undef vp8_lf_normal_b_h
82 #define vp8_lf_normal_b_h vp8_loop_filter_bh_sse2
84 #undef vp8_lf_simple_mb_v
85 #define vp8_lf_simple_mb_v vp8_loop_filter_mbvs_sse2
87 #undef vp8_lf_simple_b_v
88 #define vp8_lf_simple_b_v vp8_loop_filter_bvs_sse2
90 #undef vp8_lf_simple_mb_h
91 #define vp8_lf_simple_mb_h vp8_loop_filter_mbhs_sse2
93 #undef vp8_lf_simple_b_h
94 #define vp8_lf_simple_b_h vp8_loop_filter_bhs_sse2