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 VARIANCE_ARM_H 13 #define VARIANCE_ARM_H 14 15 #if HAVE_ARMV7 16 extern prototype_sad(vp8_sad4x4_neon); 17 extern prototype_sad(vp8_sad8x8_neon); 18 extern prototype_sad(vp8_sad8x16_neon); 19 extern prototype_sad(vp8_sad16x8_neon); 20 extern prototype_sad(vp8_sad16x16_neon); 21 22 //extern prototype_variance(vp8_variance4x4_c); 23 extern prototype_variance(vp8_variance8x8_neon); 24 extern prototype_variance(vp8_variance8x16_neon); 25 extern prototype_variance(vp8_variance16x8_neon); 26 extern prototype_variance(vp8_variance16x16_neon); 27 28 //extern prototype_subpixvariance(vp8_sub_pixel_variance4x4_c); 29 extern prototype_subpixvariance(vp8_sub_pixel_variance8x8_neon); 30 //extern prototype_subpixvariance(vp8_sub_pixel_variance8x16_c); 31 //extern prototype_subpixvariance(vp8_sub_pixel_variance16x8_c); 32 extern prototype_subpixvariance(vp8_sub_pixel_variance16x16_neon); 33 extern prototype_variance(vp8_variance_halfpixvar16x16_h_neon); 34 extern prototype_variance(vp8_variance_halfpixvar16x16_v_neon); 35 extern prototype_variance(vp8_variance_halfpixvar16x16_hv_neon); 36 37 //extern prototype_getmbss(vp8_get_mb_ss_c); 38 extern prototype_variance(vp8_mse16x16_neon); 39 extern prototype_sad(vp8_get16x16pred_error_neon); 40 //extern prototype_variance2(vp8_get8x8var_c); 41 //extern prototype_variance2(vp8_get16x16var_c); 42 extern prototype_sad(vp8_get4x4sse_cs_neon); 43 44 #if !CONFIG_RUNTIME_CPU_DETECT 45 #undef vp8_variance_sad4x4 46 #define vp8_variance_sad4x4 vp8_sad4x4_neon 47 48 #undef vp8_variance_sad8x8 49 #define vp8_variance_sad8x8 vp8_sad8x8_neon 50 51 #undef vp8_variance_sad8x16 52 #define vp8_variance_sad8x16 vp8_sad8x16_neon 53 54 #undef vp8_variance_sad16x8 55 #define vp8_variance_sad16x8 vp8_sad16x8_neon 56 57 #undef vp8_variance_sad16x16 58 #define vp8_variance_sad16x16 vp8_sad16x16_neon 59 60 //#undef vp8_variance_var4x4 61 //#define vp8_variance_var4x4 vp8_variance4x4_c 62 63 #undef vp8_variance_var8x8 64 #define vp8_variance_var8x8 vp8_variance8x8_neon 65 66 #undef vp8_variance_var8x16 67 #define vp8_variance_var8x16 vp8_variance8x16_neon 68 69 #undef vp8_variance_var16x8 70 #define vp8_variance_var16x8 vp8_variance16x8_neon 71 72 #undef vp8_variance_var16x16 73 #define vp8_variance_var16x16 vp8_variance16x16_neon 74 75 //#undef vp8_variance_subpixvar4x4 76 //#define vp8_variance_subpixvar4x4 vp8_sub_pixel_variance4x4_c 77 78 #undef vp8_variance_subpixvar8x8 79 #define vp8_variance_subpixvar8x8 vp8_sub_pixel_variance8x8_neon 80 81 //#undef vp8_variance_subpixvar8x16 82 //#define vp8_variance_subpixvar8x16 vp8_sub_pixel_variance8x16_c 83 84 //#undef vp8_variance_subpixvar16x8 85 //#define vp8_variance_subpixvar16x8 vp8_sub_pixel_variance16x8_c 86 87 #undef vp8_variance_subpixvar16x16 88 #define vp8_variance_subpixvar16x16 vp8_sub_pixel_variance16x16_neon 89 90 #undef vp8_variance_halfpixvar16x16_h 91 #define vp8_variance_halfpixvar16x16_h vp8_variance_halfpixvar16x16_h_neon 92 93 #undef vp8_variance_halfpixvar16x16_v 94 #define vp8_variance_halfpixvar16x16_v vp8_variance_halfpixvar16x16_v_neon 95 96 #undef vp8_variance_halfpixvar16x16_hv 97 #define vp8_variance_halfpixvar16x16_hv vp8_variance_halfpixvar16x16_hv_neon 98 99 //#undef vp8_variance_getmbss 100 //#define vp8_variance_getmbss vp8_get_mb_ss_c 101 102 #undef vp8_variance_mse16x16 103 #define vp8_variance_mse16x16 vp8_mse16x16_neon 104 105 #undef vp8_variance_get16x16prederror 106 #define vp8_variance_get16x16prederror vp8_get16x16pred_error_neon 107 108 //#undef vp8_variance_get8x8var 109 //#define vp8_variance_get8x8var vp8_get8x8var_c 110 111 //#undef vp8_variance_get16x16var 112 //#define vp8_variance_get16x16var vp8_get16x16var_c 113 114 #undef vp8_variance_get4x4sse_cs 115 #define vp8_variance_get4x4sse_cs vp8_get4x4sse_cs_neon 116 #endif 117 118 #endif 119 120 #endif 121