[x264-devel] aarch64: cabac_encode_{decision,bypass,terminal}_asm
Janne Grunau
git at videolan.org
Sat Dec 20 21:10:49 CET 2014
x264 | branch: master | Janne Grunau <janne-x264 at jannau.net> | Wed Nov 19 00:33:55 2014 +0100| [59b9c252cfa6242c7fa6424a463e51913996fe6a] | committer: Anton Mitrofanov
aarch64: cabac_encode_{decision,bypass,terminal}_asm
benchmarks on a Nexus 9 (nvidia denver):
101.3 cycles in x264_cabac_encode_decision_c, 67105369 runs, 3495 skips
97.3 cycles in x264_cabac_encode_decision_asm, 67105493 runs, 3371 skips
132.8 cycles in x264_cabac_encode_terminal_c, 1046950 runs, 1626 skips
116.1 cycles in x264_cabac_encode_terminal_asm, 1048424 runs, 152 skips
92.4 cycles in x264_cabac_encode_bypass_c, 16776192 runs, 1024 skips
89.6 cycles in x264_cabac_encode_bypass_asm, 16776453 runs, 763 skips
Cycle counts are not as stable as one would like. The dynamic code
optimisation seems to produce different results for small chnages in a
binary. Repeated runs with the same binary produce stable results
though (ignoring the first run).
> http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=59b9c252cfa6242c7fa6424a463e51913996fe6a
---
Makefile | 4 +-
common/aarch64/asm-offsets.c | 42 +++++++++++++++
common/aarch64/asm-offsets.h | 39 ++++++++++++++
common/aarch64/cabac-a.S | 122 ++++++++++++++++++++++++++++++++++++++++++
common/cabac.h | 4 ++
tools/checkasm.c | 2 +
6 files changed, 212 insertions(+), 1 deletion(-)
Diff: http://git.videolan.org/gitweb.cgi/x264.git/?a=commitdiff;h=59b9c252cfa6242c7fa6424a463e51913996fe6a
More information about the x264-devel
mailing list