summaryrefslogtreecommitdiff
path: root/libavcodec/aarch64
diff options
context:
space:
mode:
authorLynne <dev@lynne.ee>2022-10-30 11:14:15 +0100
committerLynne <dev@lynne.ee>2022-11-06 14:39:36 +0100
commite0661fc805a30b7c5cef682f179d113ac1934f9f (patch)
tree84a40cd5b4f47825a12744a0505404656de377e5 /libavcodec/aarch64
parent2689038f08f5c4d0f1c7ae467feafda6704cfe54 (diff)
dca_core: convert to lavu/tx
Thanks to Martin Storsjö <martin@martin.st> for fixing and testing the arm32 and aarch64 changes.
Diffstat (limited to 'libavcodec/aarch64')
-rw-r--r--libavcodec/aarch64/synth_filter_init.c6
-rw-r--r--libavcodec/aarch64/synth_filter_neon.S3
2 files changed, 5 insertions, 4 deletions
diff --git a/libavcodec/aarch64/synth_filter_init.c b/libavcodec/aarch64/synth_filter_init.c
index 767b01112a..801b46e217 100644
--- a/libavcodec/aarch64/synth_filter_init.c
+++ b/libavcodec/aarch64/synth_filter_init.c
@@ -32,11 +32,11 @@
AV_CHECK_OFFSET(FFTContext, imdct_half, IMDCT_HALF);
#endif
-void ff_synth_filter_float_neon(FFTContext *imdct,
+void ff_synth_filter_float_neon(AVTXContext *imdct,
float *synth_buf_ptr, int *synth_buf_offset,
float synth_buf2[32], const float window[512],
- float out[32], const float in[32],
- float scale);
+ float out[32], float in[32],
+ float scale, av_tx_fn imdct_fn);
av_cold void ff_synth_filter_init_aarch64(SynthFilterContext *s)
{
diff --git a/libavcodec/aarch64/synth_filter_neon.S b/libavcodec/aarch64/synth_filter_neon.S
index 4f8494ce30..259fa6e66c 100644
--- a/libavcodec/aarch64/synth_filter_neon.S
+++ b/libavcodec/aarch64/synth_filter_neon.S
@@ -43,8 +43,8 @@
.endm
function ff_synth_filter_float_neon, export=1
+ mov x9, x7 // imdct_fn parameter
ldr w7, [x2] // *synth_buf_offset
- ldr x9, [x0, #IMDCT_HALF] // imdct_half function pointer
sxtw x7, w7
stp x3, x4, [sp, #-64]!
add x1, x1, x7, lsl #2 // synth_buf
@@ -58,6 +58,7 @@ function ff_synth_filter_float_neon, export=1
str s0, [sp, #48]
mov x2, x6 // in
+ mov x3, #4 // sizeof(float)
blr x9