Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(25)

Side by Side Diff: source/libvpx/vp8/common/arm/armv6/sixtappredict8x4_v6.asm

Issue 7671004: Update libvpx snapshot to v0.9.7-p1 (Cayuga). (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/libvpx/
Patch Set: '' Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « source/libvpx/vp8/common/arm/armv6/simpleloopfilter_v6.asm ('k') | source/libvpx/vp8/common/arm/filter_arm.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698