Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Add AArch64 ARM Neon code (complements #1823) #1881
Pull request #1823 added AArch32 ARM Neon versions of the Blend() and Delta() functions, which are used by zoneminder's motion detection.
In AArch64 mode, Neon is a mandatory feature of ARMv8-A CPUs, so no compiler flags are needed and no runtime detection is is needed. Neon is assumed to be always available.
Odroid C2 with ARM Cortex A53 processor @ 1.5 GHz:
Scaleway ARM64-2GB instance with 2 cores of Cavium ThunderX processor:
It seems the ThunderX loves Neon, or isn't as memory bound as the Cortex A53 is.
The CPU reduction should be between 20-50%. Perhaps in the future i will work on creating ARM Neon version of AlarmedPixels, which is currently the biggest CPU consumer in zma.