aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2014-11-16 12:46:51 +0200
committerMartin Storsjö <martin@martin.st>2014-12-08 12:29:53 +0200
commitb280c6202b28b371a8d96850194fd69d7ad5dcc0 (patch)
tree3795e1285954f8a618310cb37c6cd67e8d1dbaea
parentae81576414f2d2083d3118fb4abe1ebc5a7a4c54 (diff)
downloadffmpeg-b280c6202b28b371a8d96850194fd69d7ad5dcc0.tar.gz
arm: fft_vfp: Unify the behaviour in ff_fft_calc_vfp between arm/thumb
Don't include the function pointer table in the code segment in arm mode. This shouldn't have any significant performance effect. It does end up as a few more instructions than before, for ARM, but only at the entry to this function, not within the fft functions themselves. Signed-off-by: Martin Storsjö <martin@martin.st>
-rw-r--r--libavcodec/arm/fft_vfp.S15
1 files changed, 5 insertions, 10 deletions
diff --git a/libavcodec/arm/fft_vfp.S b/libavcodec/arm/fft_vfp.S
index 91b833bdca..9c7b54e79e 100644
--- a/libavcodec/arm/fft_vfp.S
+++ b/libavcodec/arm/fft_vfp.S
@@ -30,14 +30,10 @@
function ff_fft_calc_vfp, export=1
ldr ip, [a1, #0] @ nbits
mov a1, a2
-A ldr pc, [pc, ip, lsl #2]
-A .word 0
-A .word 0
-A .word 0
-T movrel a2, (fft_tab_vfp - 8)
-T ldr pc, [a2, ip, lsl #2]
-T endfunc
-T const fft_tab_vfp
+ movrel a2, (fft_tab_vfp - 8)
+ ldr pc, [a2, ip, lsl #2]
+endfunc
+const fft_tab_vfp
.word fft4_vfp
.word fft8_vfp
.word X(ff_fft16_vfp) @ this one alone is exported
@@ -53,8 +49,7 @@ T const fft_tab_vfp
.word fft16384_vfp
.word fft32768_vfp
.word fft65536_vfp
-A endfunc
-T endconst
+endconst
function fft4_vfp
vldr d0, [a1, #0*2*4] @ s0,s1 = z[0]