Merge "Skip computation of distortion in vp8_pick_inter_mode if active_map is used"
[libvpx.git] / vp8 / common / arm / loopfilter_arm.h
blob390a547b0776143bf7023043bcf38856a52df523
1 /*
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.
9 */
12 #ifndef LOOPFILTER_ARM_H
13 #define LOOPFILTER_ARM_H
15 #include "vpx_config.h"
17 #if HAVE_ARMV6
18 extern prototype_loopfilter_block(vp8_loop_filter_mbv_armv6);
19 extern prototype_loopfilter_block(vp8_loop_filter_bv_armv6);
20 extern prototype_loopfilter_block(vp8_loop_filter_mbh_armv6);
21 extern prototype_loopfilter_block(vp8_loop_filter_bh_armv6);
22 extern prototype_simple_loopfilter(vp8_loop_filter_bvs_armv6);
23 extern prototype_simple_loopfilter(vp8_loop_filter_bhs_armv6);
24 extern prototype_simple_loopfilter(vp8_loop_filter_simple_horizontal_edge_armv6);
25 extern prototype_simple_loopfilter(vp8_loop_filter_simple_vertical_edge_armv6);
27 #if !CONFIG_RUNTIME_CPU_DETECT
28 #undef vp8_lf_normal_mb_v
29 #define vp8_lf_normal_mb_v vp8_loop_filter_mbv_armv6
31 #undef vp8_lf_normal_b_v
32 #define vp8_lf_normal_b_v vp8_loop_filter_bv_armv6
34 #undef vp8_lf_normal_mb_h
35 #define vp8_lf_normal_mb_h vp8_loop_filter_mbh_armv6
37 #undef vp8_lf_normal_b_h
38 #define vp8_lf_normal_b_h vp8_loop_filter_bh_armv6
40 #undef vp8_lf_simple_mb_v
41 #define vp8_lf_simple_mb_v vp8_loop_filter_simple_vertical_edge_armv6
43 #undef vp8_lf_simple_b_v
44 #define vp8_lf_simple_b_v vp8_loop_filter_bvs_armv6
46 #undef vp8_lf_simple_mb_h
47 #define vp8_lf_simple_mb_h vp8_loop_filter_simple_horizontal_edge_armv6
49 #undef vp8_lf_simple_b_h
50 #define vp8_lf_simple_b_h vp8_loop_filter_bhs_armv6
51 #endif /* !CONFIG_RUNTIME_CPU_DETECT */
53 #endif /* HAVE_ARMV6 */
55 #if HAVE_ARMV7
56 extern prototype_loopfilter_block(vp8_loop_filter_mbv_neon);
57 extern prototype_loopfilter_block(vp8_loop_filter_bv_neon);
58 extern prototype_loopfilter_block(vp8_loop_filter_mbh_neon);
59 extern prototype_loopfilter_block(vp8_loop_filter_bh_neon);
60 extern prototype_simple_loopfilter(vp8_loop_filter_mbvs_neon);
61 extern prototype_simple_loopfilter(vp8_loop_filter_bvs_neon);
62 extern prototype_simple_loopfilter(vp8_loop_filter_mbhs_neon);
63 extern prototype_simple_loopfilter(vp8_loop_filter_bhs_neon);
65 #if !CONFIG_RUNTIME_CPU_DETECT
66 #undef vp8_lf_normal_mb_v
67 #define vp8_lf_normal_mb_v vp8_loop_filter_mbv_neon
69 #undef vp8_lf_normal_b_v
70 #define vp8_lf_normal_b_v vp8_loop_filter_bv_neon
72 #undef vp8_lf_normal_mb_h
73 #define vp8_lf_normal_mb_h vp8_loop_filter_mbh_neon
75 #undef vp8_lf_normal_b_h
76 #define vp8_lf_normal_b_h vp8_loop_filter_bh_neon
78 #undef vp8_lf_simple_mb_v
79 #define vp8_lf_simple_mb_v vp8_loop_filter_mbvs_neon
81 #undef vp8_lf_simple_b_v
82 #define vp8_lf_simple_b_v vp8_loop_filter_bvs_neon
84 #undef vp8_lf_simple_mb_h
85 #define vp8_lf_simple_mb_h vp8_loop_filter_mbhs_neon
87 #undef vp8_lf_simple_b_h
88 #define vp8_lf_simple_b_h vp8_loop_filter_bhs_neon
89 #endif /* !CONFIG_RUNTIME_CPU_DETECT */
91 #endif /* HAVE_ARMV7 */
93 #endif /* LOOPFILTER_ARM_H */