diff options
author | Swinney, Jonathan <jswinney@amazon.com> | 2022-06-26 20:58:09 +0000 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2022-06-28 00:51:39 +0300 |
commit | c471cc74747461ca166559c7b7fdfe030c3e3712 (patch) | |
tree | 488413070f1b5f7010aa751e64747f1ac416c721 /libavcodec/me_cmp.h | |
parent | 20e2aa940cd521bb3b1395e7c7a28cc34059abee (diff) |
lavc/aarch64: motion estimation functions in neon
- ff_pix_abs16_neon
- ff_pix_abs16_xy2_neon
In direct micro benchmarks of these ff functions verses their C implementations,
these functions performed as follows on AWS Graviton 3.
ff_pix_abs16_neon:
pix_abs_0_0_c: 141.1
pix_abs_0_0_neon: 19.6
ff_pix_abs16_xy2_neon:
pix_abs_0_3_c: 269.1
pix_abs_0_3_neon: 39.3
Tested with:
./tests/checkasm/checkasm --test=motion --bench --disable-linux-perf
Signed-off-by: Jonathan Swinney <jswinney@amazon.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavcodec/me_cmp.h')
-rw-r--r-- | libavcodec/me_cmp.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libavcodec/me_cmp.h b/libavcodec/me_cmp.h index e9b5161c9a..7b057a923b 100644 --- a/libavcodec/me_cmp.h +++ b/libavcodec/me_cmp.h @@ -80,6 +80,7 @@ typedef struct MECmpContext { } MECmpContext; void ff_me_cmp_init(MECmpContext *c, AVCodecContext *avctx); +void ff_me_cmp_init_aarch64(MECmpContext *c, AVCodecContext *avctx); void ff_me_cmp_init_alpha(MECmpContext *c, AVCodecContext *avctx); void ff_me_cmp_init_arm(MECmpContext *c, AVCodecContext *avctx); void ff_me_cmp_init_ppc(MECmpContext *c, AVCodecContext *avctx); |