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