| 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 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 ;and the result is stored in transpose. | 25 ;and the result is stored in transpose. |
| 26 |vp8_sixtap_predict8x4_armv6| PROC | 26 |vp8_sixtap_predict8x4_armv6| PROC |
| 27 stmdb sp!, {r4 - r11, lr} | 27 stmdb sp!, {r4 - r11, lr} |
| 28 str r3, [sp, #-184]! ;reserve space on stack for temporar
y storage, store yoffset | 28 str r3, [sp, #-184]! ;reserve space on stack for temporar
y storage, store yoffset |
| 29 | 29 |
| 30 cmp r2, #0 ;skip first_pass filter if xoffset=0 | 30 cmp r2, #0 ;skip first_pass filter if xoffset=0 |
| 31 add lr, sp, #4 ;point to temporary buffer | 31 add lr, sp, #4 ;point to temporary buffer |
| 32 beq skip_firstpass_filter | 32 beq skip_firstpass_filter |
| 33 | 33 |
| 34 ;first-pass filter | 34 ;first-pass filter |
| 35 ldr r12, _filter8_coeff_ | 35 adr r12, filter8_coeff |
| 36 sub r0, r0, r1, lsl #1 | 36 sub r0, r0, r1, lsl #1 |
| 37 | 37 |
| 38 add r3, r1, #10 ; preload next low |
| 39 pld [r0, r3] |
| 40 |
| 38 add r2, r12, r2, lsl #4 ;calculate filter location | 41 add r2, r12, r2, lsl #4 ;calculate filter location |
| 39 add r0, r0, #3 ;adjust src only for loading convini
ence | 42 add r0, r0, #3 ;adjust src only for loading convini
ence |
| 40 | 43 |
| 41 ldr r3, [r2] ; load up packed filter coefficients | 44 ldr r3, [r2] ; load up packed filter coefficients |
| 42 ldr r4, [r2, #4] | 45 ldr r4, [r2, #4] |
| 43 ldr r5, [r2, #8] | 46 ldr r5, [r2, #8] |
| 44 | 47 |
| 45 mov r2, #0x90000 ; height=9 is top part of counter | 48 mov r2, #0x90000 ; height=9 is top part of counter |
| 46 | 49 |
| 47 sub r1, r1, #8 | 50 sub r1, r1, #8 |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 103 ;pld [src, ppl] | 106 ;pld [src, ppl] |
| 104 ;;pld [src, r9] | 107 ;;pld [src, r9] |
| 105 ;;ENDIF | 108 ;;ENDIF |
| 106 | 109 |
| 107 subs r2, r2, #0x10000 | 110 subs r2, r2, #0x10000 |
| 108 | 111 |
| 109 sub lr, lr, #158 | 112 sub lr, lr, #158 |
| 110 | 113 |
| 111 add r0, r0, r1 ; move to next input line | 114 add r0, r0, r1 ; move to next input line |
| 112 | 115 |
| 116 add r11, r1, #18 ; preload next low. adding back bloc
k width(=8), which is subtracted earlier |
| 117 pld [r0, r11] |
| 118 |
| 113 bne first_pass_hloop_v6 | 119 bne first_pass_hloop_v6 |
| 114 | 120 |
| 115 ;second pass filter | 121 ;second pass filter |
| 116 secondpass_filter | 122 secondpass_filter |
| 117 ldr r3, [sp], #4 ; load back yoffset | 123 ldr r3, [sp], #4 ; load back yoffset |
| 118 ldr r0, [sp, #216] ; load dst address from stack 180+36 | 124 ldr r0, [sp, #216] ; load dst address from stack 180+36 |
| 119 ldr r1, [sp, #220] ; load dst stride from stack 180+40 | 125 ldr r1, [sp, #220] ; load dst stride from stack 180+40 |
| 120 | 126 |
| 121 cmp r3, #0 | 127 cmp r3, #0 |
| 122 beq skip_secondpass_filter | 128 beq skip_secondpass_filter |
| 123 | 129 |
| 124 ldr r12, _filter8_coeff_ | 130 adr r12, filter8_coeff |
| 125 add lr, r12, r3, lsl #4 ;calculate filter location | 131 add lr, r12, r3, lsl #4 ;calculate filter location |
| 126 | 132 |
| 127 mov r2, #0x00080000 | 133 mov r2, #0x00080000 |
| 128 | 134 |
| 129 ldr r3, [lr] ; load up packed filter coefficients | 135 ldr r3, [lr] ; load up packed filter coefficients |
| 130 ldr r4, [lr, #4] | 136 ldr r4, [lr, #4] |
| 131 ldr r5, [lr, #8] | 137 ldr r5, [lr, #8] |
| 132 | 138 |
| 133 pkhbt r12, r4, r3 ; pack the filter differently | 139 pkhbt r12, r4, r3 ; pack the filter differently |
| 134 pkhbt r11, r5, r4 | 140 pkhbt r11, r5, r4 |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 238 | 244 |
| 239 add sp, sp, #16 ; 180 - (160 +4) | 245 add sp, sp, #16 ; 180 - (160 +4) |
| 240 | 246 |
| 241 ldmia sp!, {r4 - r11, pc} | 247 ldmia sp!, {r4 - r11, pc} |
| 242 | 248 |
| 243 ENDP | 249 ENDP |
| 244 | 250 |
| 245 ;----------------- | 251 ;----------------- |
| 246 ;One word each is reserved. Label filter_coeff can be used to access the data. | 252 ;One word each is reserved. Label filter_coeff can be used to access the data. |
| 247 ;Data address: filter_coeff, filter_coeff+4, filter_coeff+8 ... | 253 ;Data address: filter_coeff, filter_coeff+4, filter_coeff+8 ... |
| 248 _filter8_coeff_ | |
| 249 DCD filter8_coeff | |
| 250 filter8_coeff | 254 filter8_coeff |
| 251 DCD 0x00000000, 0x00000080, 0x00000000, 0x00000000 | 255 DCD 0x00000000, 0x00000080, 0x00000000, 0x00000000 |
| 252 DCD 0xfffa0000, 0x000c007b, 0x0000ffff, 0x00000000 | 256 DCD 0xfffa0000, 0x000c007b, 0x0000ffff, 0x00000000 |
| 253 DCD 0xfff50002, 0x0024006c, 0x0001fff8, 0x00000000 | 257 DCD 0xfff50002, 0x0024006c, 0x0001fff8, 0x00000000 |
| 254 DCD 0xfff70000, 0x0032005d, 0x0000fffa, 0x00000000 | 258 DCD 0xfff70000, 0x0032005d, 0x0000fffa, 0x00000000 |
| 255 DCD 0xfff00003, 0x004d004d, 0x0003fff0, 0x00000000 | 259 DCD 0xfff00003, 0x004d004d, 0x0003fff0, 0x00000000 |
| 256 DCD 0xfffa0000, 0x005d0032, 0x0000fff7, 0x00000000 | 260 DCD 0xfffa0000, 0x005d0032, 0x0000fff7, 0x00000000 |
| 257 DCD 0xfff80001, 0x006c0024, 0x0002fff5, 0x00000000 | 261 DCD 0xfff80001, 0x006c0024, 0x0002fff5, 0x00000000 |
| 258 DCD 0xffff0000, 0x007b000c, 0x0000fffa, 0x00000000 | 262 DCD 0xffff0000, 0x007b000c, 0x0000fffa, 0x00000000 |
| 259 | 263 |
| 260 ;DCD 0, 0, 128, 0, 0, 0 | 264 ;DCD 0, 0, 128, 0, 0, 0 |
| 261 ;DCD 0, -6, 123, 12, -1, 0 | 265 ;DCD 0, -6, 123, 12, -1, 0 |
| 262 ;DCD 2, -11, 108, 36, -8, 1 | 266 ;DCD 2, -11, 108, 36, -8, 1 |
| 263 ;DCD 0, -9, 93, 50, -6, 0 | 267 ;DCD 0, -9, 93, 50, -6, 0 |
| 264 ;DCD 3, -16, 77, 77, -16, 3 | 268 ;DCD 3, -16, 77, 77, -16, 3 |
| 265 ;DCD 0, -6, 50, 93, -9, 0 | 269 ;DCD 0, -6, 50, 93, -9, 0 |
| 266 ;DCD 1, -8, 36, 108, -11, 2 | 270 ;DCD 1, -8, 36, 108, -11, 2 |
| 267 ;DCD 0, -1, 12, 123, -6, 0 | 271 ;DCD 0, -1, 12, 123, -6, 0 |
| 268 | 272 |
| 269 END | 273 END |
| OLD | NEW |