diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-11-16 00:52:31 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-11-16 01:05:31 +0100 |
commit | f3cba01ccefebd23c1f095170f7726896e3974a6 (patch) | |
tree | d3da5951d740715fc02a639bc89f9158bfa1e0a6 /libavcodec/aarch64 | |
parent | 77204f7366d4d3db9ce4a9384092dab82fd74ac8 (diff) | |
parent | c00365b46d464ce47716315c1801818d811bdb9a (diff) | |
download | ffmpeg-streaming-f3cba01ccefebd23c1f095170f7726896e3974a6.zip ffmpeg-streaming-f3cba01ccefebd23c1f095170f7726896e3974a6.tar.gz |
Merge commit 'c00365b46d464ce47716315c1801818d811bdb9a'
* commit 'c00365b46d464ce47716315c1801818d811bdb9a':
aarch64: Make the function pointer tables position independent
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/aarch64')
-rw-r--r-- | libavcodec/aarch64/fft_neon.S | 33 | ||||
-rw-r--r-- | libavcodec/aarch64/opus_imdct_neon.S | 18 |
2 files changed, 26 insertions, 25 deletions
diff --git a/libavcodec/aarch64/fft_neon.S b/libavcodec/aarch64/fft_neon.S index 54c13a4..30f24dd 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 diff --git a/libavcodec/aarch64/opus_imdct_neon.S b/libavcodec/aarch64/opus_imdct_neon.S index 6234309..c242261 100644 --- a/libavcodec/aarch64/opus_imdct_neon.S +++ b/libavcodec/aarch64/opus_imdct_neon.S @@ -438,8 +438,8 @@ function fft_b15_calc_neon uzp1 v12.4s, v4.4s, v5.4s // exp[11 - 14].re uzp2 v13.4s, v4.4s, v5.4s // exp[11 - 14].im zip1 v14.4s, v6.4s, v7.4s // exp[5,10].re/exp[5,10].im - add x5, x5, x3, lsl #3 - ldr x5, [x5] + ldr x6, [x5, x3, lsl #3] + add x5, x5, x6 mov x10, x0 blr x5 ldp x20, x30, [sp] @@ -452,13 +452,13 @@ function fft_b15_calc_neon endfunc const fft_tab_neon - .quad fft15_neon - .quad fft30_neon - .quad fft60_neon - .quad fft120_neon - .quad fft240_neon - .quad fft480_neon - .quad fft960_neon + .quad fft15_neon - fft_tab_neon + .quad fft30_neon - fft_tab_neon + .quad fft60_neon - fft_tab_neon + .quad fft120_neon - fft_tab_neon + .quad fft240_neon - fft_tab_neon + .quad fft480_neon - fft_tab_neon + .quad fft960_neon - fft_tab_neon endconst function ff_celt_imdct_half_neon, export=1 |