Mercurial > libavcodec.hg
comparison arm/h264idct_neon.S @ 11443:361a5fcb4393 libavcodec
ARM: set size of asm functions in object files
author | mru |
---|---|
date | Tue, 09 Mar 2010 16:17:56 +0000 |
parents | 9cea4112ffaf |
children | ba14e3adeccd |
comparison
equal
deleted
inserted
replaced
11442:fe32d9ba1c86 | 11443:361a5fcb4393 |
---|---|
67 vst1.32 {d1[1]}, [r0,:32], r2 | 67 vst1.32 {d1[1]}, [r0,:32], r2 |
68 vst1.32 {d0[1]}, [r0,:32], r2 | 68 vst1.32 {d0[1]}, [r0,:32], r2 |
69 vst1.32 {d1[0]}, [r0,:32], r2 | 69 vst1.32 {d1[0]}, [r0,:32], r2 |
70 | 70 |
71 bx lr | 71 bx lr |
72 .endfunc | 72 endfunc |
73 | 73 |
74 function ff_h264_idct_dc_add_neon, export=1 | 74 function ff_h264_idct_dc_add_neon, export=1 |
75 vld1.16 {d2[],d3[]}, [r1,:16] | 75 vld1.16 {d2[],d3[]}, [r1,:16] |
76 vrshr.s16 q1, q1, #6 | 76 vrshr.s16 q1, q1, #6 |
77 vld1.32 {d0[0]}, [r0,:32], r2 | 77 vld1.32 {d0[0]}, [r0,:32], r2 |
86 vst1.32 {d0[0]}, [r0,:32], r2 | 86 vst1.32 {d0[0]}, [r0,:32], r2 |
87 vst1.32 {d0[1]}, [r0,:32], r2 | 87 vst1.32 {d0[1]}, [r0,:32], r2 |
88 vst1.32 {d1[0]}, [r0,:32], r2 | 88 vst1.32 {d1[0]}, [r0,:32], r2 |
89 vst1.32 {d1[1]}, [r0,:32], r2 | 89 vst1.32 {d1[1]}, [r0,:32], r2 |
90 bx lr | 90 bx lr |
91 .endfunc | 91 endfunc |
92 | 92 |
93 function ff_h264_idct_add16_neon, export=1 | 93 function ff_h264_idct_add16_neon, export=1 |
94 push {r4-r8,lr} | 94 push {r4-r8,lr} |
95 mov r4, r0 | 95 mov r4, r0 |
96 mov r5, r1 | 96 mov r5, r1 |
113 blx lr | 113 blx lr |
114 2: subs ip, ip, #1 | 114 2: subs ip, ip, #1 |
115 add r1, r1, #32 | 115 add r1, r1, #32 |
116 bne 1b | 116 bne 1b |
117 pop {r4-r8,pc} | 117 pop {r4-r8,pc} |
118 .endfunc | 118 endfunc |
119 | 119 |
120 function ff_h264_idct_add16intra_neon, export=1 | 120 function ff_h264_idct_add16intra_neon, export=1 |
121 push {r4-r8,lr} | 121 push {r4-r8,lr} |
122 mov r4, r0 | 122 mov r4, r0 |
123 mov r5, r1 | 123 mov r5, r1 |
138 blxne lr | 138 blxne lr |
139 subs ip, ip, #1 | 139 subs ip, ip, #1 |
140 add r1, r1, #32 | 140 add r1, r1, #32 |
141 bne 1b | 141 bne 1b |
142 pop {r4-r8,pc} | 142 pop {r4-r8,pc} |
143 .endfunc | 143 endfunc |
144 | 144 |
145 function ff_h264_idct_add8_neon, export=1 | 145 function ff_h264_idct_add8_neon, export=1 |
146 push {r4-r10,lr} | 146 push {r4-r10,lr} |
147 ldm r0, {r4,r9} | 147 ldm r0, {r4,r9} |
148 add r5, r1, #16*4 | 148 add r5, r1, #16*4 |
165 blxne lr | 165 blxne lr |
166 subs ip, ip, #1 | 166 subs ip, ip, #1 |
167 add r1, r1, #32 | 167 add r1, r1, #32 |
168 bne 1b | 168 bne 1b |
169 pop {r4-r10,pc} | 169 pop {r4-r10,pc} |
170 .endfunc | 170 endfunc |
171 | 171 |
172 .section .rodata | 172 .section .rodata |
173 scan8: .byte 4+1*8, 5+1*8, 4+2*8, 5+2*8 | 173 scan8: .byte 4+1*8, 5+1*8, 4+2*8, 5+2*8 |
174 .byte 6+1*8, 7+1*8, 6+2*8, 7+2*8 | 174 .byte 6+1*8, 7+1*8, 6+2*8, 7+2*8 |
175 .byte 4+3*8, 5+3*8, 4+4*8, 5+4*8 | 175 .byte 4+3*8, 5+3*8, 4+4*8, 5+4*8 |