1 ; 2 ; Copyright (c) 2010 The WebM project authors. All Rights Reserved. 3 ; 4 ; Use of this source code is governed by a BSD-style license and patent 5 ; grant that can be found in the LICENSE file in the root of the source 6 ; tree. All contributing project authors may be found in the AUTHORS 7 ; file in the root of the source tree. 8 ; 9 10 11 EXPORT |vp8_dc_only_idct_add_neon| 12 ARM 13 REQUIRE8 14 PRESERVE8 15 16 AREA ||.text||, CODE, READONLY, ALIGN=2 17 ;void vp8_dc_only_idct_add_neon(short input_dc, unsigned char *pred_ptr, 18 ; unsigned char *dst_ptr, int pitch, int stride) 19 ; r0 input_dc 20 ; r1 pred_ptr 21 ; r2 dst_ptr 22 ; r3 pitch 23 ; sp stride 24 |vp8_dc_only_idct_add_neon| PROC 25 add r0, r0, #4 26 asr r0, r0, #3 27 ldr r12, [sp] 28 vdup.16 q0, r0 29 30 vld1.32 {d2[0]}, [r1], r3 31 vld1.32 {d2[1]}, [r1], r3 32 vld1.32 {d4[0]}, [r1], r3 33 vld1.32 {d4[1]}, [r1] 34 35 vaddw.u8 q1, q0, d2 36 vaddw.u8 q2, q0, d4 37 38 vqmovun.s16 d2, q1 39 vqmovun.s16 d4, q2 40 41 vst1.32 {d2[0]}, [r2], r12 42 vst1.32 {d2[1]}, [r2], r12 43 vst1.32 {d4[0]}, [r2], r12 44 vst1.32 {d4[1]}, [r2] 45 46 bx lr 47 48 ENDP 49 END 50