diff options
author | Janne Grunau <janne-libav@jannau.net> | 2015-12-01 13:37:41 +0100 |
---|---|---|
committer | Janne Grunau <janne-libav@jannau.net> | 2015-12-14 16:45:01 +0100 |
commit | 705f5e5e155f6f280a360af220fc5b30cfcee702 (patch) | |
tree | 0ae61550e51a1843de9ee7fb40e3143bd361e4ad /libavcodec/synth_filter.c | |
parent | c33c1fa8af2b2e82418a06901b6ad17b3d61b73e (diff) |
arm64: port synth_filter_float_neon from arm
~25% faster dts decoding overall. The checkasm CPU cycles numbers are
not that useful since synth_filter_float() calls FFTContext.imdct_half().
cortex-a57 cortex-a53
synth_filter_float_c: 1866.2 3490.9
synth_filter_float_neon: 915.0 1531.5
With fftc.imdct_half forced to imdct_half_neon:
cortex-a57 cortex-a53
synth_filter_float_c: 1718.4 3025.3
synth_filter_float_neon: 926.2 1530.1
Diffstat (limited to 'libavcodec/synth_filter.c')
-rw-r--r-- | libavcodec/synth_filter.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libavcodec/synth_filter.c b/libavcodec/synth_filter.c index d0ace4040e..708bd4e00c 100644 --- a/libavcodec/synth_filter.c +++ b/libavcodec/synth_filter.c @@ -60,6 +60,10 @@ av_cold void ff_synth_filter_init(SynthFilterContext *c) { c->synth_filter_float = synth_filter_float; - if (ARCH_ARM) ff_synth_filter_init_arm(c); - if (ARCH_X86) ff_synth_filter_init_x86(c); + if (ARCH_AARCH64) + ff_synth_filter_init_aarch64(c); + if (ARCH_ARM) + ff_synth_filter_init_arm(c); + if (ARCH_X86) + ff_synth_filter_init_x86(c); } |