Merge "vp8_rd_pick_best_mbsegmentation code restructure"
[libvpx.git] / vp8 / common / arm / subpixel_arm.h
blob6288538d06fa19b208d54170009157e5a2682f64
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 SUBPIXEL_ARM_H
13 #define SUBPIXEL_ARM_H
15 #if HAVE_ARMV6
16 extern prototype_subpixel_predict(vp8_sixtap_predict16x16_armv6);
17 extern prototype_subpixel_predict(vp8_sixtap_predict8x8_armv6);
18 extern prototype_subpixel_predict(vp8_sixtap_predict8x4_armv6);
19 extern prototype_subpixel_predict(vp8_sixtap_predict_armv6);
20 extern prototype_subpixel_predict(vp8_bilinear_predict16x16_armv6);
21 extern prototype_subpixel_predict(vp8_bilinear_predict8x8_armv6);
22 extern prototype_subpixel_predict(vp8_bilinear_predict8x4_armv6);
23 extern prototype_subpixel_predict(vp8_bilinear_predict4x4_armv6);
25 #if !CONFIG_RUNTIME_CPU_DETECT
26 #undef vp8_subpix_sixtap16x16
27 #define vp8_subpix_sixtap16x16 vp8_sixtap_predict16x16_armv6
29 #undef vp8_subpix_sixtap8x8
30 #define vp8_subpix_sixtap8x8 vp8_sixtap_predict8x8_armv6
32 #undef vp8_subpix_sixtap8x4
33 #define vp8_subpix_sixtap8x4 vp8_sixtap_predict8x4_armv6
35 #undef vp8_subpix_sixtap4x4
36 #define vp8_subpix_sixtap4x4 vp8_sixtap_predict_armv6
38 #undef vp8_subpix_bilinear16x16
39 #define vp8_subpix_bilinear16x16 vp8_bilinear_predict16x16_armv6
41 #undef vp8_subpix_bilinear8x8
42 #define vp8_subpix_bilinear8x8 vp8_bilinear_predict8x8_armv6
44 #undef vp8_subpix_bilinear8x4
45 #define vp8_subpix_bilinear8x4 vp8_bilinear_predict8x4_armv6
47 #undef vp8_subpix_bilinear4x4
48 #define vp8_subpix_bilinear4x4 vp8_bilinear_predict4x4_armv6
49 #endif
50 #endif
52 #if HAVE_ARMV7
53 extern prototype_subpixel_predict(vp8_sixtap_predict16x16_neon);
54 extern prototype_subpixel_predict(vp8_sixtap_predict8x8_neon);
55 extern prototype_subpixel_predict(vp8_sixtap_predict8x4_neon);
56 extern prototype_subpixel_predict(vp8_sixtap_predict_neon);
57 extern prototype_subpixel_predict(vp8_bilinear_predict16x16_neon);
58 extern prototype_subpixel_predict(vp8_bilinear_predict8x8_neon);
59 extern prototype_subpixel_predict(vp8_bilinear_predict8x4_neon);
60 extern prototype_subpixel_predict(vp8_bilinear_predict4x4_neon);
62 #if !CONFIG_RUNTIME_CPU_DETECT
63 #undef vp8_subpix_sixtap16x16
64 #define vp8_subpix_sixtap16x16 vp8_sixtap_predict16x16_neon
66 #undef vp8_subpix_sixtap8x8
67 #define vp8_subpix_sixtap8x8 vp8_sixtap_predict8x8_neon
69 #undef vp8_subpix_sixtap8x4
70 #define vp8_subpix_sixtap8x4 vp8_sixtap_predict8x4_neon
72 #undef vp8_subpix_sixtap4x4
73 #define vp8_subpix_sixtap4x4 vp8_sixtap_predict_neon
75 #undef vp8_subpix_bilinear16x16
76 #define vp8_subpix_bilinear16x16 vp8_bilinear_predict16x16_neon
78 #undef vp8_subpix_bilinear8x8
79 #define vp8_subpix_bilinear8x8 vp8_bilinear_predict8x8_neon
81 #undef vp8_subpix_bilinear8x4
82 #define vp8_subpix_bilinear8x4 vp8_bilinear_predict8x4_neon
84 #undef vp8_subpix_bilinear4x4
85 #define vp8_subpix_bilinear4x4 vp8_bilinear_predict4x4_neon
86 #endif
87 #endif
89 #endif