2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
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.
12 #ifndef LOOPFILTER_X86_H
13 #define LOOPFILTER_X86_H
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
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
);
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
37 #undef vp8_lf_normal_b_v
38 #define vp8_lf_normal_b_v vp8_loop_filter_bv_mmx
40 #undef vp8_lf_normal_mb_h
41 #define vp8_lf_normal_mb_h vp8_loop_filter_mbh_mmx
43 #undef vp8_lf_normal_b_h
44 #define vp8_lf_normal_b_h vp8_loop_filter_bh_mmx
46 #undef vp8_lf_simple_mb_v
47 #define vp8_lf_simple_mb_v vp8_loop_filter_mbvs_mmx
49 #undef vp8_lf_simple_b_v
50 #define vp8_lf_simple_b_v vp8_loop_filter_bvs_mmx
52 #undef vp8_lf_simple_mb_h
53 #define vp8_lf_simple_mb_h vp8_loop_filter_mbhs_mmx
55 #undef vp8_lf_simple_b_h
56 #define vp8_lf_simple_b_h vp8_loop_filter_bhs_mmx
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
);
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
76 #undef vp8_lf_normal_b_v
77 #define vp8_lf_normal_b_v vp8_loop_filter_bv_sse2
79 #undef vp8_lf_normal_mb_h
80 #define vp8_lf_normal_mb_h vp8_loop_filter_mbh_sse2
82 #undef vp8_lf_normal_b_h
83 #define vp8_lf_normal_b_h vp8_loop_filter_bh_sse2
85 #undef vp8_lf_simple_mb_v
86 #define vp8_lf_simple_mb_v vp8_loop_filter_mbvs_sse2
88 #undef vp8_lf_simple_b_v
89 #define vp8_lf_simple_b_v vp8_loop_filter_bvs_sse2
91 #undef vp8_lf_simple_mb_h
92 #define vp8_lf_simple_mb_h vp8_loop_filter_mbhs_sse2
94 #undef vp8_lf_simple_b_h
95 #define vp8_lf_simple_b_h vp8_loop_filter_bhs_sse2