Files
FFmpeg/libavfilter/aarch64
DROOdotFOO ff22978529 avfilter/aarch64: NEON threshold filter
depth==8 routes to threshold8_neon (16 bytes/chunk); depth > 8 to
threshold16_neon (8 shorts/chunk, covering 9/10/12/14/16). C is not
auto-vectorized: four independent input streams defeat clang's
vectorizer. Per chunk the NEON kernel is cmhs+bsl.

checkasm --bench, Apple M1 (clang), speedup vs C:

threshold8    15.0x
threshold10    8.1x
threshold12    8.2x
threshold16    8.2x

Signed-off-by: DROOdotFOO <drew@axol.io>
2026-11-04 20:14:23 +00:00
..