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 RECON_ARM_H 13 #define RECON_ARM_H 14 15 #if HAVE_ARMV6 16 extern prototype_recon_block(vp8_recon_b_armv6); 17 extern prototype_recon_block(vp8_recon2b_armv6); 18 extern prototype_recon_block(vp8_recon4b_armv6); 19 20 extern prototype_copy_block(vp8_copy_mem8x8_v6); 21 extern prototype_copy_block(vp8_copy_mem8x4_v6); 22 extern prototype_copy_block(vp8_copy_mem16x16_v6); 23 24 #if !CONFIG_RUNTIME_CPU_DETECT 25 #undef vp8_recon_recon 26 #define vp8_recon_recon vp8_recon_b_armv6 27 28 #undef vp8_recon_recon2 29 #define vp8_recon_recon2 vp8_recon2b_armv6 30 31 #undef vp8_recon_recon4 32 #define vp8_recon_recon4 vp8_recon4b_armv6 33 34 #undef vp8_recon_copy8x8 35 #define vp8_recon_copy8x8 vp8_copy_mem8x8_v6 36 37 #undef vp8_recon_copy8x4 38 #define vp8_recon_copy8x4 vp8_copy_mem8x4_v6 39 40 #undef vp8_recon_copy16x16 41 #define vp8_recon_copy16x16 vp8_copy_mem16x16_v6 42 #endif 43 #endif 44 45 #if HAVE_ARMV7 46 extern prototype_recon_block(vp8_recon_b_neon); 47 extern prototype_recon_block(vp8_recon2b_neon); 48 extern prototype_recon_block(vp8_recon4b_neon); 49 50 extern prototype_copy_block(vp8_copy_mem8x8_neon); 51 extern prototype_copy_block(vp8_copy_mem8x4_neon); 52 extern prototype_copy_block(vp8_copy_mem16x16_neon); 53 54 extern prototype_recon_macroblock(vp8_recon_mb_neon); 55 56 extern prototype_build_intra_predictors(vp8_build_intra_predictors_mby_neon); 57 extern prototype_build_intra_predictors(vp8_build_intra_predictors_mby_s_neon); 58 59 #if !CONFIG_RUNTIME_CPU_DETECT 60 #undef vp8_recon_recon 61 #define vp8_recon_recon vp8_recon_b_neon 62 63 #undef vp8_recon_recon2 64 #define vp8_recon_recon2 vp8_recon2b_neon 65 66 #undef vp8_recon_recon4 67 #define vp8_recon_recon4 vp8_recon4b_neon 68 69 #undef vp8_recon_copy8x8 70 #define vp8_recon_copy8x8 vp8_copy_mem8x8_neon 71 72 #undef vp8_recon_copy8x4 73 #define vp8_recon_copy8x4 vp8_copy_mem8x4_neon 74 75 #undef vp8_recon_copy16x16 76 #define vp8_recon_copy16x16 vp8_copy_mem16x16_neon 77 78 #undef vp8_recon_recon_mb 79 #define vp8_recon_recon_mb vp8_recon_mb_neon 80 81 #undef vp8_recon_build_intra_predictors_mby 82 #define vp8_recon_build_intra_predictors_mby vp8_build_intra_predictors_mby_neon 83 84 #undef vp8_recon_build_intra_predictors_mby_s 85 #define vp8_recon_build_intra_predictors_mby_s vp8_build_intra_predictors_mby_s_neon 86 87 #endif 88 #endif 89 90 #endif 91