arm64: port synth_filter_float_neon from arm
authorJanne Grunau <janne-libav@jannau.net>
Tue, 1 Dec 2015 12:37:41 +0000 (13:37 +0100)
committerJanne Grunau <janne-libav@jannau.net>
Mon, 14 Dec 2015 15:45:01 +0000 (16:45 +0100)
commit705f5e5e155f6f280a360af220fc5b30cfcee702
tree0ae61550e51a1843de9ee7fb40e3143bd361e4ad
parentc33c1fa8af2b2e82418a06901b6ad17b3d61b73e
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
libavcodec/aarch64/Makefile
libavcodec/aarch64/asm-offsets.h
libavcodec/aarch64/dcadsp_init.c
libavcodec/aarch64/synth_filter_neon.S [new file with mode: 0644]
libavcodec/synth_filter.c
libavcodec/synth_filter.h