annotate arm/h264idct_neon.S @ 8507:779a9c93bf61 libavcodec

ARM: work around linker bug with movw/movt relocations in shared libs
author mru
date Tue, 30 Dec 2008 03:13:52 +0000
parents 0ca0e3c98ed5
children be725249ea67
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8339
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
1 /*
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
2 * Copyright (c) 2008 Mans Rullgard <mans@mansr.com>
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
3 *
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
4 * This file is part of FFmpeg.
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
5 *
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
6 * FFmpeg is free software; you can redistribute it and/or
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
7 * modify it under the terms of the GNU Lesser General Public
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
8 * License as published by the Free Software Foundation; either
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
9 * version 2.1 of the License, or (at your option) any later version.
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
10 *
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
11 * FFmpeg is distributed in the hope that it will be useful,
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
14 * Lesser General Public License for more details.
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
15 *
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
16 * You should have received a copy of the GNU Lesser General Public
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
17 * License along with FFmpeg; if not, write to the Free Software
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
19 */
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
20
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
21 #include "asm.S"
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
22
8462
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
23 preserve8
8339
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
24 .fpu neon
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
25
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
26 .text
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
27
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
28 function ff_h264_idct_add_neon, export=1
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
29 mov r3, #(1<<5)
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
30 vmov.i16 d16, #0
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
31 vmov.16 d16[0], r3
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
32 vld1.64 {d0-d3}, [r1,:128]
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
33 vadd.i16 d0, d0, d16
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
34
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
35 vswp d1, d2
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
36 vadd.i16 d4, d0, d1
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
37 vshr.s16 q8, q1, #1
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
38 vsub.i16 d5, d0, d1
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
39 vadd.i16 d6, d2, d17
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
40 vsub.i16 d7, d16, d3
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
41 vadd.i16 q0, q2, q3
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
42 vsub.i16 q1, q2, q3
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
43
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
44 vtrn.16 d0, d1
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
45 vtrn.16 d3, d2
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
46 vtrn.32 d0, d3
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
47 vtrn.32 d1, d2
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
48
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
49 vadd.i16 d4, d0, d3
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
50 vld1.32 {d18[0]}, [r0,:32], r2
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
51 vswp d1, d3
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
52 vshr.s16 q8, q1, #1
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
53 vld1.32 {d19[1]}, [r0,:32], r2
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
54 vsub.i16 d5, d0, d1
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
55 vld1.32 {d18[1]}, [r0,:32], r2
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
56 vadd.i16 d6, d16, d3
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
57 vld1.32 {d19[0]}, [r0,:32], r2
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
58 vsub.i16 d7, d2, d17
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
59 sub r0, r0, r2, lsl #2
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
60 vadd.i16 q0, q2, q3
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
61 vsub.i16 q1, q2, q3
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
62
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
63 vshr.s16 q0, q0, #6
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
64 vshr.s16 q1, q1, #6
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
65
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
66 vaddw.u8 q0, q0, d18
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
67 vaddw.u8 q1, q1, d19
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
68
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
69 vqmovun.s16 d0, q0
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
70 vqmovun.s16 d1, q1
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
71
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
72 vst1.32 {d0[0]}, [r0,:32], r2
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
73 vst1.32 {d1[1]}, [r0,:32], r2
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
74 vst1.32 {d0[1]}, [r0,:32], r2
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
75 vst1.32 {d1[0]}, [r0,:32], r2
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
76
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
77 bx lr
a561ec6d1bf6 ARM: NEON optimised h264_idct_add
mru
parents:
diff changeset
78 .endfunc
8340
834a77844ba3 ARM: NEON optimised h264_idct_dc_add
mru
parents: 8339
diff changeset
79
834a77844ba3 ARM: NEON optimised h264_idct_dc_add
mru
parents: 8339
diff changeset
80 function ff_h264_idct_dc_add_neon, export=1
834a77844ba3 ARM: NEON optimised h264_idct_dc_add
mru
parents: 8339
diff changeset
81 vld1.16 {d2[],d3[]}, [r1,:16]
834a77844ba3 ARM: NEON optimised h264_idct_dc_add
mru
parents: 8339
diff changeset
82 vrshr.s16 q1, q1, #6
834a77844ba3 ARM: NEON optimised h264_idct_dc_add
mru
parents: 8339
diff changeset
83 vld1.32 {d0[0]}, [r0,:32], r2
834a77844ba3 ARM: NEON optimised h264_idct_dc_add
mru
parents: 8339
diff changeset
84 vld1.32 {d0[1]}, [r0,:32], r2
834a77844ba3 ARM: NEON optimised h264_idct_dc_add
mru
parents: 8339
diff changeset
85 vaddw.u8 q2, q1, d0
834a77844ba3 ARM: NEON optimised h264_idct_dc_add
mru
parents: 8339
diff changeset
86 vld1.32 {d1[0]}, [r0,:32], r2
834a77844ba3 ARM: NEON optimised h264_idct_dc_add
mru
parents: 8339
diff changeset
87 vld1.32 {d1[1]}, [r0,:32], r2
834a77844ba3 ARM: NEON optimised h264_idct_dc_add
mru
parents: 8339
diff changeset
88 vaddw.u8 q1, q1, d1
834a77844ba3 ARM: NEON optimised h264_idct_dc_add
mru
parents: 8339
diff changeset
89 vqmovun.s16 d0, q2
834a77844ba3 ARM: NEON optimised h264_idct_dc_add
mru
parents: 8339
diff changeset
90 vqmovun.s16 d1, q1
834a77844ba3 ARM: NEON optimised h264_idct_dc_add
mru
parents: 8339
diff changeset
91 sub r0, r0, r2, lsl #2
834a77844ba3 ARM: NEON optimised h264_idct_dc_add
mru
parents: 8339
diff changeset
92 vst1.32 {d0[0]}, [r0,:32], r2
834a77844ba3 ARM: NEON optimised h264_idct_dc_add
mru
parents: 8339
diff changeset
93 vst1.32 {d0[1]}, [r0,:32], r2
834a77844ba3 ARM: NEON optimised h264_idct_dc_add
mru
parents: 8339
diff changeset
94 vst1.32 {d1[0]}, [r0,:32], r2
834a77844ba3 ARM: NEON optimised h264_idct_dc_add
mru
parents: 8339
diff changeset
95 vst1.32 {d1[1]}, [r0,:32], r2
834a77844ba3 ARM: NEON optimised h264_idct_dc_add
mru
parents: 8339
diff changeset
96 bx lr
834a77844ba3 ARM: NEON optimised h264_idct_dc_add
mru
parents: 8339
diff changeset
97 .endfunc
8462
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
98
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
99 function ff_h264_idct_add16_neon, export=1
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
100 push {r4-r8,lr}
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
101 mov r4, r0
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
102 mov r5, r1
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
103 mov r1, r2
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
104 mov r2, r3
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
105 ldr r6, [sp, #24]
8507
779a9c93bf61 ARM: work around linker bug with movw/movt relocations in shared libs
mru
parents: 8462
diff changeset
106 movrel r7, scan8
8462
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
107 mov ip, #16
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
108 1: ldrb r8, [r7], #1
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
109 ldr r0, [r5], #4
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
110 ldrb r8, [r6, r8]
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
111 subs r8, r8, #1
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
112 blt 2f
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
113 ldrsh lr, [r1]
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
114 add r0, r0, r4
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
115 movne lr, #0
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
116 cmp lr, #0
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
117 adrne lr, ff_h264_idct_dc_add_neon
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
118 adreq lr, ff_h264_idct_add_neon
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
119 blx lr
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
120 2: subs ip, ip, #1
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
121 add r1, r1, #32
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
122 bne 1b
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
123 pop {r4-r8,pc}
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
124 .endfunc
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
125
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
126 function ff_h264_idct_add16intra_neon, export=1
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
127 push {r4-r8,lr}
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
128 mov r4, r0
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
129 mov r5, r1
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
130 mov r1, r2
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
131 mov r2, r3
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
132 ldr r6, [sp, #24]
8507
779a9c93bf61 ARM: work around linker bug with movw/movt relocations in shared libs
mru
parents: 8462
diff changeset
133 movrel r7, scan8
8462
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
134 mov ip, #16
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
135 1: ldrb r8, [r7], #1
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
136 ldr r0, [r5], #4
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
137 ldrb r8, [r6, r8]
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
138 add r0, r0, r4
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
139 cmp r8, #0
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
140 ldrsh r8, [r1]
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
141 adrne lr, ff_h264_idct_add_neon
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
142 adreq lr, ff_h264_idct_dc_add_neon
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
143 cmpeq r8, #0
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
144 blxne lr
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
145 subs ip, ip, #1
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
146 add r1, r1, #32
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
147 bne 1b
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
148 pop {r4-r8,pc}
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
149 .endfunc
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
150
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
151 function ff_h264_idct_add8_neon, export=1
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
152 push {r4-r10,lr}
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
153 ldm r0, {r4,r9}
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
154 add r5, r1, #16*4
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
155 add r1, r2, #16*32
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
156 mov r2, r3
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
157 ldr r6, [sp, #32]
8507
779a9c93bf61 ARM: work around linker bug with movw/movt relocations in shared libs
mru
parents: 8462
diff changeset
158 movrel r7, scan8+16
8462
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
159 mov ip, #8
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
160 1: ldrb r8, [r7], #1
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
161 ldr r0, [r5], #4
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
162 ldrb r8, [r6, r8]
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
163 tst ip, #4
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
164 addeq r0, r0, r4
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
165 addne r0, r0, r9
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
166 cmp r8, #0
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
167 ldrsh r8, [r1]
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
168 adrne lr, ff_h264_idct_add_neon
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
169 adreq lr, ff_h264_idct_dc_add_neon
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
170 cmpeq r8, #0
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
171 blxne lr
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
172 subs ip, ip, #1
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
173 add r1, r1, #32
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
174 bne 1b
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
175 pop {r4-r10,pc}
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
176 .endfunc
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
177
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
178 .section .rodata
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
179 scan8: .byte 4+1*8, 5+1*8, 4+2*8, 5+2*8
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
180 .byte 6+1*8, 7+1*8, 6+2*8, 7+2*8
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
181 .byte 4+3*8, 5+3*8, 4+4*8, 5+4*8
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
182 .byte 6+3*8, 7+3*8, 6+4*8, 7+4*8
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
183 .byte 1+1*8, 2+1*8
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
184 .byte 1+2*8, 2+2*8
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
185 .byte 1+4*8, 2+4*8
0ca0e3c98ed5 ARM: add new h264 idct functions
mru
parents: 8359
diff changeset
186 .byte 1+5*8, 2+5*8