diff --git a/libswscale/arm/swscale.c b/libswscale/arm/swscale.c index 1ec360fe24..7b8fbcbc79 100644 --- a/libswscale/arm/swscale.c +++ b/libswscale/arm/swscale.c @@ -34,7 +34,10 @@ av_cold void ff_sws_init_swscale_arm(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) {