mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
bd83191271
This patch implements ff_hscale_8_to_15_neon with NEON fused multiply accumulate and bumps the vectorization factor from 2 to 4. The speedup is of 25% on Graviton1 A1 instances based on A-72 cpus: $ ffmpeg -nostats -f lavfi -i testsrc2=4k:d=2 -vf bench=start,scale=1024x1024,bench=stop -f null - before: t:0.040303 avg:0.040287 max:0.040371 min:0.039214 after: t:0.032168 avg:0.032215 max:0.033081 min:0.032146 The speedup is of 39% on Graviton2 m6g instances based on Neoverse-N1 cpus: $ ffmpeg -nostats -f lavfi -i testsrc2=4k:d=2 -vf bench=start,scale=1024x1024,bench=stop -f null - before: t:0.019446 avg:0.019423 max:0.019493 min:0.019181 after: t:0.014015 avg:0.014096 max:0.015018 min:0.013971 Tested with `make check` on aarch64-linux. Signed-off-by: Sebastian Pop <spop@amazon.com> Reviewed-by: Jean-Baptiste Kempf <jb@videolan.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> |
||
---|---|---|
.. | ||
aarch64 | ||
arm | ||
ppc | ||
tests | ||
x86 | ||
alphablend.c | ||
bayer_template.c | ||
gamma.c | ||
hscale_fast_bilinear.c | ||
hscale.c | ||
input.c | ||
libswscale.v | ||
log2_tab.c | ||
Makefile | ||
options.c | ||
output.c | ||
rgb2rgb_template.c | ||
rgb2rgb.c | ||
rgb2rgb.h | ||
slice.c | ||
swscale_internal.h | ||
swscale_unscaled.c | ||
swscale.c | ||
swscale.h | ||
swscaleres.rc | ||
utils.c | ||
version.h | ||
vscale.c | ||
yuv2rgb.c |