comparison arm/h264idct_neon.S @ 10618:9cea4112ffaf libavcodec

ARM: small tweak of NEON H264 IDCT
author mru
date Wed, 02 Dec 2009 00:37:39 +0000
parents be725249ea67
children 361a5fcb4393
comparison
equal deleted inserted replaced
10617:5506cbb012b4 10618:9cea4112ffaf
22 22
23 preserve8 23 preserve8
24 .text 24 .text
25 25
26 function ff_h264_idct_add_neon, export=1 26 function ff_h264_idct_add_neon, export=1
27 mov r3, #(1<<5)
28 vmov.i16 d16, #0
29 vmov.16 d16[0], r3
30 vld1.64 {d0-d3}, [r1,:128] 27 vld1.64 {d0-d3}, [r1,:128]
31 vadd.i16 d0, d0, d16
32 28
33 vswp d1, d2 29 vswp d1, d2
34 vadd.i16 d4, d0, d1 30 vadd.i16 d4, d0, d1
35 vshr.s16 q8, q1, #1 31 vshr.s16 q8, q1, #1
36 vsub.i16 d5, d0, d1 32 vsub.i16 d5, d0, d1
56 vsub.i16 d7, d2, d17 52 vsub.i16 d7, d2, d17
57 sub r0, r0, r2, lsl #2 53 sub r0, r0, r2, lsl #2
58 vadd.i16 q0, q2, q3 54 vadd.i16 q0, q2, q3
59 vsub.i16 q1, q2, q3 55 vsub.i16 q1, q2, q3
60 56
61 vshr.s16 q0, q0, #6 57 vrshr.s16 q0, q0, #6
62 vshr.s16 q1, q1, #6 58 vrshr.s16 q1, q1, #6
63 59
64 vaddw.u8 q0, q0, d18 60 vaddw.u8 q0, q0, d18
65 vaddw.u8 q1, q1, d19 61 vaddw.u8 q1, q1, d19
66 62
67 vqmovun.s16 d0, q0 63 vqmovun.s16 d0, q0