Allow non-uniform above array in d45 predictor Neon impl
authorGeorge Steed <george.steed@arm.com>
Fri, 17 Mar 2023 17:59:26 +0000 (17:59 +0000)
committerGeorge Steed <george.steed@arm.com>
Tue, 28 Mar 2023 13:27:11 +0000 (13:27 +0000)
commit3eb3781589d30874634cab8952dec4ea883eb82a
tree3d10ed954685cb51fafbad858aa07b125ef13785
parent25825f6a78a267f99c4c6ba7988fc4d79c8cb19d
Allow non-uniform above array in d45 predictor Neon impl

The existing implementation doesn't appear to manifest as a failure in
any of the predictor or MD5 tests, but it does rely on the predictor
tests filling the second `bs` elements of the `above` input array with
copies of `above[bs - 1]` in order to match the C implementation.

This patch adjusts the Neon implementation to correctly match the C
implementation in the case where the elements of the `above` array all
differ.

Performance of the predictor is mostly unchanged, except for the 32x32
block size where it appears to have gotten about 40% faster when
compiled with clang-15.

Bug: webm:1797
Change-Id: Iaad58e77c5467307a3c80d6989b7cf2988e09311
vpx_dsp/arm/intrapred_neon.c