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 SUBPIXEL_ARM_H
13#define SUBPIXEL_ARM_H
14
15#if HAVE_ARMV6
16extern prototype_subpixel_predict(vp8_sixtap_predict16x16_armv6);
17extern prototype_subpixel_predict(vp8_sixtap_predict8x8_armv6);
18extern prototype_subpixel_predict(vp8_sixtap_predict8x4_armv6);
19extern prototype_subpixel_predict(vp8_sixtap_predict_armv6);
20extern prototype_subpixel_predict(vp8_bilinear_predict16x16_armv6);
21extern prototype_subpixel_predict(vp8_bilinear_predict8x8_armv6);
22extern prototype_subpixel_predict(vp8_bilinear_predict8x4_armv6);
23extern prototype_subpixel_predict(vp8_bilinear_predict4x4_armv6);
24
25#if !CONFIG_RUNTIME_CPU_DETECT
26#undef  vp8_subpix_sixtap16x16
27#define vp8_subpix_sixtap16x16 vp8_sixtap_predict16x16_armv6
28
29#undef  vp8_subpix_sixtap8x8
30#define vp8_subpix_sixtap8x8 vp8_sixtap_predict8x8_armv6
31
32#undef  vp8_subpix_sixtap8x4
33#define vp8_subpix_sixtap8x4 vp8_sixtap_predict8x4_armv6
34
35#undef  vp8_subpix_sixtap4x4
36#define vp8_subpix_sixtap4x4 vp8_sixtap_predict_armv6
37
38#undef  vp8_subpix_bilinear16x16
39#define vp8_subpix_bilinear16x16 vp8_bilinear_predict16x16_armv6
40
41#undef  vp8_subpix_bilinear8x8
42#define vp8_subpix_bilinear8x8 vp8_bilinear_predict8x8_armv6
43
44#undef  vp8_subpix_bilinear8x4
45#define vp8_subpix_bilinear8x4 vp8_bilinear_predict8x4_armv6
46
47#undef  vp8_subpix_bilinear4x4
48#define vp8_subpix_bilinear4x4 vp8_bilinear_predict4x4_armv6
49#endif
50#endif
51
52#if HAVE_ARMV7
53extern prototype_subpixel_predict(vp8_sixtap_predict16x16_neon);
54extern prototype_subpixel_predict(vp8_sixtap_predict8x8_neon);
55extern prototype_subpixel_predict(vp8_sixtap_predict8x4_neon);
56extern prototype_subpixel_predict(vp8_sixtap_predict_neon);
57extern prototype_subpixel_predict(vp8_bilinear_predict16x16_neon);
58extern prototype_subpixel_predict(vp8_bilinear_predict8x8_neon);
59extern prototype_subpixel_predict(vp8_bilinear_predict8x4_neon);
60extern prototype_subpixel_predict(vp8_bilinear_predict4x4_neon);
61
62#if !CONFIG_RUNTIME_CPU_DETECT
63#undef  vp8_subpix_sixtap16x16
64#define vp8_subpix_sixtap16x16 vp8_sixtap_predict16x16_neon
65
66#undef  vp8_subpix_sixtap8x8
67#define vp8_subpix_sixtap8x8 vp8_sixtap_predict8x8_neon
68
69#undef  vp8_subpix_sixtap8x4
70#define vp8_subpix_sixtap8x4 vp8_sixtap_predict8x4_neon
71
72#undef  vp8_subpix_sixtap4x4
73#define vp8_subpix_sixtap4x4 vp8_sixtap_predict_neon
74
75#undef  vp8_subpix_bilinear16x16
76#define vp8_subpix_bilinear16x16 vp8_bilinear_predict16x16_neon
77
78#undef  vp8_subpix_bilinear8x8
79#define vp8_subpix_bilinear8x8 vp8_bilinear_predict8x8_neon
80
81#undef  vp8_subpix_bilinear8x4
82#define vp8_subpix_bilinear8x4 vp8_bilinear_predict8x4_neon
83
84#undef  vp8_subpix_bilinear4x4
85#define vp8_subpix_bilinear4x4 vp8_bilinear_predict4x4_neon
86#endif
87#endif
88
89#endif
90