mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2025-02-17 03:18:39 +00:00
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 718c8f9aa59751bb490e2688acf2b5cb68fd5ad1 on the 32 bit arm version of the function, fixing fate-checkasm-sw_scale there. Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
1187cbf0ff
commit
70b14cc8d6
@ -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) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user