Use run-time feature detection for Neon DotProd variance
authorJonathan Wright <jonathan.wright@arm.com>
Sat, 19 Aug 2023 22:09:07 +0000 (23:09 +0100)
committerJonathan Wright <jonathan.wright@arm.com>
Sun, 3 Sep 2023 22:04:49 +0000 (23:04 +0100)
commitad4f28abaa7ba1ab0482ab8e844d98845961be63
tree3d4c771cd593dd39048f2f05a36d69e7b084e048
parent7009fe55a9a7aed3a3504c09c677de0326c8207b
Use run-time feature detection for Neon DotProd variance

Arm Neon DotProd implementations of vpx_variance<w>x<h> currently
need to be enabled at compile time since they're guarded by #ifdef
feature macros. Now that run-time feature detection has been enabled
for Arm platforms, expose these implementations with distinct
*neon_dotprod names in a separate file and wire them up to the build
system and rtcd.pl. Also add new test cases for the new functions.

Remove the _neon suffix in functions making reference to
vpx_variance<w>x<h>_neon() (e.g. sub-pixel variance) - enabling use
of the appropriate *neon or *neon_dotprod version at run time.

Similar changes for the specialty variance and MSE functions will be
made in a subsequent commit.

Change-Id: I69a0ef0d622ecb2d15bd90b4ace53273a32ed22d
test/variance_test.cc
vpx_dsp/arm/subpel_variance_neon.c
vpx_dsp/arm/variance_neon.c
vpx_dsp/arm/variance_neon_dotprod.c [new file with mode: 0644]
vpx_dsp/vpx_dsp.mk
vpx_dsp/vpx_dsp_rtcd_defs.pl