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

Side by Side Diff: source/libvpx/vp8/decoder/arm/neon/idct_dequant_0_2x_neon.asm

Issue 3417017: Update libvpx sources to v0.9.2-35-ga8a38bc. ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 10 years, 3 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
(Empty)
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 |idct_dequant_0_2x_neon|
12 ARM
13 REQUIRE8
14 PRESERVE8
15
16 AREA ||.text||, CODE, READONLY, ALIGN=2
17 ;void idct_dequant_0_2x_neon(short *q, short dq, unsigned char *pre,
18 ; int pitch, unsigned char *dst, int stride);
19 ; r0 *q
20 ; r1 dq
21 ; r2 *pre
22 ; r3 pitch
23 ; sp *dst
24 ; sp+4 stride
25 |idct_dequant_0_2x_neon| PROC
26 add r12, r2, #4
27 vld1.32 {d2[0]}, [r2], r3
28 vld1.32 {d2[1]}, [r2], r3
29 vld1.32 {d4[0]}, [r2], r3
30 vld1.32 {d4[1]}, [r2]
31 vld1.32 {d8[0]}, [r12], r3
32 vld1.32 {d8[1]}, [r12], r3
33 vld1.32 {d10[0]}, [r12], r3
34 vld1.32 {d10[1]}, [r12]
35
36 ldrh r12, [r0] ; lo q
37 ldrh r2, [r0, #32] ; hi q
38 mov r3, #0
39 strh r3, [r0]
40 strh r3, [r0, #32]
41
42 sxth r12, r12 ; lo
43 mul r0, r12, r1
44 add r0, r0, #4
45 asr r0, r0, #3
46 vdup.16 q0, r0
47 sxth r2, r2 ; hi
48 mul r0, r2, r1
49 add r0, r0, #4
50 asr r0, r0, #3
51 vdup.16 q3, r0
52
53 vaddw.u8 q1, q0, d2 ; lo
54 vaddw.u8 q2, q0, d4
55 vaddw.u8 q4, q3, d8 ; hi
56 vaddw.u8 q5, q3, d10
57
58 ldr r2, [sp] ; dst
59 ldr r3, [sp, #4] ; stride
60
61 vqmovun.s16 d2, q1 ; lo
62 vqmovun.s16 d4, q2
63 vqmovun.s16 d8, q4 ; hi
64 vqmovun.s16 d10, q5
65
66 add r0, r2, #4
67 vst1.32 {d2[0]}, [r2], r3 ; lo
68 vst1.32 {d2[1]}, [r2], r3
69 vst1.32 {d4[0]}, [r2], r3
70 vst1.32 {d4[1]}, [r2]
71 vst1.32 {d8[0]}, [r0], r3 ; hi
72 vst1.32 {d8[1]}, [r0], r3
73 vst1.32 {d10[0]}, [r0], r3
74 vst1.32 {d10[1]}, [r0]
75
76 bx lr
77
78 ENDP ; |idct_dequant_0_2x_neon|
79 END
OLDNEW
« no previous file with comments | « source/libvpx/vp8/decoder/arm/neon/idct_blk_neon.c ('k') | source/libvpx/vp8/decoder/arm/neon/idct_dequant_dc_0_2x_neon.asm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698