1 |
From 065925f7363a38ebeaa25b492e4e6c35b0d52393 Mon Sep 17 00:00:00 2001 |
2 |
From: elupus <elupus@xbmc.org> |
3 |
Date: Thu, 29 Mar 2012 21:11:18 +0200 |
4 |
Subject: [PATCH 103/145] Drop neon patch that doesn't apply anymore (cherry |
5 |
picked from commit |
6 |
2d8334be4f7112d543630af00c53f8052fcfbc12) |
7 |
|
8 |
--- |
9 |
.../patches/0057-Fixes-neon-usage-under-iOS5.patch | 307 -------------------- |
10 |
1 file changed, 307 deletions(-) |
11 |
delete mode 100644 lib/ffmpeg/patches/0057-Fixes-neon-usage-under-iOS5.patch |
12 |
|
13 |
diff --git a/lib/ffmpeg/patches/0057-Fixes-neon-usage-under-iOS5.patch b/lib/ffmpeg/patches/0057-Fixes-neon-usage-under-iOS5.patch |
14 |
deleted file mode 100644 |
15 |
index 7b55691..0000000 |
16 |
--- a/lib/ffmpeg/patches/0057-Fixes-neon-usage-under-iOS5.patch |
17 |
+++ /dev/null |
18 |
@@ -1,307 +0,0 @@ |
19 |
-diff --git a/lib/ffmpeg/libavcodec/arm/fft_neon.S b/lib/ffmpeg/libavcodec/arm/fft_neon.S |
20 |
-index 1db7abd..6390065 100644 |
21 |
---- a/lib/ffmpeg/libavcodec/arm/fft_neon.S |
22 |
-+++ b/lib/ffmpeg/libavcodec/arm/fft_neon.S |
23 |
-@@ -101,8 +101,12 @@ function fft8_neon |
24 |
- bx lr |
25 |
- endfunc |
26 |
- |
27 |
-+ .align 4 |
28 |
-+pmmp: .float +1.0, -1.0, -1.0, +1.0 |
29 |
-+mppm: .float -M_SQRT1_2, M_SQRT1_2, M_SQRT1_2, -M_SQRT1_2 |
30 |
-+ |
31 |
- function fft16_neon |
32 |
-- movrel r1, mppm |
33 |
-+ adr r1, mppm |
34 |
- vld1.32 {d16-d19}, [r0,:128]! @ q8{r0,i0,r1,i1} q9{r2,i2,r3,i3} |
35 |
- pld [r0, #32] |
36 |
- vld1.32 {d2-d3}, [r1,:128] |
37 |
-@@ -144,12 +148,16 @@ function fft16_neon |
38 |
- vswp d29, d30 @ q14{r12,i12,i14,r15} q15{r13,i13,i15,r14} |
39 |
- vadd.f32 q0, q12, q13 @ {t1,t2,t5,t6} |
40 |
- vadd.f32 q1, q14, q15 @ {t1a,t2a,t5a,t6a} |
41 |
-- movrel r2, X(ff_cos_16) |
42 |
-+ ldr r2, _neon_label |
43 |
-+ ldr r3, L$diff1 |
44 |
-+ add r2, r3 |
45 |
-+local_label1: |
46 |
-+ ldr r2, [pc, r2] |
47 |
- vsub.f32 q13, q12, q13 @ {t3,t4,t7,t8} |
48 |
- vrev64.32 d1, d1 |
49 |
- vsub.f32 q15, q14, q15 @ {t3a,t4a,t7a,t8a} |
50 |
- vrev64.32 d3, d3 |
51 |
-- movrel r3, pmmp |
52 |
-+ adr r3, pmmp |
53 |
- vswp d1, d26 @ q0{t1,t2,t3,t4} q13{t6,t5,t7,t8} |
54 |
- vswp d3, d30 @ q1{t1a,t2a,t3a,t4a} q15{t6a,t5a,t7a,t8a} |
55 |
- vadd.f32 q12, q0, q13 @ {r8,i8,r9,i9} |
56 |
-@@ -214,7 +222,7 @@ function fft_pass_neon |
57 |
- add r2, r2, r0 @ &z[o2] |
58 |
- add r3, r3, r0 @ &z[o3] |
59 |
- vld1.32 {d20-d21},[r2,:128] @ {z[o2],z[o2+1]} |
60 |
-- movrel r12, pmmp |
61 |
-+ adr r12, pmmp |
62 |
- vld1.32 {d22-d23},[r3,:128] @ {z[o3],z[o3+1]} |
63 |
- add r5, r5, r1 @ wim |
64 |
- vld1.32 {d6-d7}, [r12,:128] @ pmmp |
65 |
-@@ -279,6 +287,11 @@ function fft_pass_neon |
66 |
- pop {r4-r6,pc} |
67 |
- endfunc |
68 |
- |
69 |
-+.set L$offs16, 0 |
70 |
-+.macro setTabOffs n, n2 |
71 |
-+.set L$offs\n, L$offs\n2 + 4 |
72 |
-+.endm |
73 |
-+ |
74 |
- .macro def_fft n, n2, n4 |
75 |
- .align 6 |
76 |
- function fft\n\()_neon |
77 |
-@@ -291,10 +304,15 @@ function fft\n\()_neon |
78 |
- bl fft\n4\()_neon |
79 |
- mov r0, r4 |
80 |
- pop {r4, lr} |
81 |
-- movrel r1, X(ff_cos_\n) |
82 |
-+ ldr r1, _neon_label |
83 |
-+ add r1, #L$diff\n |
84 |
-+local_label\n: |
85 |
-+ ldr r1, [pc, r1] |
86 |
- mov r2, #\n4/2 |
87 |
- b fft_pass_neon |
88 |
- endfunc |
89 |
-+setTabOffs \n, \n2 |
90 |
-+.set L$diff\n, _neon_label - local_label\n + L$offs\n - 8 |
91 |
- .endm |
92 |
- |
93 |
- def_fft 32, 16, 8 |
94 |
-@@ -310,10 +328,14 @@ endfunc |
95 |
- def_fft 32768, 16384, 8192 |
96 |
- def_fft 65536, 32768, 16384 |
97 |
- |
98 |
-+.set L$diffTab, fft_tab_neon_offs - local_label_tab - 8 |
99 |
- function ff_fft_calc_neon, export=1 |
100 |
- ldr r2, [r0] |
101 |
- sub r2, r2, #2 |
102 |
-- movrel r3, fft_tab_neon |
103 |
-+ ldr r3, fft_tab_neon_offs |
104 |
-+ add r3, #L$diffTab |
105 |
-+local_label_tab: |
106 |
-+ add r3, pc |
107 |
- ldr r3, [r3, r2, lsl #2] |
108 |
- mov r0, r1 |
109 |
- bx r3 |
110 |
-@@ -349,9 +371,22 @@ function ff_fft_permute_neon, export=1 |
111 |
- pop {r4,pc} |
112 |
- endfunc |
113 |
- |
114 |
-- .section .rodata |
115 |
-+ |
116 |
-+.global _neon_label |
117 |
-+_neon_label: |
118 |
-+.word _neon_cos_tab - . |
119 |
-+ |
120 |
-+L$diff1: |
121 |
-+.word _neon_label - local_label1 - 8 |
122 |
-+ |
123 |
-+fft_tab_neon_offs: |
124 |
-+.word _fft_tab_neon - . |
125 |
-+ |
126 |
-+ |
127 |
-+.section .rodata |
128 |
-+ |
129 |
- .align 4 |
130 |
--fft_tab_neon: |
131 |
-+_fft_tab_neon: |
132 |
- .word fft4_neon |
133 |
- .word fft8_neon |
134 |
- .word fft16_neon |
135 |
-@@ -367,8 +402,20 @@ fft_tab_neon: |
136 |
- .word fft16384_neon |
137 |
- .word fft32768_neon |
138 |
- .word fft65536_neon |
139 |
--ELF .size fft_tab_neon, . - fft_tab_neon |
140 |
-- |
141 |
-- .align 4 |
142 |
--pmmp: .float +1.0, -1.0, -1.0, +1.0 |
143 |
--mppm: .float -M_SQRT1_2, M_SQRT1_2, M_SQRT1_2, -M_SQRT1_2 |
144 |
-+ELF .size _fft_tab_neon, . - _fft_tab_neon |
145 |
-+ |
146 |
-+ .align 4 |
147 |
-+_neon_cos_tab: |
148 |
-+ .word X(ff_cos_16) |
149 |
-+ .word X(ff_cos_32) |
150 |
-+ .word X(ff_cos_64) |
151 |
-+ .word X(ff_cos_128) |
152 |
-+ .word X(ff_cos_256) |
153 |
-+ .word X(ff_cos_512) |
154 |
-+ .word X(ff_cos_1024) |
155 |
-+ .word X(ff_cos_2048) |
156 |
-+ .word X(ff_cos_4096) |
157 |
-+ .word X(ff_cos_8192) |
158 |
-+ .word X(ff_cos_16384) |
159 |
-+ .word X(ff_cos_32768) |
160 |
-+ .word X(ff_cos_65536) |
161 |
-diff --git a/lib/ffmpeg/libavcodec/arm/h264idct_neon.S b/lib/ffmpeg/libavcodec/arm/h264idct_neon.S |
162 |
-index 6b6a669..8111975 100644 |
163 |
---- a/lib/ffmpeg/libavcodec/arm/h264idct_neon.S |
164 |
-+++ b/lib/ffmpeg/libavcodec/arm/h264idct_neon.S |
165 |
-@@ -97,7 +97,7 @@ function ff_h264_idct_add16_neon, export=1 |
166 |
- mov r1, r2 |
167 |
- mov r2, r3 |
168 |
- ldr r6, [sp, #24] |
169 |
-- movrel r7, scan8 |
170 |
-+ adr r7, scan8 |
171 |
- mov ip, #16 |
172 |
- 1: ldrb r8, [r7], #1 |
173 |
- ldr r0, [r5], #4 |
174 |
-@@ -117,6 +117,16 @@ function ff_h264_idct_add16_neon, export=1 |
175 |
- pop {r4-r8,pc} |
176 |
- endfunc |
177 |
- |
178 |
-+ .align |
179 |
-+scan8: .byte 4+1*8, 5+1*8, 4+2*8, 5+2*8 |
180 |
-+ .byte 6+1*8, 7+1*8, 6+2*8, 7+2*8 |
181 |
-+ .byte 4+3*8, 5+3*8, 4+4*8, 5+4*8 |
182 |
-+ .byte 6+3*8, 7+3*8, 6+4*8, 7+4*8 |
183 |
-+ .byte 1+1*8, 2+1*8 |
184 |
-+ .byte 1+2*8, 2+2*8 |
185 |
-+ .byte 1+4*8, 2+4*8 |
186 |
-+ .byte 1+5*8, 2+5*8 |
187 |
-+ |
188 |
- function ff_h264_idct_add16intra_neon, export=1 |
189 |
- push {r4-r8,lr} |
190 |
- mov r4, r0 |
191 |
-@@ -124,7 +134,7 @@ function ff_h264_idct_add16intra_neon, export=1 |
192 |
- mov r1, r2 |
193 |
- mov r2, r3 |
194 |
- ldr r6, [sp, #24] |
195 |
-- movrel r7, scan8 |
196 |
-+ adr r7, scan8 |
197 |
- mov ip, #16 |
198 |
- 1: ldrb r8, [r7], #1 |
199 |
- ldr r0, [r5], #4 |
200 |
-@@ -149,7 +159,7 @@ function ff_h264_idct_add8_neon, export=1 |
201 |
- add r1, r2, #16*32 |
202 |
- mov r2, r3 |
203 |
- ldr r6, [sp, #32] |
204 |
-- movrel r7, scan8+16 |
205 |
-+ adr r7, scan8+16 |
206 |
- mov ip, #7 |
207 |
- 1: ldrb r8, [r7], #1 |
208 |
- ldr r0, [r5], #4 |
209 |
-@@ -353,7 +363,7 @@ function ff_h264_idct8_add4_neon, export=1 |
210 |
- mov r1, r2 |
211 |
- mov r2, r3 |
212 |
- ldr r6, [sp, #24] |
213 |
-- movrel r7, scan8 |
214 |
-+ adr r7, scan8 |
215 |
- mov r12, #16 |
216 |
- 1: ldrb r8, [r7], #4 |
217 |
- ldr r0, [r5], #16 |
218 |
-@@ -372,13 +382,3 @@ function ff_h264_idct8_add4_neon, export=1 |
219 |
- bne 1b |
220 |
- pop {r4-r8,pc} |
221 |
- endfunc |
222 |
-- |
223 |
-- .section .rodata |
224 |
--scan8: .byte 4+1*8, 5+1*8, 4+2*8, 5+2*8 |
225 |
-- .byte 6+1*8, 7+1*8, 6+2*8, 7+2*8 |
226 |
-- .byte 4+3*8, 5+3*8, 4+4*8, 5+4*8 |
227 |
-- .byte 6+3*8, 7+3*8, 6+4*8, 7+4*8 |
228 |
-- .byte 1+1*8, 2+1*8 |
229 |
-- .byte 1+2*8, 2+2*8 |
230 |
-- .byte 1+4*8, 2+4*8 |
231 |
-- .byte 1+5*8, 2+5*8 |
232 |
-diff --git a/lib/ffmpeg/libavcodec/arm/h264pred_neon.S b/lib/ffmpeg/libavcodec/arm/h264pred_neon.S |
233 |
-index 63c96ee..357c10a 100644 |
234 |
---- a/lib/ffmpeg/libavcodec/arm/h264pred_neon.S |
235 |
-+++ b/lib/ffmpeg/libavcodec/arm/h264pred_neon.S |
236 |
-@@ -123,7 +123,7 @@ function ff_pred16x16_plane_neon, export=1 |
237 |
- vaddl.u8 q8, d2, d3 |
238 |
- vsubl.u8 q2, d2, d0 |
239 |
- vsubl.u8 q3, d3, d1 |
240 |
-- movrel r3, p16weight |
241 |
-+ adr r3, p16weight |
242 |
- vld1.8 {q0}, [r3,:128] |
243 |
- vmul.s16 q2, q2, q0 |
244 |
- vmul.s16 q3, q3, q0 |
245 |
-@@ -166,7 +166,6 @@ function ff_pred16x16_plane_neon, export=1 |
246 |
- bx lr |
247 |
- endfunc |
248 |
- |
249 |
-- .section .rodata |
250 |
- .align 4 |
251 |
- p16weight: |
252 |
- .short 1,2,3,4,5,6,7,8 |
253 |
-@@ -207,7 +206,7 @@ function ff_pred8x8_plane_neon, export=1 |
254 |
- vrev32.8 d0, d0 |
255 |
- vtrn.32 d2, d3 |
256 |
- vsubl.u8 q2, d2, d0 |
257 |
-- movrel r3, p16weight |
258 |
-+ adr r3, p16weight |
259 |
- vld1.16 {q0}, [r3,:128] |
260 |
- vmul.s16 d4, d4, d0 |
261 |
- vmul.s16 d5, d5, d0 |
262 |
-diff --git a/lib/ffmpeg/libavcodec/arm/simple_idct_neon.S b/lib/ffmpeg/libavcodec/arm/simple_idct_neon.S |
263 |
-index 17cde58..e61414e 100644 |
264 |
---- a/lib/ffmpeg/libavcodec/arm/simple_idct_neon.S |
265 |
-+++ b/lib/ffmpeg/libavcodec/arm/simple_idct_neon.S |
266 |
-@@ -239,7 +239,6 @@ function idct_col4_st8_neon |
267 |
- bx lr |
268 |
- endfunc |
269 |
- |
270 |
-- .section .rodata |
271 |
- .align 4 |
272 |
- idct_coeff_neon: |
273 |
- .short W1, W2, W3, W4, W5, W6, W7, W4c |
274 |
-@@ -249,7 +248,7 @@ idct_coeff_neon: |
275 |
- pld [\data] |
276 |
- pld [\data, #64] |
277 |
- vpush {d8-d15} |
278 |
-- movrel r3, idct_coeff_neon |
279 |
-+ adr r3, idct_coeff_neon |
280 |
- vld1.64 {d0,d1}, [r3,:128] |
281 |
- .endm |
282 |
- |
283 |
-diff --git a/lib/ffmpeg/libavcodec/arm/vp3dsp_neon.S b/lib/ffmpeg/libavcodec/arm/vp3dsp_neon.S |
284 |
-index d97ed3d..74bf7ba 100644 |
285 |
---- a/lib/ffmpeg/libavcodec/arm/vp3dsp_neon.S |
286 |
-+++ b/lib/ffmpeg/libavcodec/arm/vp3dsp_neon.S |
287 |
-@@ -20,12 +20,9 @@ |
288 |
- |
289 |
- #include "asm.S" |
290 |
- |
291 |
--.section .rodata |
292 |
-+.text |
293 |
- .align 4 |
294 |
- |
295 |
--vp3_idct_constants: |
296 |
--.short 64277, 60547, 54491, 46341, 36410, 25080, 12785 |
297 |
-- |
298 |
- #define xC1S7 d0[0] |
299 |
- #define xC2S6 d0[1] |
300 |
- #define xC3S5 d0[2] |
301 |
-@@ -34,8 +31,6 @@ vp3_idct_constants: |
302 |
- #define xC6S2 d1[1] |
303 |
- #define xC7S1 d1[2] |
304 |
- |
305 |
--.text |
306 |
-- |
307 |
- .macro vp3_loop_filter |
308 |
- vsubl.u8 q3, d18, d17 |
309 |
- vsubl.u8 q2, d16, d19 |
310 |
-@@ -109,10 +104,14 @@ function ff_vp3_h_loop_filter_neon, export=1 |
311 |
- bx lr |
312 |
- endfunc |
313 |
- |
314 |
-+.align 4 |
315 |
-+vp3_idct_constants: |
316 |
-+.short 64277, 60547, 54491, 46341, 36410, 25080, 12785 |
317 |
-+.align 4 |
318 |
- |
319 |
- function vp3_idct_start_neon |
320 |
- vpush {d8-d15} |
321 |
-- movrel r3, vp3_idct_constants |
322 |
-+ adr r3, vp3_idct_constants |
323 |
- vld1.64 {d0-d1}, [r3,:128] |
324 |
- vld1.64 {d16-d19}, [r2,:128]! |
325 |
- vld1.64 {d20-d23}, [r2,:128]! |
326 |
-- |
327 |
1.7.10 |
328 |
|