| 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_bilinear_predict4x4_neon| | 12 EXPORT |vp8_bilinear_predict4x4_neon| |
| 13 ARM | 13 ARM |
| 14 REQUIRE8 | 14 REQUIRE8 |
| 15 PRESERVE8 | 15 PRESERVE8 |
| 16 | 16 |
| 17 AREA ||.text||, CODE, READONLY, ALIGN=2 | 17 AREA ||.text||, CODE, READONLY, ALIGN=2 |
| 18 ; r0 unsigned char *src_ptr, | 18 ; r0 unsigned char *src_ptr, |
| 19 ; r1 int src_pixels_per_line, | 19 ; r1 int src_pixels_per_line, |
| 20 ; r2 int xoffset, | 20 ; r2 int xoffset, |
| 21 ; r3 int yoffset, | 21 ; r3 int yoffset, |
| 22 ; r4 unsigned char *dst_ptr, | 22 ; r4 unsigned char *dst_ptr, |
| 23 ; stack(lr) int dst_pitch | 23 ; stack(lr) int dst_pitch |
| 24 | 24 |
| 25 |vp8_bilinear_predict4x4_neon| PROC | 25 |vp8_bilinear_predict4x4_neon| PROC |
| 26 push {r4, lr} | 26 push {r4, lr} |
| 27 | 27 |
| 28 ldr r12, _bifilter4_coeff_ | 28 adr r12, bifilter4_coeff |
| 29 ldr r4, [sp, #8] ;load parameters from stack | 29 ldr r4, [sp, #8] ;load parameters from stack |
| 30 ldr lr, [sp, #12] ;load parameters from stack | 30 ldr lr, [sp, #12] ;load parameters from stack |
| 31 | 31 |
| 32 cmp r2, #0 ;skip first_pass filter if xoffset=0 | 32 cmp r2, #0 ;skip first_pass filter if xoffset=0 |
| 33 beq skip_firstpass_filter | 33 beq skip_firstpass_filter |
| 34 | 34 |
| 35 ;First pass: output_height lines x output_width columns (5x4) | 35 ;First pass: output_height lines x output_width columns (5x4) |
| 36 vld1.u8 {d2}, [r0], r1 ;load src data | 36 vld1.u8 {d2}, [r0], r1 ;load src data |
| 37 add r2, r12, r2, lsl #3 ;calculate Hfilter location (2coeffs
x4bytes=8bytes) | 37 add r2, r12, r2, lsl #3 ;calculate Hfilter location (2coeffs
x4bytes=8bytes) |
| 38 | 38 |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 117 vst1.32 {d28[1]}, [r4], lr | 117 vst1.32 {d28[1]}, [r4], lr |
| 118 vst1.32 {d29[0]}, [r4], lr | 118 vst1.32 {d29[0]}, [r4], lr |
| 119 vst1.32 {d29[1]}, [r4], lr | 119 vst1.32 {d29[1]}, [r4], lr |
| 120 | 120 |
| 121 pop {r4, pc} | 121 pop {r4, pc} |
| 122 | 122 |
| 123 ENDP | 123 ENDP |
| 124 | 124 |
| 125 ;----------------- | 125 ;----------------- |
| 126 | 126 |
| 127 _bifilter4_coeff_ | |
| 128 DCD bifilter4_coeff | |
| 129 bifilter4_coeff | 127 bifilter4_coeff |
| 130 DCD 128, 0, 112, 16, 96, 32, 80, 48, 64, 64, 48, 80, 32, 96, 16, 112 | 128 DCD 128, 0, 112, 16, 96, 32, 80, 48, 64, 64, 48, 80, 32, 96, 16, 112 |
| 131 | 129 |
| 132 END | 130 END |
| OLD | NEW |