summaryrefslogtreecommitdiff
path: root/libavcodec/aarch64/fft_neon.S
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2014-11-12 00:00:04 +0200
committerMartin Storsjö <martin@martin.st>2014-11-16 01:07:24 +0200
commitc00365b46d464ce47716315c1801818d811bdb9a (patch)
treeabe8ffe616ad3eb4478fff59322546a35c4a692f /libavcodec/aarch64/fft_neon.S
parent2fa6d21124bd2fc0b186290f5313179263bfcfb7 (diff)
aarch64: Make the function pointer tables position independent
This allows running the code on android, where 64 bit binaries with text relocations aren't allowed to be loaded. Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavcodec/aarch64/fft_neon.S')
-rw-r--r--libavcodec/aarch64/fft_neon.S33
1 files changed, 17 insertions, 16 deletions
diff --git a/libavcodec/aarch64/fft_neon.S b/libavcodec/aarch64/fft_neon.S
index 5f88beda91..ae9e1c6503 100644
--- a/libavcodec/aarch64/fft_neon.S
+++ b/libavcodec/aarch64/fft_neon.S
@@ -376,7 +376,8 @@ function ff_fft_calc_neon, export=1
ld1 {v30.16b}, [x10]
mov x7, #-8
movrel x12, pmmp
- ldr x3, [x3, x2, lsl #3]
+ ldr x4, [x3, x2, lsl #3]
+ add x3, x3, x4
movrel x13, mppm
movrel x14, X(ff_cos_16)
ld1 {v31.16b}, [x11]
@@ -416,21 +417,21 @@ function ff_fft_permute_neon, export=1
endfunc
const fft_tab_neon
- .quad fft4_neon
- .quad fft8_neon
- .quad fft16_neon
- .quad fft32_neon
- .quad fft64_neon
- .quad fft128_neon
- .quad fft256_neon
- .quad fft512_neon
- .quad fft1024_neon
- .quad fft2048_neon
- .quad fft4096_neon
- .quad fft8192_neon
- .quad fft16384_neon
- .quad fft32768_neon
- .quad fft65536_neon
+ .quad fft4_neon - fft_tab_neon
+ .quad fft8_neon - fft_tab_neon
+ .quad fft16_neon - fft_tab_neon
+ .quad fft32_neon - fft_tab_neon
+ .quad fft64_neon - fft_tab_neon
+ .quad fft128_neon - fft_tab_neon
+ .quad fft256_neon - fft_tab_neon
+ .quad fft512_neon - fft_tab_neon
+ .quad fft1024_neon - fft_tab_neon
+ .quad fft2048_neon - fft_tab_neon
+ .quad fft4096_neon - fft_tab_neon
+ .quad fft8192_neon - fft_tab_neon
+ .quad fft16384_neon - fft_tab_neon
+ .quad fft32768_neon - fft_tab_neon
+ .quad fft65536_neon - fft_tab_neon
endconst
const pmmp, align=4