/[packages]/cauldron/xbmc/current/SOURCES/0103-Drop-neon-patch-that-doesn-t-apply-anymore.patch
ViewVC logotype

Contents of /cauldron/xbmc/current/SOURCES/0103-Drop-neon-patch-that-doesn-t-apply-anymore.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 269300 - (show annotations) (download)
Tue Jul 10 19:13:54 2012 UTC (11 years, 9 months ago) by anssi
File size: 11534 byte(s)
- fix missing include in wiiremote eventclient
  (wiiremote-missing-include.patch)
- backport FFmpeg support patches to allow build with cauldron ffmpeg
  (patches 101..145)

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

  ViewVC Help
Powered by ViewVC 1.1.30