ports/graphics/ffmpeg/patches/patch-libavcodec_aarch64_fft_neon_S

44 lines
1.4 KiB
Text

Index: libavcodec/aarch64/fft_neon.S
--- libavcodec/aarch64/fft_neon.S.orig
+++ libavcodec/aarch64/fft_neon.S
@@ -36,6 +36,7 @@
function fft4_neon
+ AARCH64_VALID_JUMP_TARGET
ld1 {v0.2s,v1.2s,v2.2s,v3.2s}, [x0]
fadd v4.2s, v0.2s, v1.2s // r0+r1,i0+i1
@@ -58,6 +59,7 @@ function fft4_neon
endfunc
function fft8_neon
+ AARCH64_VALID_JUMP_TARGET
mov x1, x0
ld1 {v0.2s, v1.2s, v2.2s, v3.2s}, [x0], #32
ld1 {v16.2s,v17.2s,v18.2s,v19.2s}, [x0]
@@ -108,6 +110,7 @@ function fft8_neon
endfunc
function fft16_neon
+ AARCH64_VALID_JUMP_TARGET
mov x1, x0
ld1 {v0.2s, v1.2s, v2.2s, v3.2s}, [x0], #32
ld1 {v16.2s,v17.2s,v18.2s,v19.2s}, [x0], #32
@@ -337,6 +340,8 @@ endfunc
.macro def_fft n, n2, n4
function fft\n\()_neon, align=6
+ AARCH64_VALID_JUMP_TARGET
+ AARCH64_SIGN_LINK_REGISTER
sub sp, sp, #16
stp x28, x30, [sp]
add x28, x0, #\n4*2*8
@@ -347,6 +352,7 @@ function fft\n\()_neon, align=6
bl fft\n4\()_neon
sub x0, x28, #\n4*2*8
ldp x28, x30, [sp], #16
+ AARCH64_VALIDATE_LINK_REGISTER
movrel x4, X(ff_cos_\n)
mov x2, #\n4>>1
b fft_pass_neon