| 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_sixtap_predict_neon| | 12 EXPORT |vp8_sixtap_predict_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 |
| 19 filter4_coeff |
| 20 DCD 0, 0, 128, 0, 0, 0, 0, 0 |
| 21 DCD 0, -6, 123, 12, -1, 0, 0, 0 |
| 22 DCD 2, -11, 108, 36, -8, 1, 0, 0 |
| 23 DCD 0, -9, 93, 50, -6, 0, 0, 0 |
| 24 DCD 3, -16, 77, 77, -16, 3, 0, 0 |
| 25 DCD 0, -6, 50, 93, -9, 0, 0, 0 |
| 26 DCD 1, -8, 36, 108, -11, 2, 0, 0 |
| 27 DCD 0, -1, 12, 123, -6, 0, 0, 0 |
| 28 |
| 18 ; r0 unsigned char *src_ptr, | 29 ; r0 unsigned char *src_ptr, |
| 19 ; r1 int src_pixels_per_line, | 30 ; r1 int src_pixels_per_line, |
| 20 ; r2 int xoffset, | 31 ; r2 int xoffset, |
| 21 ; r3 int yoffset, | 32 ; r3 int yoffset, |
| 22 ; stack(r4) unsigned char *dst_ptr, | 33 ; stack(r4) unsigned char *dst_ptr, |
| 23 ; stack(lr) int dst_pitch | 34 ; stack(lr) int dst_pitch |
| 24 | 35 |
| 25 |vp8_sixtap_predict_neon| PROC | 36 |vp8_sixtap_predict_neon| PROC |
| 26 push {r4, lr} | 37 push {r4, lr} |
| 27 | 38 |
| 28 ldr r12, _filter4_coeff_ | 39 adr r12, filter4_coeff |
| 29 ldr r4, [sp, #8] ;load parameters from stack | 40 ldr r4, [sp, #8] ;load parameters from stack |
| 30 ldr lr, [sp, #12] ;load parameters from stack | 41 ldr lr, [sp, #12] ;load parameters from stack |
| 31 | 42 |
| 32 cmp r2, #0 ;skip first_pass filter if xoffset=0 | 43 cmp r2, #0 ;skip first_pass filter if xoffset=0 |
| 33 beq secondpass_filter4x4_only | 44 beq secondpass_filter4x4_only |
| 34 | 45 |
| 35 add r2, r12, r2, lsl #5 ;calculate filter location | 46 add r2, r12, r2, lsl #5 ;calculate filter location |
| 36 | 47 |
| 37 cmp r3, #0 ;skip second_pass filter if yoffset=
0 | 48 cmp r3, #0 ;skip second_pass filter if yoffset=
0 |
| 38 vld1.s32 {q14, q15}, [r2] ;load first_pass filter | 49 vld1.s32 {q14, q15}, [r2] ;load first_pass filter |
| (...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 401 vst1.32 {d3[1]}, [r0] | 412 vst1.32 {d3[1]}, [r0] |
| 402 vst1.32 {d4[0]}, [r1] | 413 vst1.32 {d4[0]}, [r1] |
| 403 vst1.32 {d4[1]}, [r2] | 414 vst1.32 {d4[1]}, [r2] |
| 404 | 415 |
| 405 pop {r4, pc} | 416 pop {r4, pc} |
| 406 | 417 |
| 407 ENDP | 418 ENDP |
| 408 | 419 |
| 409 ;----------------- | 420 ;----------------- |
| 410 | 421 |
| 411 _filter4_coeff_ | |
| 412 DCD filter4_coeff | |
| 413 filter4_coeff | |
| 414 DCD 0, 0, 128, 0, 0, 0, 0, 0 | |
| 415 DCD 0, -6, 123, 12, -1, 0, 0, 0 | |
| 416 DCD 2, -11, 108, 36, -8, 1, 0, 0 | |
| 417 DCD 0, -9, 93, 50, -6, 0, 0, 0 | |
| 418 DCD 3, -16, 77, 77, -16, 3, 0, 0 | |
| 419 DCD 0, -6, 50, 93, -9, 0, 0, 0 | |
| 420 DCD 1, -8, 36, 108, -11, 2, 0, 0 | |
| 421 DCD 0, -1, 12, 123, -6, 0, 0, 0 | |
| 422 | |
| 423 END | 422 END |
| OLD | NEW |