| OLD | NEW |
| 1 ; | 1 ; |
| 2 ; Copyright (c) 2010 The WebM project authors. All Rights Reserved. | 2 ; Copyright (c) 2010 The WebM project authors. All Rights Reserved. |
| 3 ; | 3 ; |
| 4 ; Use of this source code is governed by a BSD-style license | 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 | 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 | 6 ; tree. An additional intellectual property rights grant can be found |
| 7 ; in the file PATENTS. All contributing project authors may | 7 ; in the file PATENTS. All contributing project authors may |
| 8 ; be found in the AUTHORS file in the root of the source tree. | 8 ; be found in the AUTHORS file in the root of the source tree. |
| 9 ; | 9 ; |
| 10 | 10 |
| 11 | 11 |
| 12 EXPORT |vp8_mse16x16_neon| | 12 EXPORT |vp8_mse16x16_neon| |
| 13 EXPORT |vp8_get16x16pred_error_neon| | |
| 14 EXPORT |vp8_get4x4sse_cs_neon| | 13 EXPORT |vp8_get4x4sse_cs_neon| |
| 15 | 14 |
| 16 ARM | 15 ARM |
| 17 REQUIRE8 | 16 REQUIRE8 |
| 18 PRESERVE8 | 17 PRESERVE8 |
| 19 | 18 |
| 20 AREA ||.text||, CODE, READONLY, ALIGN=2 | 19 AREA ||.text||, CODE, READONLY, ALIGN=2 |
| 21 ;============================ | 20 ;============================ |
| 22 ; r0 unsigned char *src_ptr | 21 ; r0 unsigned char *src_ptr |
| 23 ; r1 int source_stride | 22 ; r1 int source_stride |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 69 vpaddl.u32 q1, q10 | 68 vpaddl.u32 q1, q10 |
| 70 vadd.u64 d0, d2, d3 | 69 vadd.u64 d0, d2, d3 |
| 71 | 70 |
| 72 vst1.32 {d0[0]}, [r12] | 71 vst1.32 {d0[0]}, [r12] |
| 73 vmov.32 r0, d0[0] | 72 vmov.32 r0, d0[0] |
| 74 | 73 |
| 75 bx lr | 74 bx lr |
| 76 | 75 |
| 77 ENDP | 76 ENDP |
| 78 | 77 |
| 79 ;============================ | |
| 80 ; r0 unsigned char *src_ptr | |
| 81 ; r1 int src_stride | |
| 82 ; r2 unsigned char *ref_ptr | |
| 83 ; r3 int ref_stride | |
| 84 |vp8_get16x16pred_error_neon| PROC | |
| 85 vmov.i8 q8, #0 ;q8 - sum | |
| 86 vmov.i8 q9, #0 ;q9, q10 - pred_error | |
| 87 vmov.i8 q10, #0 | |
| 88 | |
| 89 mov r12, #8 | |
| 90 | |
| 91 get16x16pred_error_neon_loop | |
| 92 vld1.8 {q0}, [r0], r1 ;Load up source and reference | |
| 93 vld1.8 {q2}, [r2], r3 | |
| 94 vld1.8 {q1}, [r0], r1 | |
| 95 vld1.8 {q3}, [r2], r3 | |
| 96 | |
| 97 vsubl.u8 q11, d0, d4 | |
| 98 vsubl.u8 q12, d1, d5 | |
| 99 vsubl.u8 q13, d2, d6 | |
| 100 vsubl.u8 q14, d3, d7 | |
| 101 | |
| 102 vpadal.s16 q8, q11 | |
| 103 vmlal.s16 q9, d22, d22 | |
| 104 vmlal.s16 q10, d23, d23 | |
| 105 | |
| 106 subs r12, r12, #1 | |
| 107 | |
| 108 vpadal.s16 q8, q12 | |
| 109 vmlal.s16 q9, d24, d24 | |
| 110 vmlal.s16 q10, d25, d25 | |
| 111 vpadal.s16 q8, q13 | |
| 112 vmlal.s16 q9, d26, d26 | |
| 113 vmlal.s16 q10, d27, d27 | |
| 114 vpadal.s16 q8, q14 | |
| 115 vmlal.s16 q9, d28, d28 | |
| 116 vmlal.s16 q10, d29, d29 | |
| 117 | |
| 118 bne get16x16pred_error_neon_loop | |
| 119 | |
| 120 vadd.u32 q10, q9, q10 | |
| 121 vpaddl.s32 q0, q8 | |
| 122 | |
| 123 vpaddl.u32 q1, q10 | |
| 124 vadd.s64 d0, d0, d1 | |
| 125 vadd.u64 d1, d2, d3 | |
| 126 | |
| 127 vmull.s32 q5, d0, d0 | |
| 128 vshr.s32 d10, d10, #8 | |
| 129 vsub.s32 d0, d1, d10 | |
| 130 | |
| 131 vmov.32 r0, d0[0] | |
| 132 bx lr | |
| 133 | |
| 134 ENDP | |
| 135 | 78 |
| 136 ;============================= | 79 ;============================= |
| 137 ; r0 unsigned char *src_ptr, | 80 ; r0 unsigned char *src_ptr, |
| 138 ; r1 int source_stride, | 81 ; r1 int source_stride, |
| 139 ; r2 unsigned char *ref_ptr, | 82 ; r2 unsigned char *ref_ptr, |
| 140 ; r3 int recon_stride | 83 ; r3 int recon_stride |
| 141 |vp8_get4x4sse_cs_neon| PROC | 84 |vp8_get4x4sse_cs_neon| PROC |
| 142 vld1.8 {d0}, [r0], r1 ;Load up source and reference | 85 vld1.8 {d0}, [r0], r1 ;Load up source and reference |
| 143 vld1.8 {d4}, [r2], r3 | 86 vld1.8 {d4}, [r2], r3 |
| 144 vld1.8 {d1}, [r0], r1 | 87 vld1.8 {d1}, [r0], r1 |
| (...skipping 19 matching lines...) Expand all Loading... |
| 164 | 107 |
| 165 vpaddl.u32 q1, q9 | 108 vpaddl.u32 q1, q9 |
| 166 vadd.u64 d0, d2, d3 | 109 vadd.u64 d0, d2, d3 |
| 167 | 110 |
| 168 vmov.32 r0, d0[0] | 111 vmov.32 r0, d0[0] |
| 169 bx lr | 112 bx lr |
| 170 | 113 |
| 171 ENDP | 114 ENDP |
| 172 | 115 |
| 173 END | 116 END |
| OLD | NEW |