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

Side by Side Diff: source/libvpx/vp9/common/arm/neon/vp9_reconintra_neon_asm.asm

Issue 1169543007: libvpx: Pull from upstream (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libvpx.git@master
Patch Set: Created 5 years, 6 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
OLDNEW
1 ; 1 ;
2 ; Copyright (c) 2014 The WebM project authors. All Rights Reserved. 2 ; Copyright (c) 2014 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 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 ; const uint8_t *above, 291 ; const uint8_t *above,
292 ; const uint8_t *left) 292 ; const uint8_t *left)
293 ; r0 uint8_t *dst 293 ; r0 uint8_t *dst
294 ; r1 ptrdiff_t y_stride 294 ; r1 ptrdiff_t y_stride
295 ; r2 const uint8_t *above 295 ; r2 const uint8_t *above
296 ; r3 const uint8_t *left 296 ; r3 const uint8_t *left
297 297
298 |vp9_tm_predictor_4x4_neon| PROC 298 |vp9_tm_predictor_4x4_neon| PROC
299 ; Load ytop_left = above[-1]; 299 ; Load ytop_left = above[-1];
300 sub r12, r2, #1 300 sub r12, r2, #1
301 ldrb r12, [r12] 301 vld1.u8 {d0[]}, [r12]
302 vdup.u8 d0, r12
303 302
304 ; Load above 4 pixels 303 ; Load above 4 pixels
305 vld1.32 {d2[0]}, [r2] 304 vld1.32 {d2[0]}, [r2]
306 305
307 ; Compute above - ytop_left 306 ; Compute above - ytop_left
308 vsubl.u8 q3, d2, d0 307 vsubl.u8 q3, d2, d0
309 308
310 ; Load left row by row and compute left + (above - ytop_left) 309 ; Load left row by row and compute left + (above - ytop_left)
311 ; 1st row and 2nd row 310 ; 1st row and 2nd row
312 ldrb r12, [r3], #1 311 vld1.u8 {d2[]}, [r3]!
313 ldrb r2, [r3], #1 312 vld1.u8 {d4[]}, [r3]!
314 vdup.u16 q1, r12 313 vmovl.u8 q1, d2
315 vdup.u16 q2, r2 314 vmovl.u8 q2, d4
316 vadd.s16 q1, q1, q3 315 vadd.s16 q1, q1, q3
317 vadd.s16 q2, q2, q3 316 vadd.s16 q2, q2, q3
318 vqmovun.s16 d0, q1 317 vqmovun.s16 d0, q1
319 vqmovun.s16 d1, q2 318 vqmovun.s16 d1, q2
320 vst1.32 {d0[0]}, [r0], r1 319 vst1.32 {d0[0]}, [r0], r1
321 vst1.32 {d1[0]}, [r0], r1 320 vst1.32 {d1[0]}, [r0], r1
322 321
323 ; 3rd row and 4th row 322 ; 3rd row and 4th row
324 ldrb r12, [r3], #1 323 vld1.u8 {d2[]}, [r3]!
325 ldrb r2, [r3], #1 324 vld1.u8 {d4[]}, [r3]
326 vdup.u16 q1, r12 325 vmovl.u8 q1, d2
327 vdup.u16 q2, r2 326 vmovl.u8 q2, d4
328 vadd.s16 q1, q1, q3 327 vadd.s16 q1, q1, q3
329 vadd.s16 q2, q2, q3 328 vadd.s16 q2, q2, q3
330 vqmovun.s16 d0, q1 329 vqmovun.s16 d0, q1
331 vqmovun.s16 d1, q2 330 vqmovun.s16 d1, q2
332 vst1.32 {d0[0]}, [r0], r1 331 vst1.32 {d0[0]}, [r0], r1
333 vst1.32 {d1[0]}, [r0], r1 332 vst1.32 {d1[0]}, [r0], r1
334 bx lr 333 bx lr
335 ENDP ; |vp9_tm_predictor_4x4_neon| 334 ENDP ; |vp9_tm_predictor_4x4_neon|
336 335
337 ;void vp9_tm_predictor_8x8_neon (uint8_t *dst, ptrdiff_t y_stride, 336 ;void vp9_tm_predictor_8x8_neon (uint8_t *dst, ptrdiff_t y_stride,
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after
622 vmovl.u8 q3, d0 621 vmovl.u8 q3, d0
623 vst1.64 {d24-d27}, [r0], r1 622 vst1.64 {d24-d27}, [r0], r1
624 623
625 subs r2, r2, #1 624 subs r2, r2, #1
626 bgt loop_32x32_neon 625 bgt loop_32x32_neon
627 626
628 bx lr 627 bx lr
629 ENDP ; |vp9_tm_predictor_32x32_neon| 628 ENDP ; |vp9_tm_predictor_32x32_neon|
630 629
631 END 630 END
OLDNEW
« no previous file with comments | « source/libvpx/vp8/common/x86/vp8_variance_sse2.c ('k') | source/libvpx/vp9/common/mips/msa/vp9_convolve8_avg_horiz_msa.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698