X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libswscale%2Faarch64%2Fswscale.c;h=09d0a7130e03ead435be49062dc9299d25b6c1e2;hb=4be1714b12b6c311a99a64888ea5f279c3ed9885;hp=54a3beabe856e91fb61d8164f08ba4914325a87e;hpb=d6b62ce1aced9e2456582870382f384581cc7cbb;p=ffmpeg diff --git a/libswscale/aarch64/swscale.c b/libswscale/aarch64/swscale.c index 54a3beabe85..09d0a7130e0 100644 --- a/libswscale/aarch64/swscale.c +++ b/libswscale/aarch64/swscale.c @@ -17,6 +17,7 @@ */ #include "config.h" +#include "libavutil/attributes.h" #include "libswscale/swscale.h" #include "libswscale/swscale_internal.h" #include "libavutil/aarch64/cpu.h" @@ -34,7 +35,10 @@ av_cold void ff_sws_init_swscale_aarch64(SwsContext *c) int cpu_flags = av_get_cpu_flags(); if (have_neon(cpu_flags)) { - if (c->srcBpc == 8 && c->dstBpc <= 14) { + if (c->srcBpc == 8 && c->dstBpc <= 14 && + (c->hLumFilterSize % 8) == 0 && + (c->hChrFilterSize % 8) == 0) + { c->hyScale = c->hcScale = ff_hscale_8_to_15_neon; } if (c->dstBpc == 8) {