Commit 70b14cc8 authored by Josh de Kock's avatar Josh de Kock Committed by Martin Storsjö

swscale: arm: fix NEON hscale init

The NEON hscale function only supports X8 filter sizes and should only
be selected when these are being used. At the moment filterAlign is
set to 8 but in the future when extra NEON assembly for specific sizes is
added they will need to have checks here too.

The immediate usecase for this change is making the hscale checkasm
test easier and without NEON specific edge-cases (x86 already has these
guards).

This applies the same fix from 718c8f9a
on the 32 bit arm version of the function, fixing fate-checkasm-sw_scale
there.
Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
parent 1187cbf0
...@@ -34,7 +34,10 @@ av_cold void ff_sws_init_swscale_arm(SwsContext *c) ...@@ -34,7 +34,10 @@ av_cold void ff_sws_init_swscale_arm(SwsContext *c)
int cpu_flags = av_get_cpu_flags(); int cpu_flags = av_get_cpu_flags();
if (have_neon(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; c->hyScale = c->hcScale = ff_hscale_8_to_15_neon;
} }
if (c->dstBpc == 8) { if (c->dstBpc == 8) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment