Mercurial > libavcodec.hg
comparison arm/h264idct_neon.S @ 12493:8e7fd2d2193f libavcodec
ARM: fix NEON h264_idct_add8
author | mru |
---|---|
date | Tue, 14 Sep 2010 17:11:51 +0000 |
parents | ba14e3adeccd |
children |
comparison
equal
deleted
inserted
replaced
12492:58a960d6e34c | 12493:8e7fd2d2193f |
---|---|
148 add r5, r1, #16*4 | 148 add r5, r1, #16*4 |
149 add r1, r2, #16*32 | 149 add r1, r2, #16*32 |
150 mov r2, r3 | 150 mov r2, r3 |
151 ldr r6, [sp, #32] | 151 ldr r6, [sp, #32] |
152 movrel r7, scan8+16 | 152 movrel r7, scan8+16 |
153 mov ip, #8 | 153 mov ip, #7 |
154 1: ldrb r8, [r7], #1 | 154 1: ldrb r8, [r7], #1 |
155 ldr r0, [r5], #4 | 155 ldr r0, [r5], #4 |
156 ldrb r8, [r6, r8] | 156 ldrb r8, [r6, r8] |
157 tst ip, #4 | 157 tst ip, #4 |
158 addeq r0, r0, r4 | 158 addne r0, r0, r4 |
159 addne r0, r0, r9 | 159 addeq r0, r0, r9 |
160 cmp r8, #0 | 160 cmp r8, #0 |
161 ldrsh r8, [r1] | 161 ldrsh r8, [r1] |
162 adrne lr, ff_h264_idct_add_neon | 162 adrne lr, ff_h264_idct_add_neon |
163 adreq lr, ff_h264_idct_dc_add_neon | 163 adreq lr, ff_h264_idct_dc_add_neon |
164 cmpeq r8, #0 | 164 cmpeq r8, #0 |
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 bge 1b |
169 pop {r4-r10,pc} | 169 pop {r4-r10,pc} |
170 endfunc | 170 endfunc |
171 | 171 |
172 .macro idct8x8_cols pass | 172 .macro idct8x8_cols pass |
173 .if \pass == 0 | 173 .if \pass == 0 |