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 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); 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 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); 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