| 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_predict8x8_neon| | 12 EXPORT |vp8_bilinear_predict8x8_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_predict8x8_neon| PROC | 25 |vp8_bilinear_predict8x8_neon| PROC |
| 26 push {r4, lr} | 26 push {r4, lr} |
| 27 | 27 |
| 28 ldr r12, _bifilter8_coeff_ | 28 adr r12, bifilter8_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 (9x8) | 35 ;First pass: output_height lines x output_width columns (9x8) |
| 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 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 170 vst1.u8 {d27}, [r4], lr | 170 vst1.u8 {d27}, [r4], lr |
| 171 vst1.u8 {d28}, [r4], lr | 171 vst1.u8 {d28}, [r4], lr |
| 172 vst1.u8 {d29}, [r4], lr | 172 vst1.u8 {d29}, [r4], lr |
| 173 | 173 |
| 174 pop {r4, pc} | 174 pop {r4, pc} |
| 175 | 175 |
| 176 ENDP | 176 ENDP |
| 177 | 177 |
| 178 ;----------------- | 178 ;----------------- |
| 179 | 179 |
| 180 _bifilter8_coeff_ | |
| 181 DCD bifilter8_coeff | |
| 182 bifilter8_coeff | 180 bifilter8_coeff |
| 183 DCD 128, 0, 112, 16, 96, 32, 80, 48, 64, 64, 48, 80, 32, 96, 16, 112 | 181 DCD 128, 0, 112, 16, 96, 32, 80, 48, 64, 64, 48, 80, 32, 96, 16, 112 |
| 184 | 182 |
| 185 END | 183 END |
| OLD | NEW |