| 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_predict8x4_neon| | 12 EXPORT |vp8_bilinear_predict8x4_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_predict8x4_neon| PROC | 25 |vp8_bilinear_predict8x4_neon| PROC |
| 26 push {r4, lr} | 26 push {r4, lr} |
| 27 | 27 |
| 28 ldr r12, _bifilter8x4_coeff_ | 28 adr r12, bifilter8x4_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 (5x8) | 35 ;First pass: output_height lines x output_width columns (5x8) |
| 36 add r2, r12, r2, lsl #3 ;calculate filter location | 36 add r2, r12, r2, lsl #3 ;calculate filter location |
| 37 | 37 |
| 38 vld1.u8 {q1}, [r0], r1 ;load src data | 38 vld1.u8 {q1}, [r0], r1 ;load src data |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 vst1.u8 {d23}, [r4], lr | 122 vst1.u8 {d23}, [r4], lr |
| 123 vst1.u8 {d24}, [r4], lr | 123 vst1.u8 {d24}, [r4], lr |
| 124 vst1.u8 {d25}, [r4], lr | 124 vst1.u8 {d25}, [r4], lr |
| 125 | 125 |
| 126 pop {r4, pc} | 126 pop {r4, pc} |
| 127 | 127 |
| 128 ENDP | 128 ENDP |
| 129 | 129 |
| 130 ;----------------- | 130 ;----------------- |
| 131 | 131 |
| 132 _bifilter8x4_coeff_ | |
| 133 DCD bifilter8x4_coeff | |
| 134 bifilter8x4_coeff | 132 bifilter8x4_coeff |
| 135 DCD 128, 0, 112, 16, 96, 32, 80, 48, 64, 64, 48, 80, 32, 96, 16, 112 | 133 DCD 128, 0, 112, 16, 96, 32, 80, 48, 64, 64, 48, 80, 32, 96, 16, 112 |
| 136 | 134 |
| 137 END | 135 END |
| OLD | NEW |